【发布时间】:2018-02-19 10:02:11
【问题描述】:
谁能解释一下为什么这段代码不能编译:
boolean r = (boolean) 0;
为什么会编译这个?
double z = (float) 2.0_0+0___2;
我看不懂浮点数后面的数字是用什么字母写的。
【问题讨论】:
-
1:Java 中没有从 int 到 boolean 的强制转换。 2:数字文字中的下划线被忽略。
-
小心以
0开头的数字,因为java 将这些数字作为八进制数处理。例如:int i = 010;System.out.println(i);将打印8。
标签: java casting compilation boolean expression