Java菜鸟成长之路__Day_3_Java_二维数组
来源:互联网 发布:网络推广中介怎么样 编辑:程序博客网 时间:2024/06/05 05:17
二维数组:就是元素为一维数组的数组。
格式:
数据类型 [] [] 数组名=new 数据类型[m] [n];
m:表示这个二维数组里有m个一维数组.
n:表示每个一维数组里有n个元素.
其他格式(不推荐):
数据类型 数组名 [] [] = new 数据类型 [m] [n];
数据类型 [] 数组名 [] = new 数据类型 [m] [n];
class Array2Demo {
public static void main(String[] args) {
//定义一个二维数组
int[][] arr = new int[3][2];
//定义了一个二维数组arr
//这个二维数组有3个一维数组的元素
//每一个一维数组有2个元素
//输出二维数组名称
System.out.println(arr); //地址值[[I@175078b
//输出二维数组的第一个元素一维数组的名称
System.out.println(arr[0]); //地址值[I@42552c
System.out.println(arr[1]); //地址值[I@e5bbd6
System.out.println(arr[2]); //地址值[I@8ee016
//输出二维数组的元素
System.out.println(arr[0][0]); //0
System.out.println(arr[0][1]); //0
}
静态初始化:
基本格式:
数据类型 [] [] 数组名=new 数据类型 [][]{{元素1,元素2,元素3...},{元素1,元素2,元素3...},.....};
简化格式(常用推荐):
数据类型 [] [] 数组名={{元素1,元素2,元素3...},{元素1,元素2,元素3...},.....};
举例:
int [][] arr={{1,2,3},{1,2,3},{34,324}};
class Array2Demo3 {
public static void main(String[] args) {
//定义数组
int[][] arr = {{1,2,3},{4,5},{6}};
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr[0][0]); //1
System.out.println(arr[1][0]); //4
System.out.println(arr[2][0]); //6
System.out.println(arr[0][1]); //2
System.out.println(arr[1][1]); //5
//越界
System.out.println(arr[2][1]); //错误
}
}
注意:数组索引从0开始,最大索引是数组长度-1.
格式二:
数据类型 [][] 数组名=new 数据类型 [m][];
m表示二维数组里有m个一维数组
一维数组中的元素个数没有给,可以动态变化.
class Array2Demo2 {
public static void main(String[] args) {
//定义数组
int[][] arr = new int[3][];
System.out.println(arr);//[[I@175078b
System.out.println(arr[0]); //null
System.out.println(arr[1]); //null
System.out.println(arr[2]); //null
//动态的为每一个一维数组分配空间
arr[0] = new int[2];
arr[1] = new int[3];
arr[2] = new int[1];
System.out.println(arr[0]); //[I@42552c
System.out.println(arr[1]); //[I@e5bbd6
System.out.println(arr[2]); //[I@8ee016
System.out.println(arr[0][0]); //0
System.out.println(arr[0][1]); //0
//ArrayIndexOutOfBoundsException
//System.out.println(arr[0][2]); //错误
arr[1][0] = 100;
arr[1][2] = 200;
}
}
二维数组的遍历:
外循环控制的是二维数组的长度,其实就是一维数组的个数。
内循环控制的是一维数组的长度。
public static void printArr(int [] [] arr){
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
- Java菜鸟成长之路__Day_3_Java_二维数组
- Java菜鸟成长之路__Day_3_Java_一维数组
- Java菜鸟成长之路__Day_2_Java_方法
- 菜鸟成长之路
- 菜鸟成长之路
- 菜鸟成长之路
- java菜鸟的成长历程 数组
- 菜鸟的成长之路
- 菜鸟的成长之路
- 菜鸟的成长之路
- 菜鸟代码之TicTacToe二维数组解法
- CODE工成长之路1---菜鸟JAVA学习篇
- CODE工成长之路1---菜鸟JAVA学习篇
- 菜鸟级java工程师的成长之路
- 积少成多,记录java菜鸟的成长之路(一)
- Java菜鸟成长之路__Day_1_Java概述及基础语法
- Java菜鸟成长之路__Day_4_Java_面向对象
- Java菜鸟成长之路__Day_4_Java_抽象,继承,接口
- JAVA 8函数式编程(二):每个函数都是可以传递的对象
- Linux内建命令及Bash Shell
- Java 求闰年 (细细品味if语句分开写和合到一起写得到的不一样的结果)
- Android学习--多媒体功能:通知 notification(振动,声音,呼吸灯)
- JVM中对象的创建过程
- Java菜鸟成长之路__Day_3_Java_二维数组
- 从小工到专家【借鉴】
- scala-特质
- 树莓派
- 51Nod-1423-最大二"货"
- 说说struts1与struts2的区别
- 虚拟机是这样理解方法表的
- 喷水装置
- mysql高性能索引的探索