您的位置:首页 > 编程语言 > Java开发

Java中数组的定义及使用

2019-06-22 22:40 106 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/MAX_YanBangbang/article/details/93365398

数组

数组的定义:数组是存储多个变量(元素)的东西(容器),这多个变量的数据类型要一致;

一维数组的初始化

数组的初始化分为两种:静态初始化+动态初始化;
静态初始化:给定数组的值,系统确定数组的长度;
动态初始化:给定数组的长度,系统给数组元素赋值,一般赋值为0或者null。

一维数组初始化举例

静态 : 数组类型[ ] 数组名 = new 数组类型 [ ] { 元素1, 元素2,… ,元素n };
int[ ] arr = new int [ ] { 1, 2, 3, 4};
(简) int[ ] arr = { 1, 2, 3, 4};
动态 : 数组类型[ ] 数组名 = new 数组类型 [ 长度 ] ;
int[ ] arr = new int [ 3 ];
注意事项: 这两种方式,只能使用一种,不能进行动静结合

二维数组的初始化

格式1 : 数组类型 [ ] [ ] 数组名 = new 数组类型 [ m ] [ n ]; (推荐使用)
int [ ] [ ] arr = new int [ 3 ] [ 2 ];
格式2 :数据类型 [ ] 数组名 [ ] = new 数组类型 [ m ] [ n ]; (不推荐)
int [ ] arr [ ] = new arr [ m ] [ n ];
int [ ] x, y [ ] :定义了两个数组
格式3 :数据类型 数组名 [ ][ ] = new 数据类型 [ m ] [ n ];
格式4 :数据类型 [ ] [ ] 变量名 = new 数据类型 [ m ] [ ];
m表示这个二维数组有多少个一维数组,这一次没有直接给出一维数组的元素个数,可以动态的给出。
举例:
int[][] arr = new int[3][];
arr[0] = new int[2];
arr[1] = new int[3];
arr[2] = new int[1];
格式5 :
数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}…};
简化版:
数据类型[][] 变量名 = {{元素…},{元素…},{元素…}};
这个格式属于静态初始化:由我们指定具体的元素值,由系统给分配长度
举例:
int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
int[][] arr = {{1,2,3},{5,6},{7}};

数组元素遍历赋

打印杨辉三角形(行数可以键盘录入)

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
public class MyTest4 {
public static void main(String[] args) {
/*
*  观察上面图形的规律
*  1.每一个行的第一个数和最后一个数都是1
*  2.从第三行开始 从第二列开始 这个数字等于我上一行前一列和上一行的本列之和

* */

//我们可以使用二维数组来存储上面的数据
Scanner sc = new Scanner(System.in);
System.out.println("请输入行数");
int n = sc.nextInt();

int[][] arr = new int[n][n];
//我们先把每一行的第一个元素和第二个元素赋值成1
for (int i = 0; i < arr.length; i++) {
arr[i][0] = 1;
arr[i][i] = 1;
}
//算出中间元素
for (int i = 2; i < arr.length; i++) {
for (int j = 1; j <= i; j++) {
//  2. 从第三行开始 从第二列开始 这个数字等于我上一行前一列和上一行的本列之和

arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];

}
}
//遍历二维数组
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: