LoginSignup
0
1

More than 5 years have passed since last update.

if文

Posted at

基本的な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の値が入る。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1