首页 > 代码库 > 第三节 java 数组(循环遍历、获取数组的最值(最大值和最小值)、选择排序、冒泡排序、练习控制台输出大写的A)

第三节 java 数组(循环遍历、获取数组的最值(最大值和最小值)、选择排序、冒泡排序、练习控制台输出大写的A)

获取数组的最值(最大值和最小值)

思路: 1、获取最值需要进行比较,每一次比较都会有一个较大的值,因为该 值不确定,需要一个变量进行临储

2、让数组中的每一个元素都和这个变量中的值进行比较,如果大于了 变量中的值,就用该变量记录较大值。

3、当所有的元素都比较完成,那么该变量中存储的就是数组中最大值

例子://最大值

int arr[] = {1,2,3,4,5,};

int max = arr[0];

  for(int a=0;a<arr.length;a++){

{if(arr[a])>arr[max]{

mac=arr[a];}

}

system.out.println("数组arr最大值为:"+max);同理去最小值。

 

选择排序

选择排序:一开始默认角标为0的数为最小的数,依次和后面的数比较,发现小的记录下标,最
后把角标为0的数和最后的角标数交换,第二次从角标为1的数开始遍历;


int arr[] = {1,2,3,4,5};
for(int i = 0;i < arr.length-1;i++){
    for(int a = i+1;a<arr.length;a++){
        if(arr[i] > arr[a]){
            int temp = arr[a];
            arr[a] = arr[i];
            arr[i] = temp;
        }
    }
}

System.out.print("{");
    for(int b = 0;b < arr.length;b++){
        if(b != arr.length-1){
         System.out.print(arr[b]+",");
        }else{
        System.out.print(arr[b]+"}");   
        }
    }   

冒泡排序

冒泡排序:是通过两两比较,把比较的得到的最大值或最小值放到数组的最后面,然后依次循环
第一次取到最大值或者最小值,进入第二次循环,第二次循环也是两两比较,因为第
一次循环的时候我们的得到的值已经和前面的值进行了比较判断,所以第二次循环的
时候就不需要再把前一次比较得到的值再进行一个比较,所以我们的第二个for循环里
面会有一个.length-i-1;

int[] arr = {3,2,4,7,6,5,9,8,10,20,1};
for(int a = 0;a<arr.length-1;a++){
for(int b = 0;b<arr.length-1-i;b++){
if(arr[a]>arr[b+1]){
int temp = arr.[a];
arr.[a] = arr.[b];
arr.[b] = temp ;
}
}

练习:

控制台用*输出大写的A;

for (int a = 1;a<=5;a++){
if(a==1){ //当为第一行时,我们只输出5个空格和一个*结束
//1.循环输出空格;
for(int i = 5;i>a;i--){ //输出5个空格的循环,以此减少到1;
Systen.out.print(" "); //循环输出空格时不提行;
} Systen.out.println("*"); //第一行结束要换行所以用println;
} else{
for(int i = 5;i>a;i--){ //输出5个空格的循环,以此减少到1;
Systen.out.print(" "); //循环输出空格时不提行;
Systen.out.println("*"); //接着输出空格,加*;
if(a==5/2+5%2){ //取到中间值时;
for (int b =1;b<=2*(a-1)-1;b++){
Systen.out.print(" "); //循环输出空格时不换行;
} Systen.out.println("*"); //空格循环结束后输出“*”,再提行;
} else { // 空格规律为*(a-1)-1;
for(int b =1;b<=2*(a-1)-1;b++){
Systen.out.print(" "); //循环输出空格时不换行;
} Systen.out.println("*"); //空格循环结束后输出*,再提行
}
}

 

第三节 java 数组(循环遍历、获取数组的最值(最大值和最小值)、选择排序、冒泡排序、练习控制台输出大写的A)