ch2 = 'E';
ch1 = 0;
System.out.print("the value of the ch1 and ch2 is:");
System.out.println(ch1 + " " + ch2 + " ends");
の文字に0を割り当て、両方のラインが 印刷されているが、CH1 = 0は、第2の印刷ステートメントが実行されない場合。CH1に割り当てられている0以外の値のJava
ch2 = 'E';
ch1 = 0;
System.out.print("the value of the ch1 and ch2 is:");
System.out.println(ch1 + " " + ch2 + " ends");
の文字に0を割り当て、両方のラインが 印刷されているが、CH1 = 0は、第2の印刷ステートメントが実行されない場合。CH1に割り当てられている0以外の値のJava
int
0
は、ASCII NUL
と等価である(多くの言語でString
終端文字であることを起こるが、Javaはそのうちの一つではありません)。この問題(Eclipseでも再現可能)は、コンソールにあります。
char ch1 = '\0';
System.out.printf("the value of the char is: %c ends%n", ch1);
charに0を代入すると、一重引用符で囲む必要があります。試してみてください:
ch2 = 'E';
ch1 = '0';
System.out.print("the value of the ch1 and ch2 is:");
System.out.println(ch1 + " " + ch2 + " ends");
希望します。
UNICODE!の範囲で任意の値のintでcharを初期化できます。 – Hrcule
http://ideone.com/7HNoeI –