Skip to content

20260207_Javaでは整数を真偽値として扱えない

C言語などでは以下のように、整数を暗黙的に真偽値として使用できる。

  • 0:false
  • 0以外:true

しかし、Javaでは同じように扱えず、if文などbooleanが入るべき条件式に整数を設定するとコンパイルエラーとなる。例えば、以下のプログラムはコンパイルエラーとなる。

java
import java.util.*;

class Main{
  public static void main(String[] args){
    int n = 1;
    if(n){
      System.out.println("nは0ではない");
    }else{
      System.out.println("nは0");
    }
  }
}

// 実行結果
//
// Main.java:6: error: incompatible types: int cannot be converted to boolean
//     if(n){
//        ^
// 1 error