黑马程序员技术交流社区

标题: 关于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