2017-05-04 9 views
1
class CHar 
{ 
    public static void main(String []l) 
    { 
     char j='\u0000'; 
     System.out.println("value of char j="+j); 
    } 
} 

私はjの値を出力するとnull値を意味するものは表示されませんが、java dicはcharのデフォルト値は '\ u0000'であると私は同意しますが、デフォルト値はprintであるべきです。デフォルト値を印刷する代わりに、印刷します。javaのcharの実際のデフォルト値は何ですか?

C:\Users\Mohit-Pc\Desktop\Java Array>java CHar 
value of char j= 

これは何も意味がありません。値0

CHar.java:5: error: incompatible types: cannot be converted to char char j=null;

+0

ゼロとヌルは2つの非常に異なるものです。あなたはプリミティブ型、したがってゼロを持っています。ゼロを印字すると、その変数には何も印刷されません。 – AntonH

+2

char \ u0000はchar NULLを参照します。したがって、文字列として印刷することはできません。 – fandango

+0

"ですが、デフォルト値はprintです。 < - なぜそれを考えるのですか? –

答えて

4

charはNUL文字である:私は、私はそれがエラーを生成し、その後、ヌルchar型のデフォルト値の代わりに使用するかどうか、まだ混乱しています。 non-printing文字で、何も表示されません。伝統的に、Cスタイルの文字列は、NUL文字を使用して文字列の終わりをマークします。

NUL文字は、Java nullとは異なります。 NULはプリミティブcharの値であり、nullは参考値です。 charタイプはnullの値を保持できませんが、java.lang.Characterのようなオブジェクトタイプは保持できます。

あなたがchar数値値を印刷したい場合は、最初のintにキャスト。

関連する問題