当前位置: 代码迷 >> J2SE >> java数组基础有关问题
  详细解决方案

java数组基础有关问题

热度:21   发布时间:2016-04-24 00:33:10.0
java数组基础问题
Java code
public class Arr_Test {    /**     * @param args     */    public static void main(String[] args) {        boolean pins[][]=new boolean[2][];        for(int i=0;i<pins.length;i++)            //下面的赋值代码我看不懂            pins[i]=new boolean[i+1];        for(int i=0;i<pins.length;i++){            for(int k=0;k<pins[i].length;k++){                System.out.print(pins[i][k]+"");                            }            System.out.println();        }                    }/* * 输出为false * false false * 麻烦帮我解释下流程, * */}


------解决方案--------------------
boolean pins[][]=new boolean[2][];
一个二维数组,可以理解为一个长度为2的一维数组,这个一维数组每个元素都是一个长度未定义的一维数组。

for(int i=0;i<pins.length;i++)
pins[i]=new boolean[i+1];
第一次循环,给数组第一个元素定义长度为1的一维数组,里面元素默认是false;
第二次循环,给数组第二个元素定义长度为2的一维数组,里面元素默认都是false;
------解决方案--------------------
for(int i=0;i<pins.length;i++)
//下面的赋值代码我看不懂
pins[i]=new boolean[i+1]; //定义 pins第i个元素为 i+1长度的boolean,分配内存

for(int i=0;i<pins.length;i++){ //遍历一维数组 
for(int k=0;k<pins[i].length;k++){ //因为pins[i]中保存的也是数组
System.out.print(pins[i][k]+"");

}
------解决方案--------------------
boolean 默认值 false。
  相关解决方案