`
bupter520
  • 浏览: 55688 次
  • 性别: Icon_minigender_2
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

Java数组

阅读更多

    数组是我们接触的第一个容器,数组是长度固定的容器。数组是具有相同数据类型的,存储空间连续的变量的集合。它一但定义好大小将不能改变。Java中的数据类型分为两种:基本类型和引用类型,所以数组也有两种类型的:基本类型的数组和引用类型的数组(数组的数组也是引用类型的数组)。 
    目前可以用private, public 或着默认的修饰,private是封装的访问权限。将方括号置于变量名之后的声明数组的格式,是用于 C、C++和Java编程语言的标准格式。但这种格式会使数组的声明复杂难懂,因而,Java编程语言允许一种替代的格式,该格式中的方括号位于变量名的左边,意思是:声明一类型的数组,这个数组有一个引用名叫什么?JAVA推荐使用此格式。
    Java编程语言允许使用下列形式快速创建数组:
        String[] names = {
         “Georgianna”,
         “Jen”,
         “Simon”, 
        };
    其结果与下列代码等同:
        String[] names;
        names = new String [3];
        names [0] = “Georgianna”;
        names [1] = “Jen”;
        names [2] = “Simon”; 
     这种”速记”法可用在任何元素类型。例如: 
        MyDate[] Dates = {
          new MyDate (22,7,1964),
          new MyDate (1,1,2000),
          new MyDate (22,12,1964)
        };
   一个二维数组(JAVA中没有二维数组的概念,二维数组其实就是数组的数组)如下例所示:
int[][] twoDim = new int[4][];
twoDim[0] = new int[5];
twoDim[1] = new int[5];
    首次调用 new 而创建的对象是一个数组,它包含 4个元素,每个元素的类型也是 int 数组型,必须将数组的每个元素分别初始化。
注意:尽管声明的格式允许方括号在变量名左边或者右边,但此种灵活性不适用于数组句法的其它方面。
例如: new int [ ][4]是非法的。
    因为这种对每个元素的分别初始化,所以有可能创建非矩形数组的数组。也就是说,twoDim 的元素可按如下方式初始化:
twoDim[0] = new int [2]
twoDim[1] = new int [4];
twoDim[2] = new int [6];
twoDim[3] = new int [8];
    由于此种初始化的方法烦琐乏味,而且矩形数组的数组是最通用的形式,因而产生了一种”速记”方法来创建二维数组。例如:
Int[][] twoDim =  new int [4][5];  
  
    数组一旦创建后,其大小不可调整。然而,你可使用相同的引用变量来引用一个全新的数组:
int[] myArray = new int [6];
myArray = new int[10];
在这种情况下,第一个数组被丢弃,除非对它的其它引用保留在其它地方。 
Java编程语言在System类中提供了一种特殊方法拷贝数组,该方法被称作arraycopy()。例如,araycopy可作如下使用:
int[] myArray = { 1, 2, 3, 4, 5, 6 };              // 原始数组
int[] hold = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };    // 新的更大的数组 
 
System.arraycopy(myArray, 0, hold, 0, myArray.length);
// 从没有Array拷贝所有元素到hold,从下标0开始
这时,数组 hold有如下内容:1,2,3,4,5,6,4,3,2,1。注意:如果数组保存的是基本类型的话直接把值拷贝过来[深拷贝]。如果数组存放的是引用类型(类类型,数组类型(多维数组的拷贝)等),那么拷贝的是引用类型的地址[浅拷贝]。

分享到:
评论

相关推荐

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

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

    java数组初始化详解

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

    Java数组与内存控制

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

    Java数组版ATM

    在Java编程中,"Java数组版ATM"项目是一个典型的面向对象设计实例,它通过数组来模拟自动取款机(ATM)的功能。这个项目旨在教授如何利用Java语言中的类、对象、数组以及相关的面向对象设计原则来实现一个简单的银行...

    Java数组越界问题实例解析

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

    java数组教案.pdf

    Java数组教案 Java数组是Java编程语言中的一种重要数据结构,用于存储和处理一组数据。在本教案中,我们将详细介绍Java数组的声明、表示、赋值和内存分配,帮助学生掌握数组的基本概念和应用。 一、数组的声明和...

    java数组

    Java数组是程序设计中不可或缺的基础概念,它是一种数据结构,允许我们存储同类型的多个元素。在Java中,数组是对象,具有固定的大小,一旦创建,其长度就不能改变。本篇文章将深入探讨Java数组的各个方面,包括创建...

    java 数组和字符串

    ### Java数组和字符串详解 #### 实验目标与背景 本次实验旨在深化理解Java中的数组与字符串操作,聚焦于`String`类与`StringBuffer`类的掌握,包括它们的常用方法、相等性判断的不同方式、数组的创建及引用机制,...

    java数组函数(摘自JAVA编程思想)

    通过`com.bruceeckel.util`包中的工具类,我们可以更加高效和便捷地处理Java数组,提高代码的可读性和维护性。学习和熟练掌握这些数组函数,对于提升Java编程能力是非常有帮助的。在实际开发中,我们应该充分利用...

    java 数组求和计算

    以上内容涵盖了Java数组求和计算的基本知识以及相关的扩展话题。理解并掌握这些知识点对于进行有效的Java编程至关重要。在实际应用中,根据具体需求,可能还需要考虑性能优化、异常处理等方面的问题。

    java数组扩容2

    Java数组扩容的原理  1)Java数组对象的大小是固定不变的,数组对象是不可扩容的。  2)利用数组复制方法可以变通的实现数组扩容。  3)System.arraycopy()可以复制数组。  4)Arrays.copyOf()可以简便的...

    第03讲 JAVA数组.ppt

    【Java数组】是Java编程语言中基础且重要的数据结构,它允许存储固定数量的相同类型的数据。数组在Java中属于引用类型,也就是说数组本身是一个对象,数组中的每个元素相当于这个对象的成员变量。数组可以包含任何...

    Java数组倒置.rar

    Java数组倒置是一个常见的编程操作,它涉及到对数组元素顺序的反转。在Java中,数组是一种数据结构,用于存储同一类型的多个元素。数组倒置,也就是将数组中的元素顺序从后往前排列,使得原数组的第一个元素变为最后...

    46.java数组遍历1.zip

    46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip46.java数组遍历1.zip...

    43.java数组定义1.zip

    43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip...

    22.java数组的复制.zip

    22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组的复制.zip22.java数组...

    20.java数组空间分配.zip

    20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间分配.zip20.java数组空间...

    java数组基础与典型应用

    ### Java数组基础与典型应用详解 #### 一、数组的概念及基本使用 数组是Java中最基本的数据结构之一,用于存储固定大小的同类型元素集合。它允许程序员在单个变量中存储多个相同类型的数据项,这极大地提高了数据...

Global site tag (gtag.js) - Google Analytics