为什么把ch++改成 ch=ch+1就会报错呢?
public class ConditionDemo { public static void main(String[] args) { char ch='a'; while(ch<'z'){ System.out.print(ch+" "); ch++; //ch=ch+1; } }
为什么把ch++改成 ch=ch+1就会报错呢?
62
收起
正在回答
2回答
1、在Java语法规则中,整形数据可以赋值给字符型变量,但是是有数据范围的,所以char ch=97是可以的。
2、当char a='a';a++;时,Java编译器会自动执行自动运算,其结果的类型仍然跟原变量类型相同,不会报错。
3、当char a='a';a=a+1;时,Java编译器解析的过程是,char型的a和int型的1相加,相加后的类型自动转换为int,所以当重新赋值给char型变量时就会报错,需要强制类型转换。
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星