`
riyunzhu
  • 浏览: 30245 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

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数组优化实现修改数组长度.md

    此项实现了java数组不方便使用的优化,修护了数组不可更改长度的说话,面向对象的编程思想,小小提示可以当工具类使用

    Java数组练习题(带答案).doc

    Java数组是Java编程语言中的基本数据结构之一,用于存储固定数量的同类型元素。了解和熟练掌握数组的使用是学习Java的重要环节。本篇练习题涵盖了数组的基本概念、操作和异常处理,下面是针对题目中涉及知识点的详细...

    Java数组越界问题实例解析

    Java数组越界问题实例解析 在Java中,数组是一种非常重要的数据结构,它广泛应用于各种场景中。然而,在使用数组时,开发者最容易遇到的问题之一就是数组越界问题。数组越界问题是指在访问数组时,索引值超出了数组...

    Java中数组的各种应用

    在Java编程语言中,数组是一种基础且重要的数据结构,它允许程序员存储同类型的多个元素。本文将深入探讨Java中数组的各种应用,旨在帮助初学者理解并掌握数组的使用。 一、数组定义与初始化 在Java中,数组可以...

    5-Java数组与方法

    而动态初始化则只指定数组长度,值在后续操作中赋给数组元素: ```java int[] dynamicArray = new int[5]; ``` 在Java中,数组的引用传递是一个重要的概念。当你把数组作为参数传递给方法时,实际上是传递了数组的...

    07-Java基础(数组-常见问题)

    在Java中,数组的声明分为声明类型和变量名,以及指定数组长度两个步骤。例如: ```java int[] arr; // 声明一个整型数组 arr = new int[5]; // 初始化数组,长度为5 ``` 初始化时也可以同时赋值: ```java ...

    用Java动态数组扩充实现线性表

    在Java中,我们通常使用数组或链表来实现线性表。本话题聚焦于使用动态数组来实现线性表,这是一种常见的数据结构实现方式,因为它既保留了数组的高效访问特性,又能灵活地调整大小以适应数据的变化。 动态数组,也...

    java拼接字节数组轻量高效实现Mybytes

    自定义byte数组,可变长度,轻量高效,解决集合存储简单数据的包装问题,自增缓存减少运算,方便多次调用,非线程同步

    java数组初始化详解

    Java 数组初始化是 Java 编程语言中的一种基本概念,它允许开发者创建和初始化数组,以便于存储和操作数据。在本文中,我们将对 Java 数组初始化进行详细的介绍,包括一维数组和二维数组的声明、初始化和使用。 一...

    Java中数组实例---一维数组.pdf

    在Java编程语言中,数组是一种特殊的数据结构,用于存储同一类型的数据集合。在这个文档中,我们专注于一维数组的实例,主要探讨了如何创建、初始化和输出一维数组的元素。以下是详细的知识点解析: 1. **数组声明*...

    Java的数组.docx

    在这个文档中,主要涉及了Java数组的声明、创建、初始化、赋值、输出、累加和计算、最大值查找以及冒泡排序等核心概念。 1. **数组的声明与创建**: - `int[] arr;` 这是声明一个整型数组的例子。 - `int[] arr =...

    java多维数组

    在Java中,多维数组可以帮助我们更好地管理和操作复杂的多层数据结构。例如,如果我们想要表示一个棋盘游戏的状态,二维数组是非常合适的,因为它可以很好地映射棋盘上的行列坐标。 #### 二、多维数组的理解 理解...

    JAVA中数组的定义.doc

    要分配内存并指定数组长度,我们需要使用`new`运算符,如: ```java intArray = new int[3]; ``` 或者,我们可以在一行内同时定义和初始化数组: ```java int[] intArray = new int[3]; ``` 2. 初始化数组元素可以...

    Java数组与内存控制

    ### Java数组与内存控制 #### 一、Java数组在内存分配方面的知识 ##### 1.1 数组初始化 - **声明数组的时候如何分配内存:** - 在Java中,数组的声明并不直接分配内存,而仅仅是创建了一个数组引用变量。例如: ...

    java语法\Java数组声明、创建、初始化

    Java数组是指在Java语言中可以存储多个相同类型元素的数据结构。数组是一种引用类型,它的元素可以是基本类型,也可以是对象类型。Java数组的声明、创建和初始化是Java编程中非常重要的概念。 数组声明 在Java中,...

    Java 对象(数组)占多大空间(几个字节) 手把手做实验

    实验中,`new Long[5]`占用40字节,这包括对象头(12字节),数组长度(4字节),以及5个Long元素(每个8字节,总计40字节)。`new long[5]`占用56字节,因为long是8字节,加上对象头和数组长度,总共56字节。 对于...

    Java中的数组

    3. **数组长度固定**:一旦数组被创建,其大小(长度)就不能改变。 4. **数组元素的下标**:数组元素通过下标访问,下标从0开始,到`n-1`结束,其中`n`为数组长度。 #### 二、一维数组的声明与使用 ##### 2.1 ...

    Java array 数组用法源码集.rar

    Java array 数组用法源码集,比如测试数组、划分成绩等级、从方法中返回数组、二分查找法、求二维数组的长度、锯齿数组、处理二维数组等,相信通过这些基础的数组操作实例,会对你了解Java中的数组有很好的帮助作用...

    java动态数组的应用

    ### Java动态数组的应用 ...通过上述分析,我们不仅了解了Java动态数组的基本概念、实现方式及其应用场景,还学习了如何在实际项目中利用动态数组解决具体问题。这将有助于开发者更好地理解和运用这一重要的数据结构。

Global site tag (gtag.js) - Google Analytics