1.1數(shù)組的概述和定義格式
1.1.1數(shù)組的概述
??需求:現(xiàn)在需要統(tǒng)計某公司員工的工資情況盟劫,例如計算平均工資饰迹、找到最高工資等序调。假設(shè)該公司有80名員工醉锅,用前面所學(xué)的知識,程序首先需要聲明80個變量來分別記住每位員工的工資发绢,然后在進行操作硬耍,這樣做會顯得很麻煩。為了解決這種問題边酒,Java就提供了數(shù)組供我們使用经柴。
那么數(shù)組到底是什么呢?有什么特點呢?通過上面的分析:我們可以得到如下兩句話:
數(shù)組是存儲多個變量(元素)的東西(容器)。
這多個變量的數(shù)據(jù)類型要一致墩朦。
1.1.2 數(shù)組概念
- 數(shù)組是存儲同一種數(shù)據(jù)類型多個元素的容器坯认。
- 數(shù)組既可以存儲基本數(shù)據(jù)類型,也可以存儲引用數(shù)據(jù)類型。
1.1.3 數(shù)組的定義格式
- 格式1:數(shù)據(jù)類型[] 數(shù)組名;
- 格式2:數(shù)據(jù)類型 數(shù)組名[];
注意:
??這兩種定義做完了牛哺,數(shù)組中是沒有元素值的陋气。如何對數(shù)組的元素進行初始化呢?
1.2 數(shù)組初始化之動態(tài)初始化
1.2.1 數(shù)組初始化概述
- Java中的數(shù)組必須先初始化,然后才能使用。
- 所謂初始化:就是為數(shù)組中的數(shù)組元素分配內(nèi)存空間引润,并為每個數(shù)組元素賦值巩趁。
1.2.1數(shù)組初始化之動態(tài)初始化
- 動態(tài)初始化:初始化時只指定數(shù)組長度,由系統(tǒng)為數(shù)組分配初始值淳附。
- 格式:數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[數(shù)組長度];
- 數(shù)組長度其實就是數(shù)組中元素的個數(shù)议慰。
舉例:
- int[] arr = new int[3];
??解釋:定義了一個int類型的數(shù)組,這個數(shù)組中可以存放3個int類型的值燃观。
1.2.2 案例代碼
package com.itheima_01;
/*
* 數(shù)組:存儲同一種數(shù)據(jù)類型的多個元素的容器褒脯。
*
* 定義格式:
* A:數(shù)據(jù)類型[] 數(shù)組名;
* B:數(shù)據(jù)類型 數(shù)組名[];
* 舉例:
* A:int[] a; 定義一個int類型的數(shù)組,數(shù)組名是a
* B:int a[]; 定義一個int類型的變量缆毁,變量名是a數(shù)組
*
* 數(shù)組初始化:
* A:所謂初始化番川,就是為數(shù)組開辟內(nèi)存空間,并為數(shù)組中的每個元素賦予初始值
* B:我們有兩種方式對數(shù)組進行初始化
* a:動態(tài)初始化 只指定長度脊框,由系統(tǒng)給出初始化值
* b:靜態(tài)初始化 給出初始化值颁督,由系統(tǒng)決定長度
*
* 動態(tài)初始化:
* 數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[數(shù)組長度];
*/
public class ArrayDemo {
public static void main(String[] args) {
//數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[數(shù)組長度];
int[] arr = new int[3];
/*
* 左邊:
* int:說明數(shù)組中的元素的數(shù)據(jù)類型是int類型
* []:說明這是一個數(shù)組
* arr:是數(shù)組的名稱
* 右邊:
* new:為數(shù)組分配內(nèi)存空間
* int:說明數(shù)組中的元素的數(shù)據(jù)類型是int類型
* []:說明這是一個數(shù)組
* 3:數(shù)組的長度,其實就是數(shù)組中的元素個數(shù)
*/
}
}
1.3 數(shù)組操作之獲取數(shù)組中的元素
1.3.1案例代碼
package com.itheima_01;
/*
* 數(shù)組:存儲同一種數(shù)據(jù)類型的多個元素的容器浇雹。
*
* 定義格式:
* A:數(shù)據(jù)類型[] 數(shù)組名;(推薦的使用方式)
* B:數(shù)據(jù)類型 數(shù)組名[];
*
* 舉例:
* int[] arr; 定義了一個int類型的數(shù)組沉御,數(shù)組名是arr
* int arr[]; 定義了一個int類型的變量,變量名是arr數(shù)組
*
* 數(shù)組初始化:
* A:所謂的初始化昭灵,其實就是為數(shù)組開辟內(nèi)存空間吠裆,并為數(shù)組中的每個元素賦予初始值。
* B:如何進行初始化呢?我們有兩種方式對數(shù)組進行初始化
* a:動態(tài)初始化 只給出長度烂完,由系統(tǒng)給出初始化值
* b:靜態(tài)初始化 給出初始化值试疙,由系統(tǒng)決定長度
*
* 動態(tài)初始化:
* 數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[數(shù)組長度];
*/
public class ArrayDemo {
public static void main(String[] args) {
//數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[數(shù)組長度];
int[] arr = new int[3];
/*
* 左邊:
* int:說明的是數(shù)組中的元素類型是int類型
* []:說明這是一個數(shù)組
* arr:這是數(shù)組的名稱
* 右邊:
* new:為數(shù)組申請分配內(nèi)存空間。
* int:說明的是數(shù)組中的元素類型是int類型
* []:說明這是一個數(shù)組
* 3:數(shù)組長度抠蚣,其實就是數(shù)組中的元素個數(shù)
*/
//輸出數(shù)組名
System.out.println("arr:"+arr); //[I@104c575
//通過輸出數(shù)組名祝旷,我們得到了一個地址值,但是這個值對我們來說沒有意義
//我要獲取的是數(shù)組中的元素值嘶窄,能不能獲取到呢?能
//怎么獲取呢?不同擔(dān)心怀跛,Java已經(jīng)幫你想好了
//其實數(shù)組中的每個元素是有編號的,編號從0開始柄冲,最大的編號是數(shù)組的長度-1
//通過數(shù)組名和編號的配合使用我們就可以獲取數(shù)組中指定編號的元素值
//怎么配合的呢?編號的專業(yè)叫法:索引
//獲取元素的格式:數(shù)組名[索引]
System.out.println("arr[0]:"+arr[0]);//0
System.out.println("arr[1]:"+arr[1]);//0
System.out.println("arr[2]:"+arr[2]);//0
}
}