一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - Java創(chuàng)建數(shù)組的幾種方式總結(jié)

Java創(chuàng)建數(shù)組的幾種方式總結(jié)

2020-06-20 11:41java教程網(wǎng) JAVA教程

下面小編就為大家?guī)硪黄狫ava創(chuàng)建數(shù)組的幾種方式總結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1、一維數(shù)組的聲明方式:

type[] arrayName; 或 type arrayName[];

附:推薦使用第一種格式,因為第一種格式具有更好的可讀性,表示type[]是一種引用類型(數(shù)組)而不是type類型。建議不要使用第二種方式

下面是典型的聲明數(shù)組的方式:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 聲明整型數(shù)組
int[] intArray0 ;
int intArray1 [];
// 聲明浮點型數(shù)組
float floatArray0 [];
float[] floatArray1 ;
// 聲明布爾型數(shù)組
boolean boolArray0 [];
boolean[] boolArray1 ;
// 聲明字符型數(shù)組
char charArray0 [];
char[] charArray1 ;
// 聲明字符串?dāng)?shù)組
String stringArray0[];
String[] stringArray1;
// 錯誤的聲明數(shù)組的方式,聲明數(shù)組的時候不能指定其大小
// int [5] intErrorArray0;
// int intErrorArray1[5];

注:Java語言中聲明數(shù)組時不能指定其長度(數(shù)組中元素的個數(shù)),這是因為數(shù)組是一種引用類型的變量,,因此使用它定義一個變量時,僅僅表示定義了一個引用變量(也就是定一個了一個指針),這個引用變量還未指向任何有效的內(nèi)存,所以定義數(shù)組時不能指定數(shù)組的長度。而且由于定義數(shù)組僅僅只是定一個引用變量,并未指向任何有效的內(nèi)存空間,所以還沒有內(nèi)存空間來存儲數(shù)組元素,因此這個數(shù)組也不能使用,只有在數(shù)組進(jìn)行初始化后才可以使用。

2、一維數(shù)組的創(chuàng)建

Java中使用關(guān)鍵字new創(chuàng)建數(shù)組對象,格式為:數(shù)組名 = new 數(shù)組元素的類型 [數(shù)組元素的個數(shù)]

?
1
2
3
4
5
6
// 創(chuàng)建數(shù)組,如果在創(chuàng)建的同時不初始化數(shù)組則必須指定其大小
intArray0 = new int[3];
// 錯誤的創(chuàng)建數(shù)組的方式,如果創(chuàng)建數(shù)組時不指定大小則必須初始化
// intArray1 = new int[];
// 創(chuàng)建數(shù)組時,不指定數(shù)組大小則必須在創(chuàng)建的同時初始化數(shù)組
 intArray1 = new int[]{0,1,2};

使用new創(chuàng)建數(shù)組對象但是分配數(shù)組時會自動為數(shù)組分配默認(rèn)值,具體如下:

?
1
2
3
4
5
6
7
8
9
System.out.println( "intArray0[0]=" + intArray0 [0]);
floatArray0 = new float[3];
System. out.println("floatArray0[0]=" + floatArray0[0]);
boolArray0 = new boolean[3];
System. out.println("boolArray0[0]=" + boolArray0[0]);
charArray0 = new char[3];
System. out.println("charArray0[0]=" + charArray0[0]);
stringArray0 = new String[3];
System. out.println("stringArray0[0]=" + stringArray0[0]);

輸出如下:

?
1
2
3
4
5
intArray0[0]=0
floatArray0[0]=0.0
boolArray0[0]=false
charArray0[0]=
stringArray0[0]=null

附:一旦使用new關(guān)鍵字為數(shù)組分配了內(nèi)存空間,每個內(nèi)存空間存儲的內(nèi)容就是數(shù)組元素的值,也就是數(shù)組元素就有了初始值,即使這個內(nèi)存空間存儲的內(nèi)容是空,這個空也是一個值null。也就是說不可能只分配內(nèi)容空間而不賦初始值,即使自己在創(chuàng)建數(shù)組對象(分配內(nèi)容空間)時沒有指定初始值,系統(tǒng)也會自動為其分配

