zoukankan      html  css  js  c++  java
  • Java数组

    Java中提供的数组是用来存储固定大小的同类型元素

     一维数组

      1、声明数组变量

        必须先声明数组变量,才能使用数组。

    dataType[] arrayRefVar;   // 首选的方法
    或
    dataType arrayRefVar[];  // 效果相同,但不是首选方法

      2、创建数组

        Java中采用new操作符来创建数组

    arrayRefVar = new dataType[arraySize];

        上面的语法语句做了两件事:

          1)使用 dataType[arraySize] 创建了一个数组

          2)把新创建的数组的引用赋值给变量 arrayRefVar

        数组的声明和创建使用一条语句完成

    dataType[] arrayRefVar = new dataType[arraySize];
    // 如:
    String[] sarr=new String[10];
    // 创建并初始化数组
    dataType[] arrayRefVar = {value0, value1, ..., valuek};
    // 如:
    String[] sarr = {"1", "2", "3"};

      

      3、数组访问

            // 数组访问
            String s = sarr[0];
            // 数组元素赋值
            sarr[1] = "4";

      4、数组遍历

        1)普通for循环

            // 普通for循环遍历
            for(int i=0;i<sarr.length;i++){
                System.out.println(sarr[i]);
            }

        2)For-Each循环

          增强for循环可以在不使用数组下标的情况下遍历数组  

            // 增强for循环遍历数组
            for (String s : sarr) {
                System.out.println(s);
            }

     多维数组

      多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每个元素都是一个一维数组

      二维数组:String[][] str = new String[3][4]; 可以看成是一个三行四列的数组

        

       

       多维数组的动态初始化(以二维数组为例)

    type[][] tableName = new type[rowLength][columnLength];

      type 可以为基本数据类型和复合数据类型,rowLength(行数) 和 columnLength(列数) 必须为正整数。

      

      二维数组的初始化,以三行四列数组为例:

            // 二维数组初始化
            int[][] table = {
                    {1, 2, 3, 4},
                    {5, 6, 7, 8},
                    {9, 10, 11, 12}
            };
            // 创建并初始化
            int[][] table2 = new int[][]{
                    {1, 2, 3, 4},
                    {5, 6, 7, 8},
                    {9, 10, 11, 12}
            };

      二维数组的访问:

        多维数组中每个维度的索引都是从0开始的,可使用 tableName[rowNumber][columnNumber]来访问二维数组中的每个元素。

      二维数组的遍历:

            int rowLen = table.length; // 3 (rowLength)
            // 遍历
            for (int i = 0; i < rowLen; i++) { // 遍历得到每一行
                int columnLen = table[i].length;
                for (int j = 0; j < columnLen; j++) { // 遍历当前行的每一列
                    System.out.println(table[i][j]);
                }
            }

         二维数组的遍历,第一层遍历得到的是每一行,第二层遍历当前行的每一列。

      

        

    END.

  • 相关阅读:
    CompletionService--实现并行获取future.get()结果
    ConcurrentHashMap+FutureTask实现高效缓存耗时较长的业务结果获取
    Exchanger--线程执行过程中交换数据
    线程池的处理流程
    CyclicBarrier--栅栏,挡住指定数量线程后一次放行
    Semaphore--信号量,控制并发线程数,如流量控制
    CountDownLatch---多线程等待
    线程安全相关概念
    SimpleDateFormat非线程安全
    记java.lang.NoSuchMethodError错误解决过程
  • 原文地址:https://www.cnblogs.com/yangyongjie/p/15687969.html
Copyright © 2011-2022 走看看