java基础语法(3)数组

文章目录

数组

程序是用来处理数据的。比如:变量,数组,二维数组,对象,集合...

数组是什么

数组是一个数据容器,可用来存储一批同类型的数据。

如何定义数组

java 复制代码
// 静态初始化数组,定义时已经确定了数据
数据类型[] 数组名 = { 元素1,元素2 ,元素3,... }; 
int[] arr = {12, 24, 36};
// 完整格式
数据类型[]  数组名 = new 数据类型[]{元素1,元素2 ,元素3... };
int[] arr = new int[]{12, 24, 36}

注意: "数据类型[] 数组名"也可写成 "数据类型 数组名[] "

数组的访问

java 复制代码
int[] arr = new int[]{12, 24, 36};
// 数组名[索引]
System.out.println(arr[0]); // 12 
System.out.println(arr[1]); // 24
arr[1] = 100;

// 获取数组的长度(就是数组元素的个数)
System.out.println(arr.length); // 3

数组的另一种定义方式

定义数组时先不存入具体的元素值,只确定数组存储的数据类型和数组的长度

java 复制代码
数据类型[]  数组名 = new 数据类型[长度];
int[] arr = new int[3];

动态初始化数组元素默认值规则:

数据类型 明细 默认值
基本类型 byte、short、char、int、long 0
float、double 0.0
boolean false
引用类型 类、接口、数组、String null

数组的遍历

什么是遍历?

答:就是一个一个数据的访问。

为什么要遍历数组?怎么遍历?

java 复制代码
int[] arr = {20, 30, 40, 50};
for (int i = 0; i < arr.length; i++) {
   	System.out.println(arr[i]);
}

二维数组

二维数组是什么

数组中的每个元素都是一个一维数组,这个数组就是二维数组。

静态初始化

java 复制代码
数据类型[][]  数组名 = new 数据类型[][]{元素1, 元素2, 元素3, ...};
int[][] arr = new int[][]{ {12, 24, 36} , {666, 888} , {10, 20, 30} , {999} };

动态初始化

java 复制代码
数据类型[][]  数组名 = new 数据类型[长度1][长度2];
int[][] arr = new int[3][5];
int[][] arr = new int[][]{ 
  {0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0}, 
  {0, 0, 0, 0, 0} 
};

二维数组的访问

java 复制代码
int[][] arr = new int[][]{ {12, 24, 36} , {666, 888} , {10, 20, 30} , {999} };
数组名称[行索引]
示例1: arr[2]
数组名称[行索引] [列索引]
示例2: arr[2][1] 
示例3:arr[3][0] = 111

二维数组的遍历

java 复制代码
for (int i = 0; i < arr.length; i++) {
  	for (int j = 0; j < arr[i].length; j++) {
     	int data = arr[i][j];
       	System.out.print(data + "\t");
 	}
        System.out.println();
}
相关推荐
介si啥呀~37 分钟前
解决splice改变原数组的BUG(拷贝数据)
java·前端·bug
电子连接器CAE与高频分析3 小时前
Matlab添加标题title与标签lable
开发语言·matlab
努力弹琴的大风天3 小时前
MATLAB遇到内部问题,需要关闭,Crash Decoding : Disabled - No sandbox or build area path
开发语言·matlab
奋进的小暄4 小时前
数据结构(java)栈与队列
java·开发语言·数据结构
SnXJi_4 小时前
纷析云开源财务软件:企业财务数字化转型的灵活解决方案
java·gitee·开源·开源软件
pingzhuyan4 小时前
03(总)-docker篇 Dockerfile镜像制作(jdk,jar)与jar包制作成docker容器方式
java·docker·jar
笺上山河梦5 小时前
文件操作(二进制文件)
开发语言·c++·学习·算法
caihuayuan45 小时前
Redis奇幻之旅(三)1.redis客户端与服务端
java·大数据·sql·spring·课程设计
匆匆整棹还6 小时前
关于tomcat乱码和idea中控制台乱码的问题
java·tomcat·intellij-idea
有杨既安然7 小时前
Python自动化办公
开发语言·人工智能·深度学习·机器学习