日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java数组键_Java基础之数组

發(fā)布時間:2023/12/4 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java数组键_Java基础之数组 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

數(shù)組

數(shù)組就是用于存儲相同數(shù)據(jù)類型數(shù)據(jù)的一個容器。可以通過有規(guī)律的索引來訪問沒有規(guī)律的元素。

一維數(shù)組

定義格式:元素的數(shù)據(jù)類型[ ] 數(shù)組名稱 = new 元素的數(shù)據(jù)類型 [ 數(shù)組容器大小 ];

數(shù)組定義格式解釋:

元素:數(shù)組中的數(shù)據(jù),數(shù)組中的變量。

數(shù)據(jù)類型:數(shù)組中的數(shù)據(jù)的數(shù)據(jù)類型,用來聲明當(dāng)前數(shù)組中,可以存放什么類型的數(shù)據(jù)。

[ ]:表示是一個一維數(shù)組

數(shù)組名稱:數(shù)組本身也是一個變量,用于存儲數(shù)組的地址的變量。所以,數(shù)組名稱要符合標(biāo)識符規(guī)范。

=:賦值符號,將數(shù)組的地址,賦值給數(shù)組的名稱

new:新建,用于在堆內(nèi)存中開辟一塊空間,用來存儲數(shù)據(jù)

元素的數(shù)據(jù)類型:和前面的元素的數(shù)據(jù)類型保持一致

數(shù)組容器的大小:可以存儲數(shù)據(jù)的個數(shù),數(shù)組長度必須給出,用于確定在內(nèi)存中開辟多大的一塊空間。

數(shù)組初始化的格式:

1.元素的數(shù)據(jù)類型[] 數(shù)組名稱 = new 元素的數(shù)據(jù)類型[數(shù)組元素的個數(shù)];

2.在程序書寫的時候,就知道了數(shù)組中的元素是什么值,可以使用這一種

元素的數(shù)據(jù)類型[] 數(shù)組名稱 = new 元素的數(shù)據(jù)類型[] {元素值的羅列};

可以簡寫為:元素的數(shù)據(jù)類型[] 數(shù)組名稱 = {元素值的羅列};

數(shù)組的遍歷

遍歷:把所有元素都訪問一遍。

方式:通過循環(huán),訪問到數(shù)組中所有元素的索引。通過索引,訪問到對應(yīng)元素。

索引:角標(biāo)、下標(biāo)、腳標(biāo),表示某個元素在數(shù)組中的位置。范圍:0 ~ 數(shù)組長度-1。數(shù)組長度:數(shù)組元素的個數(shù),可以通過 數(shù)組名稱.length 獲取。

代碼:

public static void main(String[] args) {

//定義一個數(shù)組

int[] arr = {12, 23, 34, 45, 56};

//定義循環(huán),獲取到數(shù)組所有的索引,此時i不僅表示循環(huán)的控制,還表示數(shù)組的索引

for (int i = 0; i < arr.length; i++) {

//定義一個變量接收根據(jù)索引獲得到的數(shù)組中的值,并打印出來

int x = arr[i];

System.out.println(x);

}

}

練習(xí):

1、定義一個方法,遍歷一個一維數(shù)組。

思路:通過循環(huán),訪問到數(shù)組中所有元素的索引。通過索引,訪問到對應(yīng)元素。

2、定義一個方法,求一個一維數(shù)組中的最大值。

思路:設(shè)置一個變量?max,作用是先代表數(shù)組中的最大值,遍歷數(shù)組,讓每個元素都和該變量比較,如果比最大值變量還要大,那么就讓當(dāng)前元素替換掉最大值變量中的數(shù)據(jù)。

3、定義一個方法,將一個數(shù)組中的數(shù)據(jù)進(jìn)行反轉(zhuǎn)。

思路:第一個變成最后一個,第二個變?yōu)榈箶?shù)第二個。(0索引和arr.length-1索引位置對調(diào),1索引和arr.length-2索引位置對調(diào)....,直到數(shù)組的最中間的元素,停止對調(diào)。)

代碼:

public static void main(String[] args) {

//定義一個數(shù)組

int[] arr = {16,80,33,43,42,57,29};

//調(diào)用數(shù)組遍歷方法,將數(shù)組作為一個實(shí)參傳遞

method01(arr);

//調(diào)用數(shù)組數(shù)組獲取最大值的方法,將數(shù)組作為一個實(shí)參傳遞

method02(arr);

//調(diào)用數(shù)組數(shù)組反轉(zhuǎn)的方法,將數(shù)組作為一個實(shí)參傳遞

method03(arr);

}

//定義一個有參數(shù)的數(shù)組遍歷方法

public static void method01(int[] arr) {

//循環(huán)遍歷,獲取所有的元素

for (int i = 0; i < arr.length; i++) {

System.out.println(arr[i]);

}

}

//定義一個有參數(shù)的數(shù)組獲取最大值的方法

public static void method02(int[] arr) {

//先假設(shè)數(shù)組的0號索引對應(yīng)的值是最大值,將它復(fù)制給一個變量

int max = arr[0];

//循環(huán)遍歷進(jìn)行比較

for (int i = 1; i < arr.length; i++) {

//如果當(dāng)前元素大于假設(shè)的最大值

if (arr[i] > max) {

max = arr[i];//就讓當(dāng)前元素將假設(shè)的最大值替換掉

}

}

//循環(huán)結(jié)束之后,此時max就是數(shù)組中的最大值

System.out.println("數(shù)組最大值為:"+max);

}

//定義一個有參數(shù)的數(shù)組反轉(zhuǎn)的方法

