Java基础之——字母大小写转换

本文介绍了一个简单的Java程序,用于接收用户输入的单个字母并将其大小写进行转换。该程序利用了ASCII码值的特性来实现大小写的互换,并通过控制台与用户交互。

案例:

  要求从控制台接收用户输入的一个字母,如果这个字母是小写,转换为大写;如果这个字母是大写,转换为小写;只能输入字母,如果是其他值,提示数据有误!


实现代码:

import java.util.Scanner;

/**
 * 常见字母大小写转换
 * 原理:
 *     字符char采用的是Unicode编码的16位字符类型,其表示范围是0-65536。标准的8位ASCII字符集是Unicode
 *     的子集,其取值范围为0-127。大小写字母之间正好相差32
 * @author Administration
 *
 */
public class WordChange {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入您需要转换的字母:");
        char c = input.next().charAt(0);
        change(c);
    }

    private static void change(char c) {
        //如果输入的是大写,+32即可得到小写
        if(c>='A' && c<='Z'){
            c+=32;
            System.out.println("您输入的大写字母"+(char)(c-32)+"被转换成了"+c);
        }else if(c>='a' && c<='z'){    //如果输入的是小写,-32即可得大小写
            c-=32;
            System.out.println("您输入的小写字母"+(char)(c+32)+"被转换成了"+c);
        }else{
            System.out.println("输入的字符有误!!");
        }
    }
}

原理分析:

  字符char采用的是Unicode编码的16位字符类型,其表示范围是0-65536。标准的8位ASCII字符集是Unicode 的子集,其取值范围为0-127。大小写字母之间正好相差32

### Java中实现字符串字母大小写转换Java中可以使用内置的方法来轻松完成字符串中小写字母大写以及大写字母转小写的操作。对于给定的任务——即接收一个以`#`作为结尾标志的字符串输入,并将该串中的所有小写字母变为大写大写字母则改为小写,可以通过遍历整个字符串并对每一个字符应用条件判断来进行处理。 下面是一个具体的解决方案: ```java import java.util.Scanner; public class CaseConverter { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一串以'#'结束的文字:"); String inputLine = ""; while (true){ inputLine += scanner.nextLine(); if(inputLine.endsWith("#")) break; } StringBuilder resultBuilder = new StringBuilder(); for (char c : inputLine.toCharArray()) { if (Character.isLowerCase(c)) { resultBuilder.append(Character.toUpperCase(c)); } else if (Character.isUpperCase(c)){ resultBuilder.append(Character.toLowerCase(c)); } else{ resultBuilder.append(c); } } // 输出最终的结果, 去除最后的# System.out.println(resultBuilder.toString().replaceAll("#$", "")); } } ``` 这段代码首先读取用户输入直到遇到终止符`#`为止[^1]。接着创建了一个`StringBuilder`对象用于构建新的字符串,在循环过程中逐个检查每个字符是否为小写或大写,并相应地改变它们的情况。如果既不是小也不是大写的ASCII字母,则保持原样不变。最后打印出修改后的字符串,同时移除了可能存在的末尾标记符号`#`[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值