java-第一阶段-JavaSE-Day07-数组的常见操作:冒泡排序,比较最大值

一、数组的常见操作

(一)遍历数组元素

        1.数组遍历:就是将数组的每个元素分别获取出来的过程,这就是遍历。

        2.分析思路:

                通过循环,访问到数组中所有元素的索引,0~length-1.

                通过索引,访问到对应的元素,数组名[索引]。

public class Demo01 {
	public static void main(String[] args) {
 		//遍历数组元素
		int[] arr = {1,2,3,4,5,6,7,8,9};
  		//遍历数组
    	//穷举法
     	
     	//System.out.println(arr[0]);
      	//System.out.println(arr[1]);
      	//System.out.println(arr[2]);
      	//System.out.println(arr[3]);
     	//System.out.println(arr[4]); 
     	//System.out.println(arr[5]); 
      	//for循环遍历     				
		for(int i = 0;i < arr.length;i++){
			System.out.println(arr[i]);
		}
	}
}

(二)数组获取最值

        1.给定一个数组,求出数组元素的最大值

        2.分析思路

                1)定义变量,保存数组0索引上的元素,int max = arr[0];假定0索引位置就是最大值。

                2)遍历数组,获取出数组中的每个元素

                3)将遍历到的数组和保存的0索引上的值得变量进行比较。

                4)如果数组元素的值大于了变量的值,变量记录新的值

                5)数组循环遍历结束,变量保存的就是数组中的最大值。

        示例:

public class Demo02{
	public static void main(String[] args) {
		int[] arr={234,32,546,8,32,8,34,7,6};
		int max = arr[0];
		for(int i=1;i<arr.length;i++){
			if(max<arr[i]){
				max=arr[i];
			}
		}
		System.out.println(max);
	}
}

(三)数组的翻转

        1.数组中对称位置的元素进行交换{10,0,2,40,50}反转后{50,40,30,20,10}

        2.分析思路

        定义头和尾两个索引变量,同时向中间移动,交换变量指定位置元素

        示例:

public class Demo04 {
	public static void main(String[] args) {
		int[] arr={1,2,3,4,5,6,7};
		for(int i=0,j=arr.length-1;i<j;i++,j--){
			int temp=arr[i];
			arr[i]=arr[j];
			arr[j]=temp;
		}
		for(int i = 0;i<arr.length;i++){
			System.out.print(arr[i]);
		}
		System.out.println();
	}
}

(四)冒泡排序

        1.目标:通过冒泡排序算法将数组中的元素进行升序排序

        2.原理:比较两个相邻的元素,将较大的元素交换至右端,如果前面元素比后面的元素大,交换他们的位置,反之不换

        3思路:

        依次比较相邻的两个数,将小的放在前面,大数放在后面。

        冒泡排序要分多趟,每一趟都会确定一个较大的值放在后面

public class Demo05 {
	public static void main(String[] args) {
		int[] arr={5,3,7,8,2,9,6};
		for(int i=0;i<arr.length-1;i++){
			for(int j=0;j<arr.length-i-1;j++){
				if(arr[j]>arr[j+1]){
					int temp=arr[j];
					arr[j]=arr[j+1];
					arr[j+1]=temp;
				}
			}
		}
		for(int i=0;i<arr.length;i++){
			System.out.println(arr[i]);
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皇正经

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值