public static void method03(int[] arr) {

//循環(huán)遍歷比較,可以在for循環(huán)定義兩個變量,一個索引從前向后,一個索引從后向前,

for (int i = 0, j = arr.length - 1; i < j; i++, j--) {

//i和j位置的元素,進(jìn)行交換

int temp = arr[i];

arr[i] = arr[j];

arr[j] = temp;

}

}

二維數(shù)組

二維數(shù)組:數(shù)組的每個元素,恰好又是一個數(shù)組。

定義方式:

int[][] arr = new int[3][];

解釋:定義一個二維數(shù)組,名字arr,數(shù)組中每個元素還是一個數(shù)組,但是元素對應(yīng)的數(shù)組,沒有被創(chuàng)建的,arr[0] ?= null。

注意:二維數(shù)組的長度,一定要給出的,[3]代表二維數(shù)組長度

int[][] arr2 = {{},{4},{5,6,7}};

解釋:arr2是一個二維數(shù)組,里面有3個元素,對應(yīng)三個數(shù)組,分別是{},{4},{5,6,7}

注意:int [ ] [ ] arr = new int [0] [0];

這樣定義回拋出異常,因?yàn)閍rr[0]索引上的元素為{},是一個沒有任何元素的數(shù)組,獲取沒有元素的數(shù)組的指定索引,會拋出數(shù)組索引越界異常 ArrayIndexOutOfBoundsException。

數(shù)組的注意事項

1.在對數(shù)組進(jìn)行操作時,先控制其值不為null,然后再判斷數(shù)組的長度,以免發(fā)生空指針異常。如果 int [ ] a = null,那么針對于數(shù)組的所有操作,都將拋出空指針異常。

2.其實(shí),如果不判斷數(shù)組的長度不為0,就進(jìn)行數(shù)組的循環(huán)遍歷,for循環(huán)是可以控制住不報錯的,但是最好將判斷數(shù)組長度不為0寫上,這樣比較嚴(yán)謹(jǐn)。

3.int [ ] a = null;在內(nèi)存中不開辟空間。int [ ] a = { };在內(nèi)存中開辟空間,只不過數(shù)組中沒有元素。

二維數(shù)組遍歷代碼:

public static void main(String[] args) {

//定義一個二維數(shù)組

int[][] arr2 = { {}, { 4 }, { 5, 6, 7 } };

// 首先,先判斷二維數(shù)組不能為null并且數(shù)組的長度不為0

if (arr2 != null && arr2.length != 0) {

//利用for循環(huán),遍歷二維數(shù)組的每一個元素

for (int i = 0; i < arr2.length; i++) {

//二維數(shù)組的每一個元素又是一個數(shù)組,所以還需要判斷數(shù)組不能為null并且數(shù)組的長度不為0

if (arr2[i] != null && arr2[i].length != 0) {

//利用for循環(huán),遍歷二維數(shù)組的每一個一維數(shù)組中的元素

for (int j = 0; j < arr2[i].length; j++) {

int z = arr2[i][j];

//在一行輸出每個一維數(shù)組中的元素,用,分隔

System.out.print(z+",");

}

//每輸出完一個一維數(shù)組,換行

System.out.println();

} else {

System.out.println("一維數(shù)組不能為null并且數(shù)組長度不能為0");

}

}

}else {

System.out.println("二維數(shù)組不能為null并且數(shù)組長度不能為0");

}

}

練習(xí):

分析以下需求,并用代碼實(shí)現(xiàn):

(1)定義一個int類型的一維數(shù)組,內(nèi)容為{6,2,9,15,1,5,20,7,18}

(2)將數(shù)組最大元素與最后一位元素進(jìn)行交換,最小元素與第一位元素進(jìn)行交換,并打印數(shù)組,最后效果{1,2,9,15,6,5,18,7,20}

提示思路:先查找最大值和最小值出現(xiàn)的索引。

代碼實(shí)現(xiàn):

public static void main(String[] args) {

int[] arr = {6,2,9,15,1,5,20,7,18};//{1,2,9,15,6,5,18,7,20}

//判斷數(shù)組不能為null并且數(shù)組長度不能為0

if(arr != null&&arr.length != 0){

//判斷數(shù)組中的元素個數(shù)是否為1,如果只有一個數(shù),直接輸出

if(arr.length == 1){

System.out.println(arr[0]);

//判斷數(shù)組中元素個數(shù)是否為2,如果有兩個,判斷大小,最后輸出結(jié)果

}else if(arr.length == 2){

if(arr[0]>arr[1]){

int temp = arr[0];

arr[0] = arr[1];

arr[1] = temp;

}

for(int i = 0;i

System.out.print(arr[i]+",");

}

//判斷數(shù)組中的數(shù)據(jù)個數(shù)是否為2個以上

}else if(arr.length > 2){

//定義幾個變量假設(shè)是最小值,最大值,最小值的索引,最大值的索引

int min = arr[0];

int max = arr[arr.length-1];

int minIndex = 0;

int maxIndex = arr.length-1;

//使用for循環(huán)進(jìn)行遍歷

for(int i = 0;i

//找到最小值和最小值的索引

if(arr[i]

minIndex = i;

min = arr[i];

}

//找到最大值和最大值的索引

if(arr[i]>max){

maxIndex = i;

max = arr[i];

}

}

//將最小值和第一個數(shù)替換

int tempMin = arr[minIndex];

arr[minIndex] = arr[0];

arr[0] = tempMin;

//將最大值和最后一個數(shù)替換

int tempMax = arr[maxIndex];

arr[maxIndex] = arr[arr.length-1];

arr[arr.length-1] = tempMax;

//for循環(huán)遍歷輸出最后結(jié)果

for(int i = 0;i

System.out.print(arr[i]+",");

}

}

}else{

System.out.println("數(shù)組不能為null并且數(shù)組長度不能為0");

}

}

總結(jié)

以上是生活随笔為你收集整理的java数组键_Java基础之数组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。