检查“int”类型的“布尔”结果
2022-09-01 07:25:37
我正在学习Java,来自C,我发现语言与类型之间存在有趣的差异。在C中没有/,因此我们需要使用数值类型来表示布尔逻辑()。boolean
bool
ean
0 == false
我猜在Java中这不起作用:
int i = 1;
if (i)
System.out.println("i is true");
通过类型转换更改条件也不起作用:
if ((boolean)i)
因此,除了做这样的事情之外:
if ( i != 0 )
有没有其他方法可以对类型进行C-ish逻辑检查?只是想知道是否有任何Java技巧允许在像这样的非布尔类型上使用布尔逻辑。int
编辑:
上面的例子非常简单,并且屈服于狭隘的思维范围。当我最初提出这个问题时,我也在考虑函数调用的非布尔返回。例如,Linux 调用。它本身不返回,但我可以使用数字返回值作为条件,如:fork()
int
if( fork() ) {
// do child code
这允许我为子项处理条件代码,而对父项不这样做(或者在错误返回结果为负的情况下)。
因此,我目前还没有足够的Java知识来给出一个好的“Java”示例,但这是我的初衷。