1. 程式人生 > 其它 >Java陣列型別

Java陣列型別

Java陣列型別

資料

陣列的特點
​ 1.陣列本身是一個引用資料型別

​ ⒉.陣列是在堆記憶體中的一串連續的地址存在

​ 3.陣列在初始化時必須指定長度

​ 4.堆記憶體的陣列空間長度一旦確定不能再次發生改變

​ 5.棧記憶體的變數中儲存的是陣列的地址引用

​ 6.夙陣列內部儲存的型別可以是基本的也可以是引用

資料(容器)是一組資料型別相同的資料組合,將這些資料統一的管理起來

陣列是引用資料型別 資料記憶體儲的型別可以是基本型別,也可以是引用型別

1.陣列的定義(宣告)

​ 資料型別[ ] 陣列名字;

2.陣列的賦值(初始化)

靜態初始化

​ int[] array = new int[]{10,20,30,40,50};//有長度 有元素(new int[]是可以省略的)

動態初始化

​ int[] array = new int[5];//有長度 沒有元素(不是真的沒有 是有預設值)

​ 整數的---->0

​ 浮點數------>0.0

​ 字元-------- 0-------char

​ 布林------> false

​ 引用 -----> null

3.陣列元素的訪問

​ 通過元素在陣列中的位置來訪問

​ 位置-------->index索引

​ 索引是有取值範圍 (是從0開始的------陣列長度-1]

​ 如果陣列的索引超出了上述範圍,會出現一個執行時異常 ArrayLndexOutOfBoundsException

4.陣列元素的遍歷(輪詢)

​ 通過迴圈的方式訪問陣列的每一個元素

​ JDK1.5版本之後 新的特性 增強for迴圈 加強for forEach

for(自己定義的變數(接收陣列內每個元素) : 遍歷的陣列array){}

5.基本資料型別和引用資料型別在記憶體結構上的區別

​ 所有的變數空間都儲存在棧記憶體

​ 變數空間可以儲存基本資料型別也可以儲存引用資料型別

​ 如果變數空間儲存的是基本資料型別儲存的是值一個變數改變另一個不會跟著改變

​ 如果變數空間儲存的是引用資料型別儲存的是引用(地址) 一個變數對應的值改變 另一個跟著改變

練習:

package demo_17;
//找尋陣列中的最小值
public class ShuZu {
	public static void main(String[] args) {
		int[] array = {1,5,3,7,2,4,6,8,10};
		int min = array[0];
		for (int i = 0; i < array.length; i++) {
			if (array[i] < min) {
				min = array[i];
			}
		}
		System.out.println("陣列中的最小值為:" + min);
	}
}

package demo_17;
//合併兩個陣列
public class ShuZu1 {
	public static void main(String[] args) {
		int[] a = {1,2,3};
		int[] b = {4,5};
		int[] array = new int[ a.length + b.length];
		for (int i = 0; i < array.length; i++) {
			 if (i < a.length) {
				 array[i] = a[i];
			}else{
				array[i] = b[i-a.length];
			}
		}
		for (int y : array) {
			System.out.println("合併後是:" + y);
		}
		
	}

}

 package demo_17;

public class ShuZu2 {
	public static void main(String[] args) {
		//氣泡排序  陣列從小到大
		int number[] = {11,2,44,5,34,66,99,77,88};
			for (int i = 0; i < number.length-1; i++) {
				for (int j = 0; j < number.length-1; j++) {
					int num = 0;
					if (number[j] > number[j+1]) {
						num = number[j+1];
						number[j+1] = number[j];
						number[j] = num;
					}
				}
			}
			for(int i : number) {
				System.out.println(i);
			}
		
	}

}