基本的なif文
例(読み込んだ整数値が正か負か0か判断するプログラム)
filename.rb
import java.util.Scanner;
class Abc
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("整数値 ");
int n = stdIn.nextInt();
if (n > 0) {
System.out.println("その値は正です");
} else if (n < 0) {
System.out.println("その値は負です。");
} else {
System.out.println("その値は0です。");
}
}
}
このようにifの横に制御式を記述して、条件を設定する。
入力した整数値が「if」の条件に当てはまらなければ下の「else if」、どれにも当てはまらなければ「else」の文が表示されます。
論理積演算子と論理和演算子
例(読み込んだ整数値の桁数を判断するプログラム)
filename.java
if (n == 0) {
System.out.println("ゼロです。");
}
else if (n >= -9 && n <= 9) {
System.out.println("1桁です。");
}
else {
System.out.println("2桁以上です。");
}
「else if」の制御式の「&&」というものが論理積演算子。
この場合、nの値が-9以上かつ9以下であるときにelse ifの制御式が「true」となる。
filename.java
if (n <= -10 || n >= 10) {
System.out.println("2桁以上です。");
}
else {
System.out.println("2桁未満です。");
}
「if」の制御式の「||」というものが論理和演算子。
この場合、nの値が-10以下か10以上のときに「true」となる。
また、式全体の評価結果が、左オペランドの評価の結果のみで明確になる場合は、右オペランドの評価は行われない。
条件演算子
filename.java
int min = (a < b) ? a : b;
System.out.println("小さいほうの値は" + min + "です。");
このように「式1」?「式2」:「式3」となるものが条件演算子。
式1の評価が「true」の場合は式2を評価して、式1の評価が「false」であれば式3を評価する。
この場合、aがbより小さければ「min」にaの値が入り、aがbよりも大きければ「min」にbの値が入る。