通過テストの解答 <新わかりやすいJava 入門編>

 

(1) n>=100
(2) n>=100 && n<500
(3) n%2==0
(4) (n%3==0 || n%2 != 0) && n<100
(5) c>'t'+1
(6) Math.sqrt(x)>2.0
(7) !s.equals("abc")

(3)では、||よりも&&の優先順位が高いので、( )は必須である。

(1) ① true
(2) ③ コンパイルエラー
(3) ① true
(4) ① true
(5) ③ コンパイルエラー
(6) ② false
(7) ② false

(2)、(5)について、&&や!は論理演算子なのでboolean型の式や変数にしか適用できない。 aはint型である。

B. true11

a++ >bが true なので、残りの式は評価しない。そのためbは 0 のままである。

D. コンパイルエラー

char c = n+1; では、n+1はint型である。int → char の代入にはキャストが必要なので、正しくは、char c = (char)(n+1)とすべきである。