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();
}
相关推荐
风生u11 小时前
activiti7 详解
java
玄同76511 小时前
我的 Trae Skill 实践|使用 UV 工具一键搭建 Python 项目开发环境
开发语言·人工智能·python·langchain·uv·trae·vibe coding
岁岁种桃花儿11 小时前
SpringCloud从入门到上天:Nacos做微服务注册中心(二)
java·spring cloud·微服务
Word码11 小时前
[C++语法] 继承 (用法详解)
java·jvm·c++
Yorlen_Zhang11 小时前
Python Tkinter Text 控件完全指南:从基础编辑器到富文本应用
开发语言·python·c#
lxl130711 小时前
C++算法(1)双指针
开发语言·c++
TT哇11 小时前
【实习 】银行经理端两个核心功能的开发与修复(银行经理绑定逻辑修复和线下领取扫码功能开发)
java·vue.js
逝水如流年轻往返染尘11 小时前
Java中的数组
java
不绝19111 小时前
C#进阶:预处理指令/反射,Gettype,Typeof/关键类
开发语言·c#
无小道11 小时前
Qt-qrc机制简单介绍
开发语言·qt