問題
Test クラスの validate メソッドを実行したときに XYB を出力するには[ A ] の箇所にどのコードを記述しますか。(2つ選択)
public class Main {
public static void main(String... args) {
Test.validate();
}
}
class Test {
private static boolean methodX() {
System.out.print("X"); return true;
}
private static boolean methodY() {
System.out.print("Y"); return true;
}
public static void validate() {
if ( [ A ] ) System.out.print("A");
else System.out.print("B");
}
}
選択肢
A) methodX() && methodY()
B) methodX() != methodY()
C) methodX() | methodY()
D) methodX() ^ methodY()
E) method() == methodY()
F) methodX() || methodY()
G) methodX() & methodY()
解答
A) methodX() && methodY()
B) methodX() != methodY()
C) methodX() | methodY()
D) methodX() ^ methodY()
E) method() == methodY()
F) methodX() || methodY()
G) methodX() & methodY()
解説
B) methodX() != methodY()
methodX()
がtrue
を返すので “X” が出力され、methodY()
もtrue
を返すため、true != true
はfalse
になります。これによりelse
節が実行され、”B” が出力されます。最終的に出力は “XYB” となります。
D) methodX() ^ methodY()
- 両方とも
true
を返すので、X が出力され、その後true ^ true
はfalse
になります。これによりelse
節が実行され、”B” が出力されます。これも最終的に出力は “XYB” となります。
対象資格:Java SE17 認定資格