二维数组

定义

[java]  view plain  copy
 print ?
  1. //1.二维数组的定义  
  2. //2.二维数组的内存空间  
  3. //3.不规则数组  
  4. package me.array;  
  5. public class Array2Demo{  
  6.       
  7.       
  8.     public static void main(String[] args){  
  9.           
  10.           
  11.         //定义二维数组  
  12.         int[ ] [ ] arr={{1,2,3},{4,5,6}};  
  13.         //静态初始化  
  14.            
  15.         //打印出二维数组  
  16.           
  17.         for(int i=0;i<arr.length;i++){  
  18.               
  19.             for(int j=0;j<arr[i].length;j++){  
  20.                       
  21.                 System.out.print(arr[i][j]+" ");  
  22.                   
  23.             }  
  24.             //输出一行后就回车空格  
  25.             System.out.println();  
  26.               
  27.         }  
  28.           
  29.     }  
  30.       
  31. }  


二维数组内存结构




不规则二维数组



[java]  view plain  copy
 print ?
  1. //1.二维数组的定义  
  2. //2.二维数组的内存空间  
  3. //3.不规则数组  
  4. package me.array;  
  5. public class Array2Demo{  
  6.       
  7.       
  8.     public static void main(String[] args){  
  9.           
  10.         //创建和打印不规则二维数组  
  11.         int arr[ ][ ];  
  12.           
  13.         arr=new int[3][];//不规则数组  
  14.           
  15.         arr[0]=new int[10];//arr[0]指向另一个一位数组  
  16.         arr[1]=new int[3];  
  17.         arr[2]=new int[4];  
  18.           
  19.         //赋值  
  20.         for(int i=0;i<arr.length;i++){  
  21.               
  22.             for(int j=0;j<arr[i].length;j++){  
  23.                   
  24.                 arr[i][j]=j;  
  25.             }  
  26.               
  27.         }  
  28.           
  29.         //输出  
  30.         for(int i=0;i<arr.length;i++){  
  31.               
  32.             for(int j=0;j<arr[i].length;j++){  
  33.                   
  34.                 System.out.print(arr[i][j]+" ");  
  35.             }  
  36.             System.out.println();  
  37.         }  
  38.           
  39.         /*输出结果: 
  40.         0 1 2 3 4 5 6 7 8 9  
  41.         0 1 2  
  42.         0 1 2 3  
  43.         *///  
  44.           
  45.     }  
  46.       
  47. }  



[java]  view plain  copy
 print ?
  1. //3.编写一个方法,返回double型二维数组,数组通过解析字符串参数获得。  
  2. //如"1,2;3,4,5;6,7,8"  
  3. //d[0,0]=1.0 d[0,1]=2.0 d[1,0]=3.0 ....  
  4. package me.parser;  
  5. public class TestString{  
  6.       
  7.     public static void main(String[] args){  
  8.           
  9.         //1.用字符串分解split(";")成三个字符串数组  
  10.         //2.再分解split(",")  
  11.           
  12.         //声明一个二维数组用来装分解好的字符  
  13.           
  14.           
  15.         String s="1,2;3,4,5;6,7,8";  
  16.         //以split()方法 分解  
  17.         String[] sFirst=s.split(";");  
  18.           
  19.         String[][] word=new String[sFirst.length][];  
  20.           
  21.         int flag=0;  
  22.         for(int i=0;i<sFirst.length;i++){  
  23.               
  24.             //打印出已经分开的  
  25.             //System.out.println(sFirst[i]);  
  26.             /*这条语句输出 
  27.             1,2 
  28.             3,4,5 
  29.             6,7,8 
  30.             *///接下来在按照 ,分开他们放入一个一维数组  
  31.               
  32.             String[] sSecond=sFirst[i].split(",");  
  33.              //~ System.out.println(sSecond.length);  
  34.             //~ /*输出:  
  35.             //~ 2  
  36.             //~ ---------------------------------  
  37.             //~ 3  
  38.             //~ ---------------------------------  
  39.             //~ 3  
  40.             //~ ---------------------------------             
  41.             //~ *///说明每次sSencond这个一维数组的长度不同  
  42.             word[i]=new String[sSecond.length];//这步确定行不规则数组的每行长度  
  43.       
  44.             //为这个数组赋值  
  45.             for(int j=0;j<sSecond.length;j++){  
  46.                       
  47.                 word[i][j]=sSecond[j];  
  48.             }  
  49.               
  50.             System.out.println("---------------这是第"+(i+1)+"次循环-------------------");  
  51.         }  
  52.           
  53.         //输出二维数组  
  54.         System.out.println("输出二维数组-------------------");  
  55.         for(int i=0;i<word.length;i++){  
  56.             for(int j=0;j<word[i].length;j++){  
  57.                   
  58.                 System.out.print(word[i][j]+" ");  
  59.             }  
  60.             System.out.println();  
  61.         }  
  62.         /*结果: 
  63.         ---------------这是第1次循环------------------- 
  64.         ---------------这是第2次循环------------------- 
  65.         ---------------这是第3次循环------------------- 
  66.         输出二维数组------------------- 
  67.         1 2  
  68.         3 4 5  
  69.         6 7 8  
  70.         输出二维数组------------------- 
  71.         *///  
  72.     }  
  73. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值