A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

先给大家看个概念:
• 表达式的 数据类型自动提升:
• •  所有的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虚拟机不会报错。
        为什么?


                                                      

                    

2 个回复

倒序浏览
回复 使用道具 举报 1 0
fantacyleo 发表于 2015-4-20 22:49
http://bbs.itheima.com/thread-127149-1-1.html

谢谢啦  你也回答了我的好多问题了:lol终于弄懂了

我自己猜的也挺准的哈,当右边没有指定类型的变量参与运算的时候,java会有默认的强转。

原来这叫做常量表达式。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马