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();
}
相关推荐
吃饱了得干活2 分钟前
缓存与数据库一致性:从理论到实战
java·后端·面试
520拼好饭被践踏9 分钟前
JAVA+Agent学习day22
java·开发语言·后端·学习
笨蛋不要掉眼泪20 分钟前
Java虚拟机:堆的参数配置
java·开发语言·jvm
霸道流氓气质23 分钟前
SpringBoot中使用JasperReports 报表引擎 — 介绍、原理与使用实践
java·spring boot·后端
冰暮流星26 分钟前
javascript之date对象
开发语言·javascript·ecmascript
花生了什么事o28 分钟前
DDD 分层架构:六层分层架构
java·架构·ddd
Y38153266231 分钟前
3 种 SERP 数据处理方案对比:流式 / 批处理 / 缓存
java·spring·缓存
Wang's Blog1 小时前
Go-Zero项目开发17: IM私聊功能实现与消息存储设计
开发语言·后端·golang
Ulyanov1 小时前
Python雷达电子对抗仿真引擎(一):打破单体瓶颈,构建微服务与ECS架构的顶层设计
开发语言·python·微服务·云原生·架构·雷达电子对抗
IT方大同1 小时前
C语言分支与循环语句
c语言·开发语言·算法