黑马程序员技术交流社区
标题:
关于java的自动类型提升没搞懂,求大神解答。
[打印本页]
作者:
君嘘
时间:
2015-4-20 22:41
标题:
关于java的自动类型提升没搞懂,求大神解答。
先给大家看个概念:
• 表达式的 数据类型自动提升:
• • 所有的byte型、short型和char的值将被提升到int型。
比如:
char a='a';
char b='b';
char ch;
①ch=a+1;//编译失败,因为a会自动提升为int类型,运算结果为int。编译器提示可能会有损失
②ch='a'+1; //编译通过,为什么?
③ch=a+b;//编译失败,同①
④ch='a'+'b';//编译通过,为什么?
发现:
当表达式中没有指定类型的变量(比如int x=4;指定x为int类型)参与运算时,java虚拟机不会报错。
为什么?
作者:
fantacyleo
时间:
2015-4-20 22:49
http://bbs.itheima.com/thread-127149-1-1.html
作者:
君嘘
时间:
2015-4-21 00:02
fantacyleo 发表于 2015-4-20 22:49
http://bbs.itheima.com/thread-127149-1-1.html
谢谢啦 你也回答了我的好多问题了:lol终于弄懂了
我自己猜的也挺准的哈,当右边没有指定类型的变量参与运算的时候,java会有默认的强转。
原来这叫做常量表达式。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2