当前位置:网站首页 > Java基础 > 正文

java基础16数组



数组

所谓数组(array),就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,以便统一管理他们,然后用编号区分他们,这个名字称为数组名,编号称为下标或索引(index)。组成数组的各个变量称为数组的元素(element)。数组中元素的个数称为数组的长度(length)。

数组的特点:

1、数组的长度一旦确定就不能修改

2、创建数组时会在内存中开辟一整块连续的空间。

3、存取元素的速度快,因为可以通过[下标],直接定位到任意一个元素。

数组的定义

方式一:静态初始化

数据类型[] 数组名 = {元素1,元素2,元素3...};//必须在一个语句中完成,不能分开两个语句写 int[] arr = {1,2,3,4,5};//正确 int[] arr; arr = {1,2,3,4,5};//错误 
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3...}; 或 数据类型[] 数组名; 数组名 = new 数据类型[]{元素1,元素2,元素3...};java基础16数组 int[] arr = new int[]{1,2,3,4,5};//正确 int[] arr; arr = new int[]{1,2,3,4,5};//正确 int[] arr = new int[5]{1,2,3,4,5};//错误的,后面有{}指定元素列表,就不需要在[长度]指定长度。 

方式二:动态初始化

 数组存储的元素的数据类型[] 数组名字 = new 数组存储的元素的数据类型[长度]; 或 数组存储的数据类型[] 数组名字; 数组名字 = new 数组存储的数据类型[长度]; 

数组定义格式详解:

  • 数组存储的元素的数据类型: 创建的数组容器可以存储什么数据类型的数据。
  • 元素的类型可以是任意的Java的数据类型。例如:int, String, Student等
  • [] : 表示数组。
  • 数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组。
  • new:关键字,创建数组使用的关键字。因为数组本身是引用数据类型,所以要用new创建数组对象。
  • [长度]:数组的长度,表示数组容器中可以存储多少个元素。
  • 注意:数组有定长特性,长度一旦指定,不可更改。

数组元素的访问

  • 索引: 每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。
  • 索引范围:[0, 数组的长度-1]

  

索引访问数组中的元素:

  • 数组名[索引]=数值,为数组中的元素赋值
  • 变量=数组名[索引],获取出数组中的元素

数组的遍历

  • 数组的长度属性: 每个数组都具有长度,而且是固定的,Java中赋予了数组的一个属性,可以获取到数组的长度,语句为: ,属性length的执行结果是数组的长度,int类型结果。由次可以推断出,数组的最大索引值为
  • 数组遍历: 就是将数组中的每个元素分别获取出来,就是遍历。遍历也是数组操作中的基石。

数组默认元素

  

 数组扩容 

public class Test1{ public static void main(String[] args){ int[] arrs={2,3,4,5}; int num=6; //对数组进行扩容 //1. 新建一个新数组(长度要比原来要长) int[] newArrs=new int[arrs.length+1]; //2. 将原数组中的数据复制到新数组 for(int i=0;i<arrs.length;i++){ newArrs[i]=arrs[i]; } //3. 将新数组的地址赋给arrs arrs=newArrs; //对arrs进行新增数据6 arrs[4]=6; //查看数据 for(int i=0;i<arrs.length;i++){ System.out.println(arrs[i]); } } }

二维数组的声明

//推荐 元素的数据类型[][] 二维数组的名称; //不推荐 元素的数据类型 二维数组名[][]; //不推荐 元素的数据类型[] 二维数组名[]; 

二维数组的初始化

 静态初始化

元素的数据类型[][] 二维数组名 = new 元素的数据类型[][]{ {元素1,元素2,元素3 。。。}, {第二行的值列表}, ... {第n行的值列表} }; 元素的数据类型[][] 二维数组名; 二维数组名 = new 元素的数据类型[][]{ {元素1,元素2,元素3 。。。}, {第二行的值列表}, ... {第n行的值列表} }; //以下格式要求声明与静态初始化必须一起完成 元素的数据类型[][] 二维数组的名称 = { {元素1,元素2,元素3 。。。}, {第二行的值列表}, ... {第n行的值列表} }; 

动态初始化(规则二维表:每一行的列数是相同的)

//(1)确定行数和列数 元素的数据类型[][] 二维数组名 = new 元素的数据类型[m][n]; m:表示这个二维数组有多少个一维数组。或者说一共二维表有几行 n:表示每一个一维数组的元素有多少个。或者说每一行共有一个单元格 //此时创建完数组,行数、列数确定,而且元素也都有默认值 //(2)再为元素赋新值 二维数组名[行下标][列下标] = 值; 

 

动态初始化(不规则:每一行的列数可能不一样)

 

//(1)先确定总行数 元素的数据类型[][] 二维数组名 = new 元素的数据类型[总行数][]; //此时只是确定了总行数,每一行里面现在是null //(2)再确定每一行的列数,创建每一行的一维数组 二维数组名[行下标] = new 元素的数据类型[该行的总列数]; //此时已经new完的行的元素就有默认值了,没有new的行还是null //(3)再为元素赋值 二维数组名[行下标][列下标] = 值; 

二维数组的遍历

for(int i=0; i<二维数组名.length; i++){ for(int j=0; j<二维数组名[i].length; j++){ System.out.print(二维数组名[i][j]); } System.out.println(); } 

  

  

 

版权声明


相关文章:

  • java软件基础入门2025-04-07 22:58:04
  • java泛型基础2025-04-07 22:58:04
  • java基础代码框架2025-04-07 22:58:04
  • 西城java基础培训2025-04-07 22:58:04
  • java基础之算法2025-04-07 22:58:04
  • 测试面试java基础2025-04-07 22:58:04
  • 最好java基础图书2025-04-07 22:58:04
  • java基础升级2025-04-07 22:58:04
  • java基础题型2025-04-07 22:58:04
  • java基础类型占用2025-04-07 22:58:04