
問題
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 認定資格
