基本データ型:char:問題1
問題:以下のプログラムの実行結果として適切なものを選択しなさい。
A. char型の変数には'a'は代入できないので、コンパイルエラーが発生する
B. char型の変数は加算できないので、コンパイルエラーが発生する
C. 文字コードにおけるaの次はbなのでbが表示される
D. 文字コードにおけるaの値は97なので、1加算した結果98が表示される
public class M {
public static void main(String[] args) {
char c = 'a';
c++;
System.out.println(c+0);
}
}
解答:
D. 文字コードにおけるaの値は97なので、1加算した結果98が表示される
解説:
System.out.println()の引数がchar型の場合、文字を出力するため、
System.out.println(c);
であれば、
C. 文字コードにおけるaの次はbなのでbが表示される
が正解です。
ただ、この問題は、
System.out.println(c+0);
です。
この場合、c+0の計算が先に行われるため、
System.out.println()の引数はint型になります。
System.out.println()の引数はint型の場合、
数値を出力するため、98が表示されます。
A. char型の変数には'a'は代入できないので、コンパイルエラーが発生する
B. char型の変数は加算できないので、コンパイルエラーが発生する
C. 文字コードにおけるaの次はbなのでbが表示される
D. 文字コードにおけるaの値は97なので、1加算した結果98が表示される
public class M {
public static void main(String[] args) {
char c = 'a';
c++;
System.out.println(c+0);
}
}
解答:
D. 文字コードにおけるaの値は97なので、1加算した結果98が表示される
解説:
System.out.println()の引数がchar型の場合、文字を出力するため、
System.out.println(c);
であれば、
C. 文字コードにおけるaの次はbなのでbが表示される
が正解です。
ただ、この問題は、
System.out.println(c+0);
です。
この場合、c+0の計算が先に行われるため、
System.out.println()の引数はint型になります。
System.out.println()の引数はint型の場合、
数値を出力するため、98が表示されます。