Java学习笔记35. Java中的二维数组
2018-03-01 20:49
281 查看
有时候,一维数组难以满足程序的需求,就需要使用多维数组。而二维数组是使用最多的多维数组。
二维数组的声明和初始化数组类型 数组名[][]; //声明二维数组
数组名 = new 数组类型[4][5]; //初始化一个二维数组编程举例:public class doubleDimensionalArray{
public static void main(String[] args){
String[][] s; //定义一个2维数组
s = new String[2][2]; //初始化这个2维数组
}
}二维数组的赋值
要给二维数组赋值,一种方法是在声明的时候赋值,如:public class fuzhi{
public static void main(String[] args){
int a[][] = {{1,2,3},{4,5,6},{7,8,9}};
}
}
当然,先初始化后赋值也是可以的,比如这样:
int a[][] = new int[3][3];
a[0][0] = 5;
需要注意的是,Java中的二位数组,每一行的元素数量可以不同。比如第一行有3个元素,第二行有4个元素,第三行有2个元素。这样是可以的。
二维数组的遍历输出
要遍历二维数组,就要用到两个嵌套的循环。二维数组的实质是:一维数组的数组。
所以,二维数组包含的一维数组个数是:a.length
而相应的一维数组包含的元素的个数是a[i].length, 编写遍历程序如下:public class bianli{
public static void main(String[] args){
int a[][] = {{1,2,3},{4,5,6}}; //声明二维数组并赋值
for(int i=0;i<a.length;i++){ //第一层循环遍历
for(int j=0;j<a[i].length;j++){ //第二层循环遍历
System.out.println("a["+i+"]["+j+"]"+"="+a[i][j]); //遍历输出
}
}
}
}
除了用for循环进行遍历,还可以for-each循环进行遍历,编写程序如下:public class forEach{
public static void main(String[] args){
char[][] a = {{'a','b'},{'c','d'}};
for(char[] x1:a){ //x1在这里代表的是一维数组的数组
for(char x2:x1){ //x2在这里代表的是x1里的一维数组
System.out.println(x2); //直接遍历一维数组x2
}
}
}
}
遍历多维数组
学习了二维数组,对于更多维的数组,其遍历方法也是类似的,比如下面编程实现3维数组的遍历:public class douwei{
public static void main(String[] args){
int i,j,k,sum=0;
int a[][][] = {{{5,1,2},{6,7,3}},{{9,4,8},{8,3,9}}};
for(i=0;i<a.length;i++)
for(j=0;j<a[i].length;j++)
for(k=0;k<a[i][j].length;k++){
System.out.println(a[i][j][k]);
sum += a[i][j][k];
}
System.out.println();
}
}同样,也可以使用for-each循环,实现3维数组的遍历:
二维数组的声明和初始化数组类型 数组名[][]; //声明二维数组
数组名 = new 数组类型[4][5]; //初始化一个二维数组编程举例:public class doubleDimensionalArray{
public static void main(String[] args){
String[][] s; //定义一个2维数组
s = new String[2][2]; //初始化这个2维数组
}
}二维数组的赋值
要给二维数组赋值,一种方法是在声明的时候赋值,如:public class fuzhi{
public static void main(String[] args){
int a[][] = {{1,2,3},{4,5,6},{7,8,9}};
}
}
当然,先初始化后赋值也是可以的,比如这样:
int a[][] = new int[3][3];
a[0][0] = 5;
需要注意的是,Java中的二位数组,每一行的元素数量可以不同。比如第一行有3个元素,第二行有4个元素,第三行有2个元素。这样是可以的。
二维数组的遍历输出
要遍历二维数组,就要用到两个嵌套的循环。二维数组的实质是:一维数组的数组。
所以,二维数组包含的一维数组个数是:a.length
而相应的一维数组包含的元素的个数是a[i].length, 编写遍历程序如下:public class bianli{
public static void main(String[] args){
int a[][] = {{1,2,3},{4,5,6}}; //声明二维数组并赋值
for(int i=0;i<a.length;i++){ //第一层循环遍历
for(int j=0;j<a[i].length;j++){ //第二层循环遍历
System.out.println("a["+i+"]["+j+"]"+"="+a[i][j]); //遍历输出
}
}
}
}
除了用for循环进行遍历,还可以for-each循环进行遍历,编写程序如下:public class forEach{
public static void main(String[] args){
char[][] a = {{'a','b'},{'c','d'}};
for(char[] x1:a){ //x1在这里代表的是一维数组的数组
for(char x2:x1){ //x2在这里代表的是x1里的一维数组
System.out.println(x2); //直接遍历一维数组x2
}
}
}
}
遍历多维数组
学习了二维数组,对于更多维的数组,其遍历方法也是类似的,比如下面编程实现3维数组的遍历:public class douwei{
public static void main(String[] args){
int i,j,k,sum=0;
int a[][][] = {{{5,1,2},{6,7,3}},{{9,4,8},{8,3,9}}};
for(i=0;i<a.length;i++)
for(j=0;j<a[i].length;j++)
for(k=0;k<a[i][j].length;k++){
System.out.println(a[i][j][k]);
sum += a[i][j][k];
}
System.out.println();
}
}同样,也可以使用for-each循环,实现3维数组的遍历:
public class foreachduowei{ public static void main(String[] args){ int sum=0; int a[][][] = {{{5,1,2},{6,7,3}},{{9,4,8},{8,3,9}}}; for(int[][] i:a) for(int[] j:i) for(int k:j){ System.out.println(k); } } }可见,如果使用得当,for-each循环的遍历要简单一些。
相关文章推荐
- 第五天04 JAVA基础语法(认识对象--自动装箱、拆箱、数组基础[一维、二维数组]、for循环、数组对象、字符串对象)(学习笔记)
- Java-J2SE学习笔记-字符串转化为二维数组
- Java学习笔记(五)--二维数组 冒泡排序 选择排序 Arrays数组工具类
- 【java基础知识(学习笔记)】--二维数组
- Java菜鸟学习笔记--数组篇(三):二维数组
- ElasticSearch 6.x 学习笔记:35.Java API之集群管理
- Java JDK 5.0学习笔记(二维数组)
- java学习笔记(十三)二维数组
- Java菜鸟学习笔记--数组篇(三):二维数组
- java个人学习笔记05(进制装换+排序查找+二维数组)
- 黑马程序员--Java基础学习笔记【二维数组、面向对象】
- Java二维数组【Java学习笔记】
- [java学习笔记]java语言基础概述之数组的定义&常见操作(遍历、排序、查找)&二维数组
- 【Java学习笔记之九】java二维数组及其多维数组的内存应用拓展延伸
- JAVAGUIDE(学习笔记1)
- Thinking in Java学习笔记(2)(zt)
- java对象序列化学习笔记(z)
- java 学习笔记
- Java中文处理学习笔记
- 我的Thinking in Java学习笔记(十)