检查 "int" 类型的 "boolean" 结果。

24 浏览
0 Comments

检查 "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”示例,但这是我最初的意图。

0