Java编程:一维与二维数组的创建与使用
需积分: 5 184 浏览量
更新于2024-08-05
收藏 9KB MD 举报
"数组的创建和使用"
数组是编程中基础且重要的数据结构,它允许存储多个相同类型的数据。本章节将详细讲解一维和二维数组的创建、初始化以及使用。
### 1. 一维数组的创建及使用
#### 1.1 创建一维数组
一维数组的创建有两种方式:
1. **先声明,再分配内存**:
- 声明数组时,可以使用以下两种语法:
```java
数据类型 数组名[];
如:String str[];
数据类型[] 数组名;
如:int[] arr, arr1, arr2;
```
- 分配内存时,使用 `new` 运算符指定数组大小:
```java
数组名 = new 数据类型[数组元素的个数];
如:arr = new int[5];
```
2. **声明并分配内存**:
- 通过以下语法可以同时完成声明和内存分配:
```java
数据类型 数组名[] = new 数据类型[数组元素的个数];
如:int arr[] = new int[5];
```
#### 1.2 初始化一维数组
一维数组的初始化也有两种方式:
1. **显式初始化**:
- 使用大括号 `{}` 将数组元素分开,系统会自动分配空间:
```java
数据类型 数组名[] = new 数据类型[]{元素1, 元素2, ..., 元素N};
如:int arr[] = new int[]{1, 2, 3, 4, 5};
```
2. **隐式初始化**:
- 如果数组元素在声明时给出,系统也会自动分配空间:
```java
数据类型 数组名[] = {元素1, 元素2, ..., 元素N};
如:int arr[] = {1, 2, 3, 4, 5};
```
#### 1.3 使用一维数组示例
以下代码创建了一个 `int` 类型的一维数组,用于存储每个月的天数,并输出到控制台:
```java
public class GetDay {
public static void main(String[] args) {
int day[] = new int[]{31, 28, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31};
for (int i = 0; i < 12; i++) {
System.out.println((i + 1) + "月有" + (day[i]) + "天");
}
}
}
```
### 2. 二维数组的创建及使用
#### 2.1 创建二维数组
二维数组的创建同样有两种方法:
1. **先声明,再分配内存**:
- 声明二维数组:
```java
数据类型 数组名[][];
如:String str[][];
数据类型[][] 数组名;
如:int[][] arr, arr1, arr2;
```
- 分配内存:
```java
数组名 = new 数据类型[行数][列数];
如:arr = new int[5][6];
```
2. **声明并分配内存**:
- 通过以下语法可同时声明和分配内存:
```java
数据类型 数组名[][] = new 数据类型[行数][列数];
如:int arr[][] = new int[5][6];
```
### 2.2 使用二维数组
二维数组可以视为一维数组的数组,因此可以按照类似的方式访问和操作每个子数组。例如,要访问二维数组中的元素,可以使用两个下标,第一个下标表示行,第二个下标表示列。
例如,创建一个二维数组表示矩阵,然后输出矩阵的所有元素:
```java
public class PrintMatrix {
public static void main(String[] args) {
int matrix[][] = new int[3][3];
// 初始化矩阵
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
matrix[i][j] = i * 3 + j + 1;
}
}
// 打印矩阵
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
}
```
以上内容详细介绍了如何在Java中创建和使用一维及二维数组,包括声明、初始化和实际应用。掌握这些基础知识对于进行更复杂的编程任务至关重要。
2023-08-18 上传
2023-08-17 上传
2023-08-17 上传
2023-06-06 上传
2023-06-03 上传
2023-06-11 上传
2023-06-10 上传
2023-06-24 上传
2023-07-22 上传
2023-06-01 上传
Kyomo甲乙
- 粉丝: 0
- 资源: 1
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景