写点什么

Java 基础 06 数组基础

  • 2022 年 4 月 25 日
  • 本文字数:1267 字

    阅读完需:约 4 分钟

也可以先声明数组,然后定义长度。


类型[] 数组名;


数组名 = new 类型[长度];


注意:创建数组后,数据会有默认值:


int 默认是 0,float 默认是 0.0f,double 默认是 0.0,String 默认是 null


[](()数组的内存分配情况




  • 基本数据类型是直接保存数据值

  • 引用数据类型是保存数据的内存地址



[](()数组的初始化


====================================================================


数组的初始化就是给数组元素进行赋值


两种初始化:


  1. 静态初始化


在定义数组的同时,给数组的数据赋值


数据类型[] 数组名 = {值 1,值 2,值 3...};


如:int[] array = {20,44,33,100,55};


数据类型[] 数组名 = new int[]{值 1,值 2,值 3...};


如:int[] array = new int[]{20,44,33,100,55};


注意:静态初始化就不能定义长度,数组的长度是由值的个数决定。


  1. 动态初始化


定义数组后,使用循环给数组赋值


int[] array = new int[5];


for(int i = 0;i < array.length;i++){


array[i] = i;


}


数组通过 数组名[下标] 访问数据,注意:


  • 下标从 0 开始

  • 如果下标不在 0 到数组长度-1 范围内,就会出现 ArrayIndexOutOfBoundsException 异常


练习:定义长度为 5 的字符串数组,对数据进行动态初始化,然后输出:


数组第一个、最后一个、中间字符串的值。


[](()增强型的 for 循环


=======================================================================


foreach 循环是在 jdk1.5 后支持的语法,用于遍历数组或集合,


语法:


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


访问变量的值


}


注意:此种 for 循环只能访问,不能修改数组中的数据


如果需要修改,就需要使用常规 for 循环。


练习:


定义一个 5 个长度的字符串数组,并给数组进行静态初始化


使用 foreach 循环,输出数组元素


[](()二维数组


==================================================================


什么是二维数组


可以理解成行和列构成表格结构,可以看做是一维数组中嵌套了一维数组


二维数组的创建


数据类型[][] 数组名 = new 数据类型[行数][列数];


如:int[][] array = new int[3][5];


二维数组的访问


数组名[行下标][列下标];


如:访问上面数组第二行第三个元素,array[1][2];


二维数组初始化


静态初始化


数据类型[][] 数组名 = {{值,值,值...},{值,值,值...},{值,值,值...}..};


数据类型[][] 数组名 = new 数据类型[][]{{值,值,值...},{值,值,值...},{值,值,值...}..};


动态初始化


int[][] array = new int[3][5];


for(int i = 0;i < array.length;i++){


for(int j = 0;j < array[i].length;j++){


array[i][j] = i * j;


}


}


《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】


[](()Arrays 工具类


=======================================================================


Arrays 类封装了很多和数组有关方法,可以提高开发效率


常用方法:


  1. 排序


Arrays.sort(数组名)


  1. 查找


int Arrays.binarySearch(数组名,要找的数)


获得的结果是要找数字的下标


  1. 复制


Arrays.copyOf(被复制的数组名,新的数组的长度)


获得的结果是新数组


  1. 填充


Arrays.fill(数组名,要填充的数);


给数组填充相同的值


  1. 比较


Arrays.equals(数组名 1, 数组名 2)


返回两个数组值是否相同

用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
Java基础06 数组基础_Java_爱好编程进阶_InfoQ写作社区