检查 "int" 类型的 "boolean" 结果。
- 论坛
- 检查 "int" 类型的 "boolean" 结果。
24 浏览
检查 "int" 类型的 "boolean" 结果。
我正在学习Java,之前用的是C语言,我发现了两种语言中boolean
类型的一个有趣的区别。在C语言中,没有bool
/ean
类型,所以我们需要使用数值类型来表示布尔逻辑(0 == false
)。
我猜在Java中这样是不起作用的:
int i = 1; if (i) System.out.println("i is true");
通过类型转换来改变条件也不起作用:
if ((boolean)i)
除了像这样做:
if ( i != 0 )
还有其他方法可以在int
类型上进行类似C语言的逻辑检查吗?只是想知道是否有任何Java的技巧可以在非布尔类型上进行布尔逻辑操作。
编辑:
上面的例子非常简单,只适用于狭隘的思维范围。当我最初提问时,我还在考虑函数调用的非布尔返回值。例如Linux的fork()
调用。它并不直接返回一个int
,但我可以将数值返回值用于条件判断,如下所示:
if( fork() ) { // 执行子代码
这使得我可以在条件中处理子进程的代码,而不对父进程进行处理(或在返回结果为负时处理错误)。
所以我对Java的了解还不够,无法给出一个好的“Java”示例,但这是我最初的意图。