A. java 中 char類型二維數組初始化問題
這樣並不會列印出十個*號。
看這一行
for(char
i:test)
作用只是用i去遍歷數組test;然後只是修改了i
的值,並沒有修改過數組test的值
B. java中初始化char數組,如 char[] LINE=new char[80];初始化後,數組中的默認值是什麼
空白
char是java中的基本類型,他是不會出現null的情況的,因為它不是一個對象,他與Character不同,如果是Character c[] 初始化的話,裡面的每個對象都是null。
還有空格也是不對的,因為空格其實也是一個字元,它與空白是不同的概念。
C. java中的「char」指的是什麼
char是Java中的保留字,表示一種數據類型。與別的語言不同的是,char在Java中是16位的,因為Java用的是Unicode編碼。不過8位的ASCII碼包含在Unicode編碼中,其值對應於0~127。
char初始化方式
char c='c'; //字元,可以是漢字,因為是Unicode編碼
char c=十進制數,八進制數,十六進制數等等; //可以用整數賦值
char c='\u數字'; //用字元的編碼值來初始化,如:char='\0',表示結束符,它的ascll碼是0,這句話的意思和 char c=0 是一個意思。
D. 為什麼java中char型數組元素沒有賦值初始化的元素值是a
因為對於Java中基本數據類型默認值都是0, 如果是int[] c=new int[3];他會是3個0, 你那不可能是a的,應該輸出3個空出來NUL,因為數字0編碼在ASCII碼中對應的字元值NUL
E. java 創建數組時寫char a[] = null算對數組初始化嗎
算初始化,只不過沒有為其分配內存,所以後面使用起來會報錯。
可以用new的方式為其初始化,
char []b = new char[3];
F. Java 變數到底要如何初始化
不同的變數初始化方法不同。
變數包括:
類的屬性,或者叫值域
方法里的局部變數
方法的參數
對於第一種變數,Java虛擬機會自動進行初始化。如果給出了初始值,則初始化為該初始值。如果沒有給出,則把它初始化為該類型變數的默認初始值。
int類型變數默認初始值為0
float類型變數默認初始值為0.0f
double類型變數默認初始值為0.0
boolean類型變數默認初始值為false
char類型變數默認初始值為0(ASCII碼)
long類型變數默認初始值為0
所有對象引用類型變數默認初始值為null,即不指向任何對象。注意數組本身也是對象,所以沒有初始化的數組引用在自動初始化後其值也是null。
對於兩種不同的類屬性,static屬性與instance屬性,初始化的時機是不同的。instance屬性在創建實例的時候初始化,static屬性在類載入,也就是第一次用到這個類的時候初始化,對於後來的實例的創建,不再次進行初始化。這個問題會在以後的系列中進行詳細討論。
對於第二種變數,必須明確地進行初始化。如果再沒有初始化之前就試圖使用它,編譯器會抗議。如果初始化的語句在try塊中或if塊中,也必須要讓它在第一次使用前一定能夠得到賦值。也就是說,把初始化語句放在只有if塊的條件判斷語句中編譯器也會抗議,因為執行的時候可能不符合if後面的判斷條件,如此一來初始化語句就不會被執行了,這就違反了局部變數使用前必須初始化的規定。但如果在else塊中也有初始化語句,就可以通過編譯,因為無論如何,總有至少一條初始化語句會被執行,不會發生使用前未被初始化的事情。對於try-catch也是一樣,如果只有在try塊里才有初始化語句,編譯部通過。如果在catch或finally里也有,則可以通過編譯。總之,要保證局部變數在使用之前一定被初始化了。所以,一個好的做法是在聲明他們的時候就初始化他們,如果不知道要出事化成什麼值好,就用上面的默認值吧!其實第三種變數和第二種本質上是一樣的,都是方法中的局部變數。只不過作為參數,肯定是被初始化過的,傳入的值就是初始值,所以不需要初始化。
G. java char數組初始化
char cha[] ={'c','v','b','n'};
這樣就沒問題了,你的錯誤在於,java對於數據的操作都是要放在函數裡面的,只有數據初始化可以不在函數里,上面,你初始化後,又進行的數據操作,所以不對