zoukankan      html  css  js  c++  java
  • Java(七)

    数组操作

    遍历数组

    1.数组的遍历可以使用for循环来实现;

    使用for循环遍历时,定义int i=0,因为索引是从0 开始的,继续循环的条件是 i<array.length,因为当i=array.length时,i的索引超出了范围。

    2.数组的循环还可以使用for each 直接迭代数组的每个元素;

    在for(int n : array)中,变量n是直接获取到array的元素,并不是索引。

    直接打印数组变量,得到的是数组在JVM中的地址;

    打印数组时用Arrays.toString()

    public class Test {
        public static void main(String[] args){
            int[] array = {1,3,45,22,89};
            System.out.println(Arrays.toString(array));
        }
    }

    练习:请按倒叙遍历数组,并打印

    public class Test {
        public static void main(String[] args){
            int[] arr = {1,3,45,22,89};
            for (int i = arr.length-1; i>=0; i--){
                System.out.println(arr[i]);
            }
        }
    }

    数组排序

    java内置了数组的排序功能,Arrays.sort()

    public class Test {
        public static void main(String[] args){
            int[] arr = {1,3,45,22,89,0,77,90};
            Arrays.sort(arr);
            System.out.println(Arrays.toString(arr));
        }
    }
    //对数组进行降序排序
    public
    class Test { public static void main(String[] args){ int[] arr = { 28, 12, 89, 73, 65, 18, 96, 50, 8, 36 }; //排序前: // System.out.println(Arrays.toString(arr)); //排序后 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 tmp = arr[j+1]; arr[j+1] = arr[j]; arr[j] = tmp; } } } System.out.println(Arrays.toString(arr)); if (Arrays.toString(arr).equals("[96, 89, 73, 65, 50, 36, 28, 18, 12, 8]")){ System.out.println("测试成功"); }else { System.out.println("测试失败"); } } }

    常用的算法排序有:冒泡排序、插入排序、快速排序等

    冒泡排序使用两层for循环实现排序;

    交换两个变量的值需要借助一个临时变量;

    对数组排序会直接修改数组本身;

    可以直接使用java标准库提供的Arrays.aort()对数组进行排序;

    多维数组

    二维数组

    二维数组就是数组的数组

    定义一个二维数组:int[][] ns = {

                  {1,2,3,4};

                  {5,6,7,8,9};

                  {10,11,12,13,14,15}

                  };

    访问二维数组中的某个元素:ns[row][col];

    要打印一个二维数组,可以用for双层循环,也可以用Java标准库提供的Arrays.deepToString();

    public class Test {
        public static void main(String[] args){
            int[][] arr = {
                    {1,2,3},
                    {4,5,6,7},
                    {8,9,10,11,12}
            };
            System.out.println(arr.length);//输出二维数组的长度
            //for 循环打印二维数组
            for (int[] n : arr
                 ) {
                for (int nn : n
                     ) {
                    System.out.println(nn);
                }
            }
            //Arrays.deepToDtring()输出二维数组
            System.out.println(Arrays.deepToString(arr));
        }
    }

    三维数组

    三维数组就是二维数组的数组

    eg:

     int[][][] arr = {
                    {
                            {1,2,3},
                            {4,5,6,7},
                            {8,9,10,11,12}
                    },
                    {
                            {13,14},
                            {15,16}
                    },
                    {
                            {17,18},
                            {19,20}
                    }
            };

    访问三维数组中的某个元素:arr[0][1][1]

    练习:使用二维数组可以表示一组学生的成绩,请计算所有学生的平均分

    public class Test {
        public static void main(String[] args){
            // 用二维数组表示的学生成绩:
            int[][] scores = {
                    { 82, 90, 91 },
                    { 68, 72, 64 },
                    { 95, 91, 89 },
                    { 67, 52, 60 },
                    { 79, 81, 85 },
            };
            double sum = 0;
            int num = 0;
            for (int[] arr : scores
                 ) {
                for (int a : arr
                     ) {
                    sum = sum + a;
                    num ++;
                }
            }
            double average = sum/num;
            System.out.printf("average:%.3f",average);
            if (Math.abs(average - 77.733333) < 0.000001){
                System.out.println("测试成功");
            }else{
                System.out.println("测试失败");
            }
        }
    }

    备注:

    二维数组就是数组的数组,三维数组就是二维数组的数组;

    多维数组的每个数组的数组元素长度都不相同;

    打印多维数组可以使用Arrays.deepTotring();

    最常见的多维数组是二维数组,访问二维数组的一个元素用array[row][col]。

    命令行参数

    命令行参数类型是String[] 数组;

    命令行参数,由jvm接收用户输入,并传给main方法;

    如何解析命令行参数,由程序自己实现。

  • 相关阅读:
    Axure RP使用攻略--动态面板滑动效果(10)
    Axure RP使用攻略--带遮罩层的弹出框(9)
    Axure RP使用攻略--动态面板的用途(8)
    Axure RP使用攻略--入门级(七)之axure元件使用思路的补充
    Axure RP使用攻略--入门级(六)关于Axure rp触发事件中IF和ELSE IF的使用说明
    Axure RP使用攻略--入门级(五)系统函数与变量
    Axure RP使用攻略--入门级(四)条件生成器
    Axure RP使用攻略--入门级(三)元件的触发事件
    Altium Designer 14安装破解
    小米手环暴力拆解
  • 原文地址:https://www.cnblogs.com/xiaoxiaorichang/p/14513027.html
Copyright © 2011-2022 走看看