我有一个关于Java如何处理数组的简短问题.以下是我的代码:
//import java.util.Arrays;
import static java.lang.System.out;
public class Arrays
{
public static void main(String[] args)
{
String [][] multiArray = new String[10][8];
int k = 1;
while (k <= 61) {out.print('-'); k++;}
out.println ();
for (int i = 0; i < multiArray.length; i++)
{
for (int j = 0; j < multiArray[i].length; j++)
{
multiArray[i][j] = i + "" + j;
out.print ("| " + multiArray[i][j] + " ");
}
out.println ("|");
}
k = 1;
while (k <= 61) {out.print('-'); k++;}
out.println();
}
}
Run Code Online (Sandbox Code Playgroud)
我知道你必须创建一个双"for"循环来打印出两个维度的值,并且你必须拥有:
multiArray[i].length
Run Code Online (Sandbox Code Playgroud)
这样它就知道引用第二维的长度.我只是不明白它是如何工作的.
令我困惑的是:在程序的最开始,在我声明我的数组之后,如果我写一个如下的语句:
system.out.println (multiArray.length);
Run Code Online (Sandbox Code Playgroud)
它将打印10的值,这是我在第一维中声明的长度.但是,如果我创建一些随机变量,如"int a = 0"或"int idontgetthis = 0",那么我写道:
system.out.println (multiArray[a].length);
Run Code Online (Sandbox Code Playgroud)
它以某种方式知道打印第二维的长度,8.所以我的问题是,它是如何知道如何做到这一点的?这太痛苦了!!大声笑
因为multiArray它实际上是一个数组数组.所以multiArray[a]是对象的引用.该对象本身就是一个数组.该数组具有长度(8),并且length可以使用一个可用于返回该长度的属性.
| 归档时间: |
|
| 查看次数: |
199 次 |
| 最近记录: |