java的问题 高手帮忙解决下

来源:百度知道 编辑:UC知道 时间:2024/07/14 05:01:21
二维数组的初始化
◇ 动态初始化
从最高维开始,分别为每一维分配空间:
arrayName = new type[arrayLength1][ ];
arrayName[0] = new type[arrayLength20];
arrayName[1] = new type[arrayLength21];

arrayName[arrayLength1-1] = new type[arrayLength2n];
例如:
String s[ ][ ] = new String[2][ ];
s[0]= new String[2];//为最高维分配引用空间
s[1]= new String[2]; //为最高维分配引用空间

解释以下这条语句:s[0]= new String[2];
谢谢
第一行(下标为0)分配2个表格是不是现当于第一行分配2列??

可以通过行和列的表格来直观理解这个二维数组..
String s[ ][ ] = new String[2][ ];// 这句可以理解为建立一个表格,行数为2行,列数未定.(前面的数字为行,后面的数字为列)
s[0]= new String[2];//这句理解为为第一行(下标为0)分配2个表格.
s[1]= new String[2];//这句理解为为第二行(下标为1)分配2个表格.
整个表格为2行2列.(每行的列数可以是不相等的)
s[0][0] = "xxx";//这句理解为在第一行的第一个表格填入"xxx";

s[0] 代表s数组的第一个位置

new String[2] 分配2个字符串引用,但没有分配对象空间

s[0] = new String[2];

就是让s数组的第一个位置,保存2个String类型的引用。

你要使用那个s[0][0] 必须先给他 s[0][0] = new String();才可以,或者赋值其它的数据,否则为 null
==========================================
你的理解是错误的,是
:s[0] =
不是 s[0][0]

相当于 s[0][0] 是一个字符串的引用,s[0][1] 也是一个