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]
图解:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
遍历:
在这里插入图片描述

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