注册 登录
编程论坛 JAVA论坛

Java里char与int之间的换算关系,萌新求助,如下题

i微尘 发布于 2020-03-26 17:43, 3713 次点击
        char sex='女';
        char ch2=(char)(sex+10);
        char ch3='女'+10;    //char ch3=sex+10 我想知道这里把字符'女'改为变量名sex,为什么会报错,sex='女'
        int ch4=sex+10;
        System.out.println(ch2);
        System.out.println(ch3);
        System.out.println(ch4);

哪位大佬能帮指点下迷津~
5 回复
#2
林月儿2020-03-26 18:34
女是字符还是字符串?
#3
i微尘2020-03-27 21:09
回复 2楼 林月儿
女  是字符
'女'+10  输出值为字符'好'
#4
i微尘2020-03-27 21:24
回复 2楼 林月儿
char sex='女';
char ch2=(char)(sex+10);
char ch3='女'+10;  //代码都是正常运行没有问题,我不理解的是把第三行代码中字符'女',用变量名sex来替换时,必须强制转换才可以?变量名sex='女',不就是代表着字符'女'嘛?
#5
w25895235722020-04-05 12:01
要强制转换,在前面加上(char)
#6
java_admin2020-04-08 11:40
char ch = '女' + 10;
这后面的 10 会自动类型转换变成 int ,所以会报错。错不在 ’女‘,而在那个 10 。
正确写法:
char ch = (char)('女' + 10);
1