栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java学习

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java学习

数组

数组用于存储相同类型的一组数据,它是一种数据结构,也是Java中的一种类型。

  • 一个数组有多个数据(元素)
  • 一个数组里面的元素都是相同类型
  • 数组中的元素用序号(下标,从0开始)来访问
  • 数组一旦初始化后,长度不能改变
定义数组

数组定义跟变量定义类似,就是在变量类型后面加一对方括号

  • 只定义数组,没有分配内存空间
  • 没有长度

(注意: 数组可以按这样的方式定义,但是不推荐 int arrXxx[] )

//数组定义跟变量定义类似,就是在变量类型后面加一对方括号
int[] arrInt;
char[] arrChar;
boolean[] arrBoolean;
String[] arrStr;
初始化数组

指定长度,分配内存空间,每个元素给初始化的值

  • new 类型[长度]
  • new 类型[]{ }
  • 类型[] 数组变量 = { }

如果数组初始化时没有赋值,按下面的规则给数组元素赋默认值:

数据类型默认值
byte, short, int ,long0
float, double0.0
char‘u0000’ 不可见字符
booleanfalse
引用类型(类, 接口, 数组)null
//        数组的初始化
        arrInt = new int[5]; //int类型数组默认初始值是0
        arrChar = new char[]{'a', 'b', 'c'}; //初始化的同时赋值,
        String[] arrStr2 = {"Tom", "Jack"};  //在数组定义时,直接用大括号赋值和初始化
        float[] arrFloat = {3.14F, 2.56F, 4.22F};
使用数组

用数组变量名加[], 中括号里面写上下标,就可以读写数组的元素。

  • 下标不能越界,否则要报(抛出)异常
  • 数组长度可以通过length属性获得
//        数组使用
//        变量名[下标]  这样读取指定元素的值
        System.out.println(arrInt[0]);
        System.out.println(arrStr2[1]);
        System.out.println(arrFloat[2]);

//        数组元素赋值
        arrInt[0] = 888;
        arrStr2[1] = "重新赋值";
        arrFloat[2] = 8.88F;

        System.out.println(arrInt[0]);
        System.out.println(arrStr2[1]);
        System.out.println(arrFloat[2]);

//        访问数组元素时,如果下标超出范围,抛出异常ArrayIndexOutOfBoundsException(数组下标越界异常)
        arrInt[5] = 100;

//      数组变量有一个lenght的属性,就是数组长度
        System.out.println(arrInt.length);
用循环遍历数组
  • for循环
  • foreach

​ for(类型 变量名 : 数组名){

​ //变量的值就是数组里元素

​ }

    System.out.println("=========顺序遍历数组=======");
        for (int i = 0; i < arrStr2.length; i++) {
            System.out.println(arrStr2[i]);
        }

        System.out.println("=========倒序遍历数组=========");
        for (int i = arrStr2.length - 1; i >= 0; i--) {
            System.out.println(arrStr2[i]);
        }

        System.out.println("========遍历数组,给数组元素赋值=========");
        for (int i = 0; i < arrInt.length; i++) {
            arrInt[i] = i;
        }
        System.out.println(arrInt[3]);

        System.out.println("========foreach循环遍历数组========");
//        foreach, 增强的for循环
        for(int i : arrInt){
            System.out.println(i);
           
        }

二维数组
        int[][] arrInt1 = new int[5][3]; //初始化指定外层数组和内层数组的长度
        int[][] arrInt2 = new int[5][];  //初始化只指定外层长度
        //初始化的时候赋值,内层数组长度可以不一样
        int[][] arrInt3 = new int[][]{{1,2}, {3,5,7}, {10, 20, 40, 50}}; 
    

	//二维数组
        int[][] arrInt = {{1, 2, 3},
                            {4, 5, 6},
                            {7, 8, 9}};

        System.out.println(arrInt[0][1]);
        System.out.println(arrInt[1][1]);
        System.out.println(arrInt[2][0]);

//        用循环嵌套遍历二维数组
        for (int i = 0; i < arrInt.length; i++) {
            for (int j = 0; j < arrInt[i].length; j++) {
                System.out.println(arrInt[i][j]);
            }
        }

Arrays类的使用
        String[] arrStr = {"abc", "123", "456", "中文"};
//      在数组里搜索一个元素,搜到返回元素的下标;没有搜到返回负数
        int i = Arrays.binarySearch(arrStr, "中文");
        System.out.println(i);

//        复制一个新数组,第一个参数是原数组,第二个参数是新数组的长度
        String[] arrNew = Arrays.copyOf(arrStr, 5);
        System.out.println(arrNew.length);
        System.out.println(arrNew[4]);

//        把数组转为字符串
        System.out.println(Arrays.toString(arrStr));

//        对数组进行排序
        Arrays.sort(arrStr);
        System.out.println(Arrays.toString(arrStr));

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1028114.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号