java char大写_java中char类型大小写转换问题

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

绿茶2009

推荐于 2017.10.07

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:40%    等级:8

已帮助:212人

public class CharTest {

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

System.out.print("请输入字母:");

char c = in.next().charAt(0);

if (c >= 'A' && c <= 'Z') {

c += 32;

System.out.println("这里的大写" + (char) (c - 32) + "被转换成了" + c);

System.out.println("这里的大写" + (c - 32) + "被转换成了" + c);

} else if (c >= 'a' && c <= 'z') {

c -= 32;

System.out.println("这里的小写" + (char) (c + 32) + "被转换成了" + c);

System.out.println("这里的小写" + (c + 32) + "被转换成了" + c);

}

/*

* 首先,我加了两句,输出,楼主先运行看一下。然后我再解释。

* 这里涉及到三个知识第

* 1.字母有其对应的A码,

* 2.大小写相差32

* 3.自动数据类型转化。

*

* 上面例子如果不好理解的话,我们换一个,好理解的

* int a=2;

* double b=2.2;

* a+b最后的结果会是什么类型呢???????

* 显示会是double,为什么这样呢?我们说数据的处理,肯定要在同一个类型的时候才能处理,

* 所有不同数据类型处理时要通过自动或者强制转化,否则会报错。

* 这里是自动转化,自动转化有两个要求:

* 1.两种数据类型兼容

* 2.小的向大的转化。

* 所以这里int 转为double,最终结果是double

*

*

* 好了,现在来分析一下

* (char)(c-32)和(c-32)的区别

* 其实也就是c-32。

* 1.这里的首先char 和int 通过A码可以转换,所以兼容

* 2.int 比char 大。

* 所以计算的时候c先转为相应的A码,也就是整数,然后进行计算。计算后的结果必然是整数

* 如果你此时想得到char。就必须通过强制类型转化。所以要(char)

* */

}

}

总结一下: 通过转化后,因为参与 了+或者-32,所以最终的结果是以整数的形式出现的。

当然,如果你这样写的话,就另当别论了

再举例说明清楚

如果是这样的话

c+=32;

System.out.print(c);

输出的是字母

对比

System.out.pirnlnt(c+32);

输出的是数字??

为什么呢

因为c=c+32,c本身的数据类型是char 后面的结果计算后的时候会自动根据对应的A码转为对应的char

所以需要区别的是:

如果是赋值运算。运算后的右边的结果,会自动转型为左边的类型,如果不能转型会报异常。

如果是通过其他运算(比如四则运算),它会先把所有数据类型先转化为较大的数据类型,最终得到的结果也是较大的数据类型。

最后举例

int a=32;

char b='A';

char c='A';

b+=32;//赋值运算

//或者b='A'+32;

//如果是b=b+32;就会报错。因为后面进行了加法运算,结果需要用int来接收

//int d=b+32;这个就对了

System.out.println(b); //a

System.out.println(c+32);//97,其他运算

00分享举报

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值