附:諸如基礎(chǔ)數(shù)據(jù)類型的包裝類,其默認(rèn)的初始化值均為null,因為基礎(chǔ)數(shù)據(jù)類型的包裝類創(chuàng)建的數(shù)組屬于引用數(shù)組(對象數(shù)組),對象數(shù)組默認(rèn)的初始化值都是null

3、一維數(shù)組的初始化

數(shù)組的初始化分為靜態(tài)初始化、動態(tài)初始化和默認(rèn)初始化:

靜態(tài)初始化是數(shù)組在初始化時由程序員顯式指定每個數(shù)組元素的初始值而數(shù)組長度由系統(tǒng)決定。

動態(tài)初始化是數(shù)組在初始化時只指定數(shù)組長度,由系統(tǒng)為數(shù)組元素分配初始值。

a、數(shù)組靜態(tài)初始化的語法格式:

?
1
2
3
4
5
arrayName = new type[]{element1,element2,element3...}
 
或者使用簡化的語法格式:
 
arrayName = {element1,element2,element3...}

b、數(shù)組動態(tài)初始化的語法格式:

?
1
arrayName = new type[length];

附:靜態(tài)初始化時不能指定元素個數(shù),而動態(tài)初始化時則必須指定元素個數(shù)。靜態(tài)初始化時數(shù)組能夠知道元素的個數(shù)所以不需要指定,而動態(tài)初始化時數(shù)組元素個數(shù)未知因此必須指定。

?
1
2
3
4
5
6
7
8
9
10
// 靜態(tài)初始化
int intArray2 [] = new int[]{20,21,22};
// 靜態(tài)初始化簡化方式
int intArray3 [] = {30,31,32};
// 動態(tài)初始化
int[] intArray4 = new int[3];
// 錯誤寫法:靜態(tài)初始化不能指定元素個數(shù)
// int intErrorArray5[] = new int[3]{50,51,52};
// 錯誤寫法:動態(tài)初始化必須指定元素個數(shù)
// int intErrorArray6[] = new int[];

注:一維數(shù)組這一塊記住兩點,數(shù)組聲明的時候是不能指定大小的,也就是說等號左邊的中括號中不能包含數(shù)字。另外一旦使用new關(guān)鍵字那么肯定在內(nèi)存中為數(shù)組分配了空間,則必然數(shù)組有默認(rèn)值。數(shù)組是對象數(shù)據(jù)類型

注:不要靜態(tài)初始化和動態(tài)初始化同時使用,也就是說不要再進(jìn)行數(shù)組初始化時,既指定數(shù)組長度,也為每個數(shù)組元素分配初始值。

4、數(shù)組進(jìn)行動態(tài)初始化時系統(tǒng)分配初始值的規(guī)則

數(shù)組元素類型是基本類型中的整數(shù)類型(byte、short、int、long),則數(shù)組元素的值是0

數(shù)組元素類型是基本類型中的浮點類型(float、double),則數(shù)組元素的值是0.0

數(shù)組元素類型是基本類型中的字符類型(char),則數(shù)組元素的值是'\u0000'

數(shù)組元素類型是基本類型中的布爾類型(boolean),則數(shù)組元素的值是false

數(shù)組元素類型是基本類型中的引用類型(類、接口、數(shù)組),則數(shù)組元素的值是null

附:這部分源代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package javabase;
 
