数组的基本应用

二维数组

遍历二维数组,按照[元素1, 元素2, 元素3, …]格式输出

public class TestErWeiShuZu{
	public static void main(String[] args){
		//静态二维数组初始化
		int[][]arr = {{4,5,6},{7,8,9},{10,11,12}};
		array(arr);	
	}
	public static void array(int[][]arr){
		//输出最左边括号
		System.out.print("{");
		//外层循环    二维数组的元素个数    也就是二维数组的长度     二维数组一共有三个元素   也是一维数组的个数
		for(int x = 0 ; x < arr.length ; x ++ ){
			System.out.print("{");
			//内层循环		控制一维数组元素个数
			for(int y = 0 ; y < arr[x].length ; y++){  		//一维数组的元素个数 < 一维数组的长度
				//求出二维数组的最后一位元素
				if(y == arr[x].length-1){ 		
					//那么输出二维数组最后一位元素,同时输出最右边大括号
				System.out.print(arr[x][y]+"}");	
				}else{
					System.out.print(arr[x][y]+",");
				}
			}
			if(x < arr.length-1 ){
				System.out.print(",");
			}
		}
		System.out.print("}");
	}
}

经典冒泡排序

请将给定的数组,{1087653457} 进行冒泡排序,并将排好序的数组输出到控制台


class TestMaoPao{
	
	public static void main(String[] args){
		
		//静态初始化
		int [] arr = {10,87,65,34,57};
		
		//排序前遍历
		
		System.out.println("排序前:");
		array(arr);
		
		
		//换行
		System.out.println();
		//冒泡排序后
		System.out.println("排序后:");
		array1(arr);
		array(arr);
	}
	
	
	//遍历数组中的元素
	
	public static void array(int [] arr){
		//输出左{
		System.out.print("{");
		
		for(int x = 0 ;x < arr.length ; x++){
			
			//如果角标等于 数组的长度减1,那么就输出最后一个元素
			if(x == arr.length-1){
			System.out.print(arr[x]+"}");
			}else{
				System.out.print(arr[x]+",");
			}
		
		}
	}
	
	
	//排序-----冒泡排序的思想:两两比较,大的放后边,比较次数是数组长度-1次
	public static void array1(int[] arr){
		//外层循环比较次数
		for(int x = 0 ; x < arr.length-1 ; x++){		
			for(int y = 0 ; y < arr.length-1-x ; y ++){		//内层循环比较大小			
				if(arr[y] > arr[y+1]){
					int temp = arr[y];
					arr[y] = arr[y+1];
					arr[y+1] = temp;
				}
			}
		}	
	}
}

自定义一个数组 进行逆序

public class TestNiXu{
	public static void main(String[] args){
		
		//自定义静态初始化 
		int [] arr = {12,13,15,16,18,19};
		
		
		System.out.println("遍历输出一次");
		//先遍历一遍
		array(arr);
		
		//逆序后的排序:
		System.out.println();
		System.out.println("逆序后的排序为:");
		//调用逆序
		array1(arr);
		
		//在遍历一遍
		array(arr);
		
	}
	
	
	//先将逆序前的数组进行遍历出来
	public static void array(int[]arr){
		//先将左括号进行打印出来
		System.out.print("{");
		for(int x = 0 ; x < arr.length ; x++){
		System.out.print(arr[x]+",");
		}
		System.out.print("}");
	}
	
	
	//进行逆序排序,用功能实现
	public static void array1(int[] arr){
		for(int y = 0 ; y <arr.length/2 ;y++){
			//进行互换
			int temp = arr[y] ;
			arr[y]= arr[arr.length-1-y];
			arr[arr.length-1-y]= temp;
			
		}
		
	}
}

定义一个数组 输出他的最值 — 返回的是具体值

public class TestMaxZhi{
	public static void main(String[] args){
		//定义数组
		int [] arr = {25,65,14,25,32,47};
		
		
		System.out.print("数组遍历:"+"\n");
		//数组遍历输出
		array(arr);
		
		
		int result = array1(arr);
		System.out.println("\n"+"最大值为:"+result);
		int result1 = array2(arr);
		System.out.println("\n"+"最小值为:"+result1);
	}
	
	
	
	
	
	
	//遍历
	public static void array(int[] arr){
		//输出左大括号
		System.out.print("{");
		for(int x = 0 ; x < arr.length ; x++){
			//索引的长度   等于  数组长度-1
			if(x == arr.length-1){
			System.out.print(arr[x]+"}");
			}else{
				System.out.print(arr[x]+",");
			}
		}
	}
	
	
	/*两个明确
			1)明确返回值类型: int类型
			2)参数类型以及参数个数
			int类型的数组 1个参数
			*/
			
			
	//思路:定义一个第三方变量,,求最大值
	public static int array1(int[]arr){
		
		int max = arr[0];
		
		//遍历后面的元素:从索引1开始
		for(int y = 1 ; y < arr.length ; y++){
				
				//判断 如果后面的元素都大于max了,
			if(arr[y] > max){
				max = arr[y];
			}
			
			
		}
		return max;
	}
	
	//最小值
	
	public static int array2(int[]arr){
		
		int max1 = arr[0];
		
		//遍历后面的元素:从索引1开始
		for(int k = 1 ; k < arr.length ; k++){
				
				//判断 如果后面的元素都大于max了,
			if(arr[k] < max1){
				max1 = arr[k];
			}
			
			
		}
		return max1;
	}
}

学习体会

通过两周的学习,我总结如下:
长时间的不学习脑力真的有所退化,没有当年在学校的那中学习潜力,两周以来,学习内容逐渐增多,有些吃力,但是我告诉我自己不能放弃,学习没有是容易的,最重要的是坚持.
对于上周的内容学习,我在方法,数组这块还有不熟悉的地方,我也在加强学习,不断通过敲代码来熟悉,对于做题的思路模糊,对自己写的内容不是很肯定对错,我也在不断的练习,看老师的代码逻辑.我认为学习要有自己的理解,有自己的思路,一味的照猫画虎也是不行的.
上课认真听讲,做到课后预习,课后复习,也可以看别的视频,来充实自己,只有不断的学习才能成长,不能只满足一时,对自己未来有一个明确的规划,计划.
要培养自己的学习习惯,有一个良好的学习习惯可以更好地提升自己,多向别人请教学习,不会就问,有问题大家一起讨论学习.每天可以分享自己的学习收获,合理安排自己的学习时间,认真学习.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值