2018.29 八

數組:
數組:是一種數據類型的集合,是一個容器
格式一:
元素類型[ ] 數組名=new 元素類型[ 元素個數或數組長度]
格式二:
元素類型[ ] 數組名= {元素,元素…}排列的索引是從零開始
java中內存分配及棧和堆的區別:
在這裏插入圖片描述
在這裏插入圖片描述
特別注意地址的含義,int[ ] arr1={1,2,3}
arr1不等於{1,2,3}而是通過地址找到相應的數組

arr1=null;等於空(指向地址爲空,堆內的數組沒有發生改變)
int [ ] arr2=arr1(是傳遞了地址而不是數組)
遍歷:
for(int a:arr1){ 高級for循環,打印(a)遍歷數組
System.out.println(a);
}

int[] b = {22,11,13,15,12,20};
		//找最大值
		int max = b[0];
		for(int i:b){
			if(i>max){
				max = i;
			}
		}
		System.out.println(max);

排序:
冒泡排序:

public static void main(String[]args){
		//數組排序從小到大
		int[] a=new int[6];
		int[] b={99,80,100,4,71,60};
		int t=0;
		for(int j=0;j<b.length-1;j++){
			for(int i=0;i<b.length-1-j;i++){//(依次比較大,的與後一位交換位置,
				if(b[i]>b[i+1]){          //才能真正的排序從小到大所以需要再一次的循環)
				t=b[i];
				b[i]=b[i+1];
				b[i+1]=t;
				}
			
			}
		}

選擇排序:

public static void main(String[]args){
		//數組排序從小到大(選擇排序)
		int[] a=new int[6];
		int[] b={99,80,100,4,71,60};
		
		for(int j=0;j<b.length-1;j++){
			int max=0;
			for(int i=0;i<b.length-1-j;i++){//把最大的放在最後面,-j 在剩餘的中尋找最大再放在最後面,此時的最後和前面的最後面不一樣是-j剩餘數的最後面
				if(b[i]>max){
				max=b[i];
				b[i]=b[b.length-1-j];//改變交換位置爲第一個位置 就變成了從大到小
				b[b.length-1-j]=max;
				
				}
			}
		}

二維數組:
格式:
1、數據類型[ ] [ ]數據名稱=new 數據名稱[m] [n]
2、數據類型[ ] [ ] 數據名稱={{1,2,3}{5,6,4}{4,8,9}};
3、數據類型 數組名稱[ ][ ]=new 數據名稱[m][n]
4、數據類型 [ ]數組名稱[ ]=new 數據名稱[m][n]
圖解:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
遍歷:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章