Java 整数或浮点表达式x可以转换为布尔值
Java规范规定(§4.2.5): «整数或浮点表达式x可以转换为布尔值, 遵循任何非零值为真的C语言约定 表达式x=0.»Java 整数或浮点表达式x可以转换为布尔值,java,int,boolean,specifications,Java,Int,Boolean,Specifications,Java规范规定(§4.2.5): «整数或浮点表达式x可以转换为布尔值, 遵循任何非零值为真的C语言约定 表达式x=0.» 也许有人知道,它们的转换方式是什么意思?在纯C中,它可以在编译时解析为布尔值。 也就是说,它可以用作布尔值 int a = 1 int b = 0 if a: ... //This will run as it's true. if b: ... //This won't run as it's false 这是为那些熟悉C语言的Jav
也许有人知道,它们的转换方式是什么意思?在纯C中,它可以在编译时解析为布尔值。 也就是说,它可以用作布尔值
int a = 1
int b = 0
if a:
...
//This will run as it's true.
if b:
...
//This won't run as it's false
这是为那些熟悉C语言的Java人士准备的,它允许您编写如下代码:
int x = ...
if (x) {
... // Do something
}
上面,整数x
用于需要逻辑表达式的上下文中。C通过将x
与零进行比较,隐式地将其转换为布尔值。等效Java代码必须显式执行比较:
int x = ...
if (x != 0) {
... // Do something
}
他们的意思是,如果你有一个数字要用作布尔值,你必须写
x!=0
(或任何变量)。Java不会像C那样自动将数字视为布尔值。