
文章插圖
如果希望保存一組有相同類型的數(shù)據(jù),可以使用數(shù)組 。
數(shù)組的定義和內(nèi)存分配
Java 中定義數(shù)組的語(yǔ)法有兩種:
type arrayName[];
type[] arrayName;
type 為Java中的任意數(shù)據(jù)類型,包括基本類型和組合類型,arrayName為數(shù)組名,必須是一個(gè)合法的標(biāo)識(shí)符,[ ] 指明該變量是一個(gè)數(shù)組類型變量 。例如:
1. int demoArray[];
2. int[] demoArray;
這兩種形式?jīng)]有區(qū)別,使用效果完全一樣,讀者可根據(jù)自己的編程習(xí)慣選擇 。
與C、C++不同,Java在定義數(shù)組時(shí)并不為數(shù)組元素分配內(nèi)存,因此[ ]中無(wú)需指定數(shù)組元素的個(gè)數(shù),即數(shù)組長(zhǎng)度 。而且對(duì)于如上定義的一個(gè)數(shù)組是不能訪問(wèn)它的任何元素的,我們必須要為它分配內(nèi)存空間,這時(shí)要用到運(yùn)算符new,其格式如下:
arrayName=new type[arraySize];
其中,arraySize 為數(shù)組的長(zhǎng)度,type 為數(shù)組的類型 。如:
復(fù)制純文本新窗口
1. demoArray=new int[3];
為一個(gè)整型數(shù)組分配3個(gè)int 型整數(shù)所占據(jù)的內(nèi)存空間 。
通常,你可以在定義的同時(shí)分配空間,語(yǔ)法為:
type arrayName[] = new type[arraySize];
例如:
1. int demoArray[] = new int[3];
數(shù)組的初始化
你可以在聲明數(shù)組的同時(shí)進(jìn)行初始化(靜態(tài)初始化),也可以在聲明以后進(jìn)行初始化(動(dòng)態(tài)初始化) 。例如:
1. // 靜態(tài)初始化
2. // 靜態(tài)初始化的同時(shí)就為數(shù)組元素分配空間并賦值
3. int intArray[] = {1,2,3,4};
4. String stringArray[] = {“微學(xué)苑”, “http://www.weixueyuan.net”, “一切編程語(yǔ)言都是紙老虎”};
5.
6. // 動(dòng)態(tài)初始化
7. float floatArray[] = new float[3];
8. floatArray[0] = 1.0f;
9. floatArray[1] = 132.63f;
10. floatArray[2] = 100F;
數(shù)組引用
可以通過(guò)下標(biāo)來(lái)引用數(shù)組:
arrayName[index];
與C、C++不同,Java對(duì)數(shù)組元素要進(jìn)行越界檢查以保證安全性 。
每個(gè)數(shù)組都有一個(gè)length屬性來(lái)指明它的長(zhǎng)度,例如 intArray.length 指明數(shù)組 intArray 的長(zhǎng)度 。
寫一段代碼,要求輸入任意5個(gè)整數(shù),輸出它們的和 。
1. import java.util.*;
2. public class Demo {
3. public static void main(String[] args){
4. int intArray[] = new int[5];
5. long total = 0;
6. int len = intArray.length;
7.
8. // 給數(shù)組元素賦值
9. System.out.print(“請(qǐng)輸入” + len + “個(gè)整數(shù),以空格為分隔:”);
10. Scanner sc = new Scanner(System.in);
11. for(int i=0; i<len; i++){
12. intArray = sc.nextInt();
13. }
14.
15. // 計(jì)算數(shù)組元素的和
16. for(int i=0; i<len; i++){
17. total += intArray;
18. }
19.
20. System.out.println(“所有數(shù)組元素的和為:” + total);
21. }
22. }
運(yùn)行結(jié)果:
請(qǐng)輸入5個(gè)整數(shù),以空格為分隔:10 20 15 25 50
所有數(shù)組元素的和為:120
數(shù)組的遍歷
實(shí)際開發(fā)中,經(jīng)常需要遍歷數(shù)組以獲取數(shù)組中的每一個(gè)元素 。最容易想到的方法是for循環(huán),例如:
1. int arrayDemo[] = {1, 2, 4, 7, 9, 192, 100};
2. for(int i=0,len=arrayDemo.length; i<len; i++){
3. System.out.println(arrayDemo + “, “);
4. }
輸出結(jié)果:
1, 2, 4, 7, 9, 192, 100,
不過(guò),Java提供了”增強(qiáng)版“的for循環(huán),專門用來(lái)遍歷數(shù)組,語(yǔ)法為:
1. for( arrayType varName: arrayName ){
2. // Some Code
3. }
arrayType 為數(shù)組類型(也是數(shù)組元素的類型);varName 是用來(lái)保存當(dāng)前元素的變量,每次循環(huán)它的值都會(huì)改變;arrayName 為數(shù)組名稱 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問(wèn)題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助:- 食療補(bǔ)血吃什么最好 食療補(bǔ)血吃什么
- 老人多吃油的危害有哪些 老人多吃油的危害有什么
- 丁真成立工作室,甜野男孩進(jìn)軍娛樂(lè)圈,網(wǎng)傳已收到《中餐廳》邀請(qǐng)
- 未兌現(xiàn)“中國(guó)人優(yōu)先”承諾,越南撤回疫苗分配方案
- 中國(guó)鐵藝大全網(wǎng) - 鐵藝官網(wǎng)
- 按摩“不老穴” 助女性維持年輕
- 為什么中國(guó)父母總喜歡打擊式教育 打壓式教育真的好嗎
- 中國(guó)刑警學(xué)院競(jìng)售54只汰犬 網(wǎng)友:公務(wù)狗也競(jìng)爭(zhēng)激烈啊
- 沒(méi)選上“警犬”,中國(guó)刑警學(xué)院54只汰受訓(xùn)犬被出售
- 中國(guó)刑警學(xué)院競(jìng)售54只汰受訓(xùn)犬:含德牧等,要求不得棄養(yǎng)
