Tag: logical operators

检查“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-ish逻辑检查? 只是想知道是否有任何Java技巧允许布尔逻辑在这样的非布尔类型上。 编辑: 上面的例子非常简单,并使自己适应狭隘的思维范围。 当我最初问这个问题时,我也在考虑函数调用的非布尔返回。 例如Linux fork()调用。 它本身不会返回一个int ,但我可以很好地使用条件的数字返回值,如: if( fork() ) { // do child code 这允许我处理子项的条件中的代码,而不是父项(或者出现错误的否定返回结果)。 所以我现在还不知道足够的Java给出一个好的“Java”示例,但那是我最初的意图。