練習問題 解答

6.10 練習問題 解答

問1

① ○:if 文以外に switch 文もあります。
② ○:if 文、else if 文という構成だった場合、if 文に当てはまらない場合に限り else if の条件を確認します。
   if 文、if 文という構成だった場合、1 番目の if 文に当てはまるかどうかは関係なく 2 番目の条件を確認します。
③ ×:if と else ブロック内に if 文は使用できます。これを if 文のネストと呼びます。
④ ○
⑤ ×:条件分岐が行える文法には if 文の他に switch 文があります。

問2

① if(x <= 9)
② if(x > 10)
③ if(x == 5)
④ if(x >= 0)
⑤ if(x != 5)
⑥ if(x < -1)

問3

① 満たさない:x = -1 y = -2
② 満たさない:x = 2 y = 1
③ 満たさない:x = 1 y = 1
④ 満たす :x = 1 y = 2
xよりyが大きい値でないと条件は満たされないので、④のみが条件式を満たしています。

問4

① ×:10、30、50「より」小さいという条件式では、その数値が含まれないのでメッセージに合わない
② ×:9、29、49「以下」という条件式では、10、30、50 数値が含まれないのでメッセージに合わない
③ ○:11、31、51「より」小さいという条件式は、つまり 10、30、50 以下となりメッセージに合っている
④ ○:10、30、50「以下」という条件式は、その値を含むのでメッセージに合っている
⑤ ×:9、29、49「より」小さいという条件式では、メッセージに合わない

問5

➢ Practice0601.java

package jp.co.f1.intro.ch6exercise; 	

import java.util.Scanner; 
	
public class Practice0601 { 
    public static void main(String[] args) { 
       Scanner sin = new Scanner(System.in); 
       System.out.print("数値を入力-->"); 
       int num = sin.nextInt(); 
	
       if(num % 2 == 0){ 
          System.out.println("入力数値[" + num + "]は偶数です。"); 
       }else{ 
          System.out.println("入力数値[" + num + "]は奇数です。"); 
       }
    }
}

問6

① if( num >= 0 && num <= 9)
② if( num < 0 || num > 9)
③ if( num1 == 5 && num2 != 999)
④ if( char1 == ‘y’ || str1.equals(“yes”) )
⑤ if( month >= 3 && month <= 5 )
⑥ if( month >= 6 && month <= 8 )
⑦ if( month >= 9 && month <= 11 )
⑧ if( month == 12 || (month > 0 && month <= 2) )
⑨ if( ( i != w ) && (num1 == num2) )
⑩ if( a == x || b == y || c == z )

問7

➢ Practice0603.java

package jp.co.f1.intro.ch6exercise; 	

import java.util.Scanner; 
	
public class Practice0603 { 
    public static void main(String[] args) { 
       Scanner sin = new Scanner(System.in); 
       System.out.print("成績を入力(1~5)-->"); 
       int grade = sin.nextInt(); 
	
       switch (grade){ 
          case 1: 
             System.out.println("もっと頑張りましょう!"); 
             break; 
          case 2: 
             System.out.println("もう少し努力が必要です。"); 
             break; 
          case 3: 
             System.out.println("さらに良い成績を目指しましょう。"); 
             break; 
          case 4: 
             System.out.println("良い成績です。"); 
             break; 
          case 5: 
             System.out.println("最高の成績です。"); 
             break; 
          default: 
             System.out.println("1~5 の数値を入力して下さい!"); 
             break; 
      }
    }
}

問8

答えは、④です。

① 「a != 5」は、 3と5は等しくないので、true を返す。
② 「( a > 2 ) && ( a < 6 )」は、 true && true の結果は true を返す。
③ 「( ( a != 5 ) || ( a <= 2 ) ) && ( ( a > 2 ) && ( a < 4 ) )」は、(true||false)&&(true&&true) ⇒ true&&true ⇒ true を返す。
④ 「( a > 2 ) && ( ( a > 6 ) || ( a < 1) )」は、true&&(false||false) ⇒ true&&false ⇒ false を返す。

NEXT>> 第7章 繰り返し処理