A. java String數組初始化問題
並不是出亂碼了,是你把r加入進去了,r是一個String數組,無法直接轉換為String
最後的那句 sb.append(r.toString()); 沒有必要,刪除就可以了
B. java關於String[] str = new String[]{};
大括弧的作用是初始化。
String[]str = new String[]{};
大括弧的意思是初始化,前面定義的String[]str ;
但是現在大括弧裡面是空的,也就是沒有內容,列印str的長度是0,但是如果這樣定義String[]str = new String[]{「111」,"22222"};str的長度就為2。
String類有個構造方法 String(byte ascii[],int hiByte);此方法是以位元組數組的形式生成一個字元串,數組中存放字元申各字元對應的ASCII碼。
為了和使用 1~3位元組表示一個代碼的 UTF(Unicode Text Format)兼容,這個構造方法的入口參數中用hiByte指出每個代碼含幾個高位位元組。對於ASCII碼而言,因為只有1個位元組,而沒有高位位元組,所以,hiByte的值為0,但對其他字元,hiByte的值可能為1或2。
(2)string數組初始化java擴展閱讀:
當編輯並運行一個Java程序時,需要同時涉及到這四種方面。使用文字編輯軟體(例如記事本、寫字板、UltraEdit等)或集成開發環境(Eclipse、MyEclipse等)在Java源文件中定義不同的類,通過調用類(這些類實現了Java API)中的方法來訪問資源系統,把源文件編譯生成一種二進制中間碼;
存儲在class文件中,然後再通過運行與操作系統平台環境相對應的Java虛擬機來運行class文件,執行編譯產生的位元組碼,調用class文件中實現的方法來滿足程序的Java API調用。
C. 如何初始化java數組
Java數組初始化的兩種方法:
1、靜態初始化:程序員在初始化數組時為數組每個元素賦值;
2、動態初始化:數組初始化時,程序員只指定數組的長度,由系統為每個元素賦初值。
代碼如下:
[java]viewplainprint?
publicclassArrayInit{
publicstaticvoidmain(String[]args){
//靜態初始化數組:方法一
Stringcats[]=newString[]{
"Tom","Sam","Mimi"
};
//靜態初始化數組:方法二
Stringdogs[]={"Jimmy","Gougou","Doggy"};
//動態初始化數據
Stringbooks[]=newString[2];
books[0]="ThinkinginJava";
books[1]="EffectiveJava";
System.out.println(cats.length);
System.out.println(dogs.length);
System.out.println(books.length);
}
}
D. 請問高手,java中如何初始化字元串數組,如定義: String[4] RoadName={"123,"dfdsa","eter"};為何錯
String[] RoadName={"123,"dfdsa","eter"}; 應為你是一開始就初始化了數組的,隨意不用指定長度
String [] RoadName=new String[4];
E. java中怎麼數組初始化
一維數組
1)
int[] a; //聲明,沒有初始化
2)
int[] a=new int[5]; //初始化為默認值,int型為0
3)
int[] a={1,2,3,4,5};
//初始化為給定值
4)
int[] a=new int[]{1,2,3,4,5}; //同(3)
int[] a=new int[5]{1,2,3,4,5};
//錯誤,如果提供了數組初始化操作,則不能定義維表達式
5)
int[] a;
a=new int[5]; //正確,同(2)一樣
int[] a;
a={1,2,3,4,5}; //錯誤數組常量只能在初始化操作中使用,如(3)
6) int a[];
a[0]=1;
//錯誤,因為數組沒有初始化,不能賦值a[1]=2; 二維數組
1)
int[][] a;
//聲明,沒有初始化
2) int[][] a=new int[2][3];
//初始化為默認值,int型為0
3)
int[][] a={{1,2},{2,3},{3,4}};
//初始化為給定值
int[][] a={{1,2},{2,3},{3,4,5}};
//沒有錯,數組空間不是連續分配的,所以不要求每一維的大小相同
4)
int[][] a=new int[2][];
a[0]=new int[3];
//a[0]其實就是一個數組a[1]=new int[4];
//每一維的大小可以不一樣
;
5)
int[][] a=new
int[][]{{1,2},{2,3},{3,4,5}};
//同(3)
F. JAVA中一個類包含String數組怎麼初始化的
不可以滴!!
因為在B中,如果沒有了帶*的那一行,那麼僅僅只是代表 有存在一個存放A類型數組:as[i],但是裡面每個元素到底存放什麼我們是不知道的,在JAVA裡面,就是引用為空的意思,既as[i] = null。就是說裡面其實是沒有任何東西的,僅僅只有一個定義而已,那怎麼可以指向A類裡面的a屬性呢?因為as[i]指向的東西都為空,空就是代表沒有任何東西,那麼裡面自然也不會有a這個屬性咯。所以我們在聲明完數組的時候,必須把數組裡面的元素也申明了。但是為什麼C可以呢。
你看C是這樣做的:
C先聲明了一個數組,所以只要存在C的實例,就可以使用到這個數組。雖然這時候,數組裡面的元素是為空的,但是你在主程序裡面使用了c.s[1]="3",意思就是為c實例裡面的數組的第2個元素給申明了,而不是直接引用,這與B是不同的。
——————————————————————————————————————————————————————
B-->不為空,所以可以使用B裡面的元素,既as數組,但是as數組裡面的元素是空的,所以不存在裡面有某種屬性的說法,自然是不可是使用A類裡面的元素a咯。
C--》不為空,所以可以使用C裡面的元素s數組,然後對s數組進行操作。
祝你好運!!希望你能夠理解
G. JAVA中怎麼初始化對象數組
初始化數組有三種方式,以下都是去初始化一個String類型長度2的數組:
方式一:
String[]strs=newString[2];
strs[0]="0";
strs[1]="1";
方式二:
String[]strs=newString[]{"0","1"};
方式三:
String[]strs={"0","1"};
三種方式,都有自己的使用場景,在合適場景使用即可。
H. java中怎麼數組初始化
成員變數,你不設值它也會初始化為null,但在方法中的局部變數就必須要初始化了
Boolean
array[]
=
{true,true};
或
Boolean
array[]
=
new
Boolean[2];
array[0]
=
true;
array[1]
=
true;
I. java怎麼new字元串數組初始化
java字元串數組初始化有兩種方式,一種是直接設置值的,一種是實例化後再設置值的
1、直接設置值的方法如下:
Stringname1="zhangsan";
Stringname2="lisi";
String[]names={name1,name2};
//這時的字元串數組長度為2
2、實例化後再設置值的方式如下:
String[]names=newString[2];
names[0]="zhangsan";
names[1]="lisi";
希望能幫到你,有任何疑問歡迎向我提問
J. JAVA中怎麼初始化對象數組
你這個試試對對象數組的一個聲明,並沒有示例話,所以會報空指針異常
這個數組對象都是現用現初始化的
Animals [] an=new Animals[5];//這只是個對象類型數組的聲明
用的時候需要
for(int i=0;i<5;i++)
an[i]=new Animals();
這樣你明白了吧
你前面的那個光聲明了數組,但是沒有調用Animals的構造函數,你數組里的每個元素都是一個對象,使用前必須要先實例化
如果你只是用戶輸入長度,
Animals [] an=new Animals[n];
聲明時是可以用變數的
或者你直接Animals [] an=new Animals[100];定義一個大數組,要用的時候再new Animals();實例化,或者用LinkedList<Animals> an=new LinkedList<Animals>();定義一個動態數組