2017-08-14 2 views
-2
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

+2

http://ideone.com/7HNoeI –

答えて

4

int0は、ASCII NULと等価である(多くの言語でString終端文字であることを起こるが、Javaはそのうちの一つではありません)。この問題(Eclipseでも再現可能)は、コンソールにあります。

char ch1 = '\0'; 
System.out.printf("the value of the char is: %c ends%n", ch1); 
1

charに0を代入すると、一重引用符で囲む必要があります。試してみてください:

ch2 = 'E'; 
ch1 = '0'; 
System.out.print("the value of the ch1 and ch2 is:"); 
System.out.println(ch1 + " " + ch2 + " ends"); 

希望します。

+0

UNICODE!の範囲で任意の値のintでcharを初期化できます。 – Hrcule

関連する問題