public class CreateArray {
    public static void main(String args[]){
 /**************數(shù)組的聲明*******************/
 // 聲明整型數(shù)組
 int[] intArray0 ;
 int intArray1 [];
 // 聲明浮點型數(shù)組
 float floatArray0 [];
 float[] floatArray1 ;
 // 聲明布爾型數(shù)組
 boolean boolArray0 [];
 boolean[] boolArray1 ;
 // 聲明字符型數(shù)組
 char charArray0 [];
 char[] charArray1 ;
 // 聲明字符串?dāng)?shù)組
String stringArray0[];
String[] stringArray1;
 // 錯誤的聲明數(shù)組的方式,聲明數(shù)組的時候不能指定其大小
 // int [5] intErrorArray0;
 // int intErrorArray1[5];
 
 /*********************數(shù)組的創(chuàng)建***********************/
 // 創(chuàng)建數(shù)組,如果在創(chuàng)建的同時不初始化數(shù)組則必須指定其大小
 intArray0 = new int[3];
 // 錯誤的創(chuàng)建數(shù)組的方式,如果創(chuàng)建數(shù)組時不指定大小則必須初始化
 // intArray1 = new int[];
 // 創(chuàng)建數(shù)組時,不指定數(shù)組大小則必須在創(chuàng)建的同時初始化數(shù)組
 intArray1 = new int[]{0,1,2};
System. out.println("intArray0[0]=" + intArray0[0]);
 floatArray0 = new float[3];
System. out.println("floatArray0[0]=" + floatArray0[0]);
 boolArray0 = new boolean[3];
System. out.println("boolArray0[0]=" + boolArray0[0]);
 charArray0 = new char[3];
System. out.println("charArray0[0]=" + charArray0[0]);
 stringArray0 = new String[3];
System. out.println("stringArray0[0]=" + stringArray0[0]);
 
 /**********************數(shù)組的初始化*************************/
 // 靜態(tài)初始化
 int intArray2 [] = new int[]{20,21,22};
 // 靜態(tài)初始化簡化方式
 int intArray3 [] = {30,31,32};
 // 動態(tài)初始化
 int[] intArray4 = new int[3];
 
 // 錯誤寫法:靜態(tài)初始化不能指定元素個數(shù)
 // int intErrorArray5[] = new int[3]{50,51,52};
 // 錯誤寫法:動態(tài)初始化必須指定元素個數(shù)
 // int intErrorArray6[] = new int[];
 
System. out.println("intArray2[0]=" +intArray2 [0]);
System. out.println("intArray3[0]=" +intArray3 [0]);
System. out.println("intArray4[0]=" +intArray4 [0]);
   }
}

以上就是小編為大家?guī)淼腏ava創(chuàng)建數(shù)組的幾種方式總結(jié)的全部內(nèi)容了,希望對大家有所幫助,多多支持服務(wù)器之家~

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产rpg迷雾之风冷狐破解 | 无遮无挡免费视频 | 国产成人精品福利色多多 | 精品国产区 | 93版高校教师| juy_661佐佐木明希在线播放 | 美女把腿开让我 | 人人澡 人人澡碰人人看软件 | 日产欧产va1 | 亚洲AV无码国产精品午夜久久 | 日本一区二区不卡久久入口 | 久久学生精品国产自在拍 | 男人在女人下面狂躁 | 婷婷色在线| 日韩av线观看 | 亚洲国产精品ⅴa在线观看 亚洲国产高清一区二区三区 | 国产精品视频久久久 | 视频大全在线观看网址 | 继攵催眠女乱h调教 | 欧美综合影院 | 亚洲精品视频久久 | 赤色疑惑 | 青青青久热国产精品视频 | 日本成熟 | 国产高清日韩 | 亚洲国产成人精品不卡青青草原 | 99在线精品日韩一区免费国产 | 久久亚洲伊人 | 亚洲精品丝袜在线一区波多野结衣 | 香蕉久久一区二区不卡无毒影院 | 亚洲va欧美va国产va天堂影 | 免费高清观看 | 国产香蕉97碰碰在线视频 | 3x3x3x短视频在线看 | 久久青草费线频观看国产 | 98成人 | 国产在线麻豆波多野结衣 | 息与子中文字幕在线 | 欧美国产在线视频 | 全彩调教侵犯h本子全彩妖气he | 性xxxxxxx18老师 |