• 【数组的使用续篇】



    以数组的形式打印数组

    打印方法:Arrays.toString(数组名)

    public class Test {
        public static void main(String[] args) {
            int[] array={1,2,3,4,5};
            String ret = Arrays.toString(array);
            //或者这种System.out.println(Arrays.toString(array));
            System.out.println(ret);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    数组排序大小

    排序方法是 Arrays.sort(数组名)

    public class Test {
        public static void main(String[] args) {
            int[] array={7,18,5,27,100};
            System.out.println(Arrays.toString(array));
    
            Arrays.sort(array);//排序方法
            System.out.println(Arrays.toString(array));
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    创建一个自己的打印数组的方法

    用循环打印[ ]、数字还有标点符号

    要记得打印数组的方法是:Arrays.toString(数组名)

    public class Test {
        public static void main(String[] args) {
            int[] array = {7, 18, 5, 27, 100};
            System.out.println(myToString(array));
    
            Arrays.sort(array);//排序方法
            System.out.println(myToString(array));
    
            int[] array1 = null;//当数组为空时,打印null
            System.out.println(myToString(array1));
    
            int[] array2={ };//当数组为0时,打印[]
            System.out.println(myToString(array2));
        }
        public static String myToString(int[] array){
            if(array==null){
                return null;
            }
            if(array.length==0 )
            {
                return "[]";
            }
            String ret ="[";
            for (int i = 0; i <array.length ; i++) {
                ret += array[i]+" ";
                if(i != array.length-1){
                    ret += ",";
                }
            }
            ret += "]";
            return ret;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    自己创建一个冒泡排序

    两数之间交换方法

        //冒泡排序
    public class Test {
        public static void main(String[] args) {
            int[] array={2,1,8,16,22,7};
            Bubblesort(array);
            Arrays.sort(array);//给数组排序大小
            System.out.println(Arrays.toString(array));
        }
        public static void Bubblesort(int [] array){
            if(array==null){
                return ;
            }
            for (int i = 0; i < array.length; i++) {
                boolean flg =false;//优化代码时间复杂度
                for (int j = 0; j <array.length-1-i ; j++) {
                    int tmp = 0;
                    if(j>j+1){
                        tmp =array[j] ;
                        array[j] = array[j+1];
                        array[j+1] =tmp;
                        flg =true;
                    }
                }
                if(!flg){
                    return ;
                }
    
            }
    
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    逆置数组打印

    核心思路还是 i 和 j 交换

    public class Test {
        public static void main(String[] args) {
            int[] array={2,3,4,5};
            reverse(array);
            System.out.println(Arrays.toString(array));
        }
        public static void reverse(int[] array){
            if(array==null){
                return ;
            }
            int i=0;
            int j=array.length-1;
            //当i>=j时说明已经交换完
            //要有条件让交换停下来
           while(i<j){
               int tmp= array[i];
               array[i] = array[j];
               array[j] = tmp;
               i++;
               j--;
           }
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    总结

    今天的复习收获蛮多,学到了数组的打印方法排序方法,也学到了逆置打印数组和如何用数组创建一个冒泡排序

  • 相关阅读:
    RK3399驱动开发 | 07 - GT911触摸屏驱动调试及问题分析解决(基于RK SDK Linux 4.4.194内核)
    Linux-安装MySQL(详细教程)
    文件操作 !!C语言
    labelImg
    Spring的BeanFactory与FactoryBean的区别
    make&Makefile
    Redis的各种部署
    一篇文章带你搞懂MybatisPlus
    49 html鼠标事件(在线测试)
    二极管:Irush与我何干?
  • 原文地址:https://blog.csdn.net/2301_76496134/article/details/133909459