之前对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数组不方便使用的优化,修护了数组不可更改长度的说话,面向对象的编程思想,小小提示可以当工具类使用
Java数组是Java编程语言中的基本数据结构之一,用于存储固定数量的同类型元素。了解和熟练掌握数组的使用是学习Java的重要环节。本篇练习题涵盖了数组的基本概念、操作和异常处理,下面是针对题目中涉及知识点的详细...
Java数组越界问题实例解析 在Java中,数组是一种非常重要的数据结构,它广泛应用于各种场景中。然而,在使用数组时,开发者最容易遇到的问题之一就是数组越界问题。数组越界问题是指在访问数组时,索引值超出了数组...
在Java编程语言中,数组是一种基础且重要的数据结构,它允许程序员存储同类型的多个元素。本文将深入探讨Java中数组的各种应用,旨在帮助初学者理解并掌握数组的使用。 一、数组定义与初始化 在Java中,数组可以...
而动态初始化则只指定数组长度,值在后续操作中赋给数组元素: ```java int[] dynamicArray = new int[5]; ``` 在Java中,数组的引用传递是一个重要的概念。当你把数组作为参数传递给方法时,实际上是传递了数组的...
在Java中,数组的声明分为声明类型和变量名,以及指定数组长度两个步骤。例如: ```java int[] arr; // 声明一个整型数组 arr = new int[5]; // 初始化数组,长度为5 ``` 初始化时也可以同时赋值: ```java ...
在Java中,我们通常使用数组或链表来实现线性表。本话题聚焦于使用动态数组来实现线性表,这是一种常见的数据结构实现方式,因为它既保留了数组的高效访问特性,又能灵活地调整大小以适应数据的变化。 动态数组,也...
自定义byte数组,可变长度,轻量高效,解决集合存储简单数据的包装问题,自增缓存减少运算,方便多次调用,非线程同步
Java 数组初始化是 Java 编程语言中的一种基本概念,它允许开发者创建和初始化数组,以便于存储和操作数据。在本文中,我们将对 Java 数组初始化进行详细的介绍,包括一维数组和二维数组的声明、初始化和使用。 一...
在Java编程语言中,数组是一种特殊的数据结构,用于存储同一类型的数据集合。在这个文档中,我们专注于一维数组的实例,主要探讨了如何创建、初始化和输出一维数组的元素。以下是详细的知识点解析: 1. **数组声明*...
在这个文档中,主要涉及了Java数组的声明、创建、初始化、赋值、输出、累加和计算、最大值查找以及冒泡排序等核心概念。 1. **数组的声明与创建**: - `int[] arr;` 这是声明一个整型数组的例子。 - `int[] arr =...
在Java中,多维数组可以帮助我们更好地管理和操作复杂的多层数据结构。例如,如果我们想要表示一个棋盘游戏的状态,二维数组是非常合适的,因为它可以很好地映射棋盘上的行列坐标。 #### 二、多维数组的理解 理解...
要分配内存并指定数组长度,我们需要使用`new`运算符,如: ```java intArray = new int[3]; ``` 或者,我们可以在一行内同时定义和初始化数组: ```java int[] intArray = new int[3]; ``` 2. 初始化数组元素可以...
### Java数组与内存控制 #### 一、Java数组在内存分配方面的知识 ##### 1.1 数组初始化 - **声明数组的时候如何分配内存:** - 在Java中,数组的声明并不直接分配内存,而仅仅是创建了一个数组引用变量。例如: ...
Java数组是指在Java语言中可以存储多个相同类型元素的数据结构。数组是一种引用类型,它的元素可以是基本类型,也可以是对象类型。Java数组的声明、创建和初始化是Java编程中非常重要的概念。 数组声明 在Java中,...
实验中,`new Long[5]`占用40字节,这包括对象头(12字节),数组长度(4字节),以及5个Long元素(每个8字节,总计40字节)。`new long[5]`占用56字节,因为long是8字节,加上对象头和数组长度,总共56字节。 对于...
3. **数组长度固定**:一旦数组被创建,其大小(长度)就不能改变。 4. **数组元素的下标**:数组元素通过下标访问,下标从0开始,到`n-1`结束,其中`n`为数组长度。 #### 二、一维数组的声明与使用 ##### 2.1 ...
Java array 数组用法源码集,比如测试数组、划分成绩等级、从方法中返回数组、二分查找法、求二维数组的长度、锯齿数组、处理二维数组等,相信通过这些基础的数组操作实例,会对你了解Java中的数组有很好的帮助作用...
### Java动态数组的应用 ...通过上述分析,我们不仅了解了Java动态数组的基本概念、实现方式及其应用场景,还学习了如何在实际项目中利用动态数组解决具体问题。这将有助于开发者更好地理解和运用这一重要的数据结构。