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();
}
相关推荐
R.lin11 分钟前
Java 8日期时间API完全指南
java·开发语言·python
毕设源码-赖学姐17 分钟前
【开题答辩全过程】以 高校教学质量监控平台为例,包含答辩的问题和答案
java·eclipse
高山上有一只小老虎24 分钟前
翻之矩阵中的行
java·算法
yangpipi-28 分钟前
《C++并发编程实战》 第4章 并发操作的同步
开发语言·c++
火钳游侠38 分钟前
java单行注释,多行注释,文档注释
java·开发语言
有趣的我1 小时前
C++ 多态介绍
开发语言·c++
code bean1 小时前
【CMake】为什么需要清理 CMake 缓存文件?深入理解 CMake 生成器切换机制
java·spring·缓存
selt7911 小时前
Redisson之RedissonLock源码完全解析
android·java·javascript
RestCloud1 小时前
智能制造的底层基建:iPaaS 如何统一 ERP、MES 与 WMS 的数据流
java·wms·erp·数据传输·ipaas·mes·集成平台
fie88891 小时前
波束赋形MATLAB代码实现
开发语言·matlab