私は C から来た Java を学んでおり、言語とboolean
型の興味深い違いを見つけました。C にはbool
/がないean
ため、数値型を使用してブール論理 ( ) を表す必要があります0 == false
。
Javaではうまくいかないと思います:
int i = 1;
if (i)
System.out.println("i is true");
型キャストを介して条件を変更することもありません。
if ((boolean)i)
したがって、次のようなことを行う以外に:
if ( i != 0 )
型に対して C っぽいロジック チェックを行う他の方法はありますint
か? このような非ブール型でブール論理を可能にするJavaトリックがあったかどうか疑問に思っています。
編集:
上記の例は非常に単純化されており、狭い範囲の思考に陥っています。最初に質問したとき、関数呼び出しからのブール値以外の戻り値についても考えていました。たとえば、Linuxfork()
呼び出し。int
それ自体は返されませんが、次のように条件付きの数値の戻り値をうまく使用できます。
if( fork() ) {
// do child code
これにより、子の条件付きでコードを処理できますが、親の場合は処理しません (または、エラーに対して負の結果が返された場合)。
そのため、現時点では適切な「Java」の例を示すのに十分な Java の知識はありませんが、それが私の当初の意図でした。