java中的数组长度问题

        之前对java中的数组一直是一知半解,特别是数组中的长度问题。今天对这个问题也算是小有理解,算是对java数组的有了更进一步的了解吧。不说了,先来例子再说:

eg  code:

package com.test;

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		final   int   TABLE_SIZE   =   5; 
        final   int   TABLE_SIZE1   =   6; 
        final   int   TABLE_SIZE2   =   7; 
        int[][][]   table1   =   new   int[TABLE_SIZE][TABLE_SIZE1][TABLE_SIZE2]; 
        int[][]   table2   =   new   int[TABLE_SIZE][TABLE_SIZE1];
        int[]   table3   =   new   int[TABLE_SIZE]; 
        int   a   =table1[4][0].length; 
        int   b   =table2[2].length;
        int   c   =table3.length; 
        

        System.out.println(a); 
        System.out.println(b); 
        System.out.println(c); 
	}

}

这个例子的输出结果是什么呢?

相信大家对一维数组没有什么问题,那我们就来看看二维数组数组到底是怎么回事吧。

Java中多维数组被看作数组的数组。初看这句话,确实有点不是很好理解(特别对于我这样的菜鸟级别的啊)。用例子说话吧。就上例:

int b =table2[2].length;

就这个b它结果输出的TABLE_SIZE1的值。我们知道table2是一个二维数组,而length方法取出的结果是数组中的长度而且一次取出数组中的长度,即:如果是一位数组的话,直接取出的话就是一位数组的长度,如:int c =table3.length;  此时c的结果就是一位数组table3的长度即TABLE_SIZE;如果 int b =table2[2].length;换成 int b =table2.length;  此时b输出的结果是二维数组中的第一维数组的长度即TABLE_SIZE(即跟c相等 ,而如果是int b =table2[2].length,注意此时length的长度是二维数组table2的第二维数组的长度即TABLE_SIZE1 ,而且只要table2[2].这个中括号中的值x是在 0到其第一维数组的长度减1即(TABLE_SIZE-1),其table2[x].length的长度都是第二维数组的长度,以此类推,例子中a的值就是TABLE_SIZE2。

所以例子中的结果应该是:

7
6
5


 

 

Java,可以使用数组的length属性来获取数组的长度。例如,可以使用以下代码来输出数组的长度: ```java int\[\] myArray = {1, 2, 3, 4, 5}; System.out.println("数组的长度为:" + myArray.length); ``` 这段代码将输出数组myArray的长度,即5。\[1\]另外,也可以使用循环来遍历数组并输出每个元素,循环的次数可以使用数组的长度作为条件。例如: ```java int\[\] array = {1, 2, 3, 4, 5}; for (int i = 0; i < array.length; i++) { System.out.println(array\[i\]); } ``` 这段代码将输出数组array的每个元素,并在最后输出一个分隔符。\[2\]还可以使用类似的方法来输出字符数组的长度。例如: ```java char\[\] a = {'A', 'B', 'C', 'D'}; System.out.println("数组a的长度为" + a.length); ``` 这段代码将输出字符数组a的长度,即4。\[3\] #### 引用[.reference_title] - *1* [Java数组长度:关于Java数组长度的所有信息](https://blog.csdn.net/weixin_29323273/article/details/114349599)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Java如何获取数组的长度及数组的遍历输出](https://blog.csdn.net/weixin_65449886/article/details/124655940)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [第四章 数 组](https://blog.csdn.net/hlwhorizon/article/details/123520398)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值