由淺入深快速掌握J(rèn)ava?數(shù)組的使用
1.數(shù)組定義格式
1.1 數(shù)組概述
* 一次性聲明大量的用于存儲數(shù)據(jù)的變量
* 要存儲的數(shù)據(jù)通常都是同類型數(shù)據(jù)。
1.2 什么是數(shù)組
數(shù)組(array)是一個存儲多個相同類型數(shù)據(jù)的存儲模型
1.3 數(shù)組的定義格式:
格式1:數(shù)據(jù)類型[ ] 變量名
范例: int[ ] arr
定義了一個int類型的數(shù)組,數(shù)組名是arr
格式2:數(shù)據(jù)類型 變量名[ ]
范例: int arr[ ]
定義了一個int類型的變量,變量名是arr數(shù)組
2.數(shù)組初始化之動態(tài)初始化
2.1 數(shù)組初始化概述
java中的數(shù)組必須先初始化,然后才能使用
所謂初始化:就是為數(shù)組中的數(shù)組元素分配內(nèi)存空間,并為每個元素賦值
2.2 數(shù)組初始化方法
動態(tài)初始化
動態(tài)初始化:初始化時只指定數(shù)組長度,由系統(tǒng)為數(shù)組分配初始值
格式:
數(shù)組類型[ ] 變量名 = new 數(shù)據(jù)類型[數(shù)組長度];
范例:
int[ ] arr = new int[3];
示例代碼:
int [] arr = new int[3]; /* * 左邊: * int:說明數(shù)組中的元素是int類型 * []:說明這是一個數(shù)組 * arr:這是一個數(shù)組的名稱 * 右邊: * new:為數(shù)組申請內(nèi)存空間 * int:說明數(shù)組中元素類型是int類型 * []:說明這是一個數(shù)組 * 3:數(shù)組長度,其實就是數(shù)組中元素個數(shù) * */
3.數(shù)組元素訪問
3.1 數(shù)組元素訪問
* 數(shù)組變量訪問方式
* 格式:
數(shù)組名
* 數(shù)組內(nèi)部保存數(shù)據(jù)的訪問方式
* 格式:
數(shù)組名[索引]
* 索引是數(shù)組中數(shù)據(jù)的編號方式
* 作用:索引用于訪問數(shù)組中的數(shù)據(jù)使用,數(shù)組名[索引]等同于變量名,是一種特殊的變量名
* 特征:索引是從0開始,是連續(xù)的,是逐一增加每次加1的。
//輸出數(shù)組名 System.out.println(arr);//[I@dcf3e99 //輸出數(shù)組中的元素 System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]);
4.內(nèi)存分配
4.1 java中的內(nèi)存分配
棧內(nèi)存:存儲局部空間
堆內(nèi)存:存儲new出來的內(nèi)容(實體,對象)
4.2 數(shù)組內(nèi)存圖(單個數(shù)組)
//輸出數(shù)組名 System.out.println(arr);//[I@dcf3e99 //輸出數(shù)組中的元素 System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); //給數(shù)組中的元素賦值 arr[0]=10; arr[2]=100; //輸出數(shù)組中的元素 System.out.println(arr); System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]);
控制臺輸出結(jié)果:
4.3 多個數(shù)組內(nèi)存圖
5.數(shù)組初始化之靜態(tài)初始化
靜態(tài)初始化: 初始化時指定每個元素的初始值,由系統(tǒng)決定數(shù)組長度
格式:
數(shù)據(jù)類型[ ] 變量名 = new 數(shù)據(jù)類型[ ] {數(shù)據(jù)1, 數(shù)據(jù)2, 數(shù)據(jù)3....};
范例:
int [ ] arr = new int [ ]{1,2,3};
簡化格式:
數(shù)據(jù)類型 [ ] 變量名 = {數(shù)據(jù)1,數(shù)據(jù)2,數(shù)據(jù)3....};
范例:
int[ ] 變量名 = {1,2,3};
示例代碼:
int [] arr = {1,2,3}; //輸出數(shù)組名 System.out.println(arr);//[I@dcf3e99 //輸出數(shù)組中的元素 System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]);
6.數(shù)組操作的兩個常見小問題
1. 索引越界:訪問了數(shù)組中不存在的索引對應(yīng)的元素,造成索引越界問題
int[ ] arr = new int [3];
system out.println(arr[3]);
2.空指針異常:訪問的數(shù)組已經(jīng)不在指向堆內(nèi)存的數(shù)據(jù),造成空指針異常
int[ ] arr = new int [3];
system out.println(arr[2]);
arr = null;
system out.println(arr[0]);
3.null:空值,引用數(shù)據(jù)類型默認(rèn)值,表示不指向任何有效對象
7.數(shù)組常見操作
7.1 遍歷
通用格式
int []arr={...}; for(int x=0;x<arr.length;x++){ arr[x]; //對arr[x]進(jìn)行操作 }
7.2 獲取數(shù)組元素個數(shù)
格式:
數(shù)組名.length
范例:
arr.length
7.3 獲取最值
示例代碼:
public static void main(String[] args) { // TODO Auto-generated method stub //定義數(shù)組 int []arr={15,66,75,42,85,45,87,99,10}; //定義一個變量,用于保存最大值 //取數(shù)組中第一個數(shù)據(jù)作為變量初始值 int max= arr[0]; //與數(shù)組中剩余元素逐個比對,并將最大值保存在變量中 for(int x=0;x<arr.length;x++){ if(arr[x]>max){ max=arr[x]; } } //循環(huán)結(jié)束后在控制臺打印變量值 System.out.println("max:"+max); }
到此這篇關(guān)于由淺入深快速掌握J(rèn)ava 數(shù)組的使用的文章就介紹到這了,更多相關(guān)Java 數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot@Profile注解和Spring?EL(多環(huán)境注入)
為了方便, Spring還提供了 Profile機(jī)制, 使我們可以很方便地實現(xiàn)各個環(huán)境之間的切換,在使用DI來依賴注入的時候,能夠根據(jù)@profile標(biāo)明的環(huán)境,將注入符合當(dāng)前運(yùn)行環(huán)境的相應(yīng)的bean,本文通過示例代碼介紹SpringBoot@Profile注解和Spring?EL,需要的朋友可以參考下2024-02-02微信小程序 springboot后臺如何獲取用戶的openid
這篇文章主要介紹了微信小程序 springboot后臺如何獲取用戶的openid,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09springboot+redis實現(xiàn)微博熱搜排行榜的示例代碼
本文主要介紹了springboot+redis實現(xiàn)微博熱搜排行榜的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05SpringCloud feign微服務(wù)調(diào)用之間的異常處理方式
這篇文章主要介紹了SpringCloud feign微服務(wù)調(diào)用之間的異常處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06關(guān)于JAVA11中圖片與BASE64相互轉(zhuǎn)換的實現(xiàn)
這篇文章主要介紹了關(guān)于JAVA11中圖片與BASE64相互轉(zhuǎn)換的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04java開發(fā)中基于JDBC連接數(shù)據(jù)庫實例總結(jié)
這篇文章主要介紹了java開發(fā)中基于JDBC連接數(shù)據(jù)庫的方法,以實例形式較為詳細(xì)的總結(jié)分析了Java使用JDBC的具體步驟與注意事項,并附帶了一個完整實例加以說明,需要的朋友可以參考下2015-11-11