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

當我打印j的值然後它什麼都不打印它意味着空值,但是java dic說默認值char是我同意的'\ u0000',但默認值應該是打印。而不是打印默認值它打印什麼是java中char的實際默認值?

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

這是什麼都不是空的。我仍然困惑,我是否使用CHAR默認值,而不是,null,則它會產生一個錯誤:

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

+0

零和null是兩個非常不同的東西。你有一個原始類型,因此爲零。並且打印零意味着沒有爲該變量打印任何內容。 – AntonH

+2

char \ u0000引用char NULL。所以它不能作爲字符串打印。 – fandango

+0

「,但默認值應打印。」 < - 你爲什麼這麼想? –

回答

4

一個char與價值0就是空字符。這是一個non-printing字符,並不顯示爲任何內容。傳統上,C風格的字符串使用NUL字符來標記字符串的末尾。

請注意,NUL字符不同於Java null。 NUL是原始值char值,而null是參考值。 char類型的值不能爲null,但對象類型如java.lang.Character可以。

如果要打印數字的值char,首先將其投射到int

相關問題