定义
//1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void main(String[] args){ //定义二维数组 int[ ] [ ] arr={{1,2,3},{4,5,6}}; //静态初始化 //打印出二维数组 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学习笔记”所有)
不规则二维数组
//1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void main(String[] args){ //创建和打印不规则二维数组 int arr[ ][ ]; arr=new int[3][];//现在说明为不规则数组 arr[0]=new int[10];//arr[0]指向另一个一位数组 arr[1]=new int[3]; arr[2]=new int[4]; //赋值 for(int i=0;i<arr.length;i++){ for(int j=0;j<arr[i].length;j++){ arr[i][j]=j; } } //输出 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(); } /*输出结果: 0 1 2 3 4 5 6 7 8 9 0 1 2 0 1 2 3 */// } }
//3.编写一个方法,返回double型二维数组,数组通过解析字符串参数获得。 //如"1,2;3,4,5;6,7,8" //d[0,0]=1.0 d[0,1]=2.0 d[1,0]=3.0 .... package me.parser; public class TestString{ public static void main(String[] args){ //1.用字符串分解split(";")成三个字符串数组 //2.再分解split(",") //声明一个二维数组用来装分解好的字符 String s="1,2;3,4,5;6,7,8"; //以split()方法 分解 String[] sFirst=s.split(";"); String[][] word=new String[sFirst.length][]; int flag=0; for(int i=0;i<sFirst.length;i++){ //打印出已经分开的 //System.out.println(sFirst[i]); /*这条语句输出 1,2 3,4,5 6,7,8 *///接下来在按照 ,分开他们放入一个一维数组 String[] sSecond=sFirst[i].split(","); //~ System.out.println(sSecond.length); //~ /*输出: //~ 2 //~ --------------------------------- //~ 3 //~ --------------------------------- //~ 3 //~ --------------------------------- //~ *///说明每次sSencond这个一维数组的长度不同 word[i]=new String[sSecond.length];//这步确定行不规则数组的每行长度 //为这个数组赋值 for(int j=0;j<sSecond.length;j++){ word[i][j]=sSecond[j]; } System.out.println("---------------这是第"+(i+1)+"次循环-------------------"); } //输出二维数组 System.out.println("输出二维数组-------------------"); for(int i=0;i<word.length;i++){ for(int j=0;j<word[i].length;j++){ System.out.print(word[i][j]+" "); } System.out.println(); } /*结果: ---------------这是第1次循环------------------- ---------------这是第2次循环------------------- ---------------这是第3次循环------------------- 输出二维数组------------------- 1 2 3 4 5 6 7 8 输出二维数组------------------- */// } }
作者:YangGan
出处:http://blog.csdn.net/incyanggan
本文基于署名 2.5 *许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名Yanggan(包含链接).