`
凌紫冥
  • 浏览: 25618 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java编程思想第四版——第十六天

    博客分类:
  • Java
 
阅读更多
2012-04-24
131-138/913

Java编程思想第四版——第十六天

5.8 数组初始化
数组只是相同类型的、用一个标识符名称封装到一起的一个对象序列或基本类型数据序列。数组是通过方括号下标操作符【】来定义和使用的。定义一个数组,只需在类型名后加上一对空方括号即可:int[] a1;。方括号也可以置于标识符后面:int a1[];。两种格式含义一样,后一种格式符合C和C++程序员的习惯。前一种格式或许更合理,表明类型是一个int型数组。
编译器不允许指定数组的大小。
所有数组(无论它们的元素是对象还是基本类型)都有一个固有成员,可以通过它获知数组内包含了多少个元素,但不能对其修改。这个成员就是length。与C和C++类似,java数组计数也是从第0个元素开始,所以使用的最大下标数十length-1.超出这个边界,C和C++会“默默”接受,并允许访问所有内存。Java中,一旦访问下标过界,就会出现运行时错误(即异常)。

如果可能,数组尽量在定义的同时进行初始化。
创建一个非基本类型的数组,就是创建了一个引用数组。需要创建新的对象,并把对象赋值给引用,初始化进程才算结束。如果忘记了创建对象,并且试图使用数组中的空引用,就会在运行时产生异常。
两种方式:
1.Integer[]  a1 = new Integer[20];
a1[0] = 10;
2.Integer[]  a2 = {new Integer(1), new Integer(2), 3, };初始化列表的最后一个逗号是可选的(这一特性使维护长列表变得更容易)。
3. Integer[]  a3 = new Integer[] {new Integer(1), new Integer(2), 3, };

5.8.1 可变参数列表
第二种形式提供了一种方便的语法来创建对象并调用方法,以获得与C的可变参数列表(C通常把它简称为varargs)一样的效果。这可以应用于参数个数或类型未知的场合。所有类都直接或间接继承于Object类,所以可以创建Object数组为参数的方法。
不定义toString()方法,就打印类的名字和对象的地址。

有了可变参数,不用显示的编写数组语法了,指定参数时,编译器会填充数组,传递一组事物,可以当作列表传递,传递的是一个数组,编译器不会再执行任何转换。

如果列表没有任何元素,转变成的数据的尺寸为0。

getClass()属于Object的方法,产生对象的类。
分享到:
评论

相关推荐

    数据结构与算法分析_java语言描述课后答案(英文)

    - **第四章:树** —— 深入讨论了树的各种类型(如二叉树、平衡树等)及其操作,如遍历、插入和删除。 - **第五章:散列** —— 介绍了散列表的工作原理、散列函数的设计以及处理冲突的方法。 - **第六章:优先队列...

    电子书《面向对象程序设计与Java语言》(第0.1版)

    提高部分从第十一章至第十六章,重点关注Java语言在实际编程中的高级应用,旨在帮助读者掌握更复杂的编程技巧,以便进行大型Java应用程序的开发。这部分包括: 1. **对象容器类**:第十一章讲解了如何使用Java提供...

    C#入门经典第四版(第8部分,共分16个部分)

    ### C#入门经典第四版(第8部分,共16个部分)—— 关键知识点解析 #### 一、C#的基础知识与面向对象编程 **C#语言介绍:** C#是一种现代、面向对象的编程语言,由微软设计并发展起来,主要用来构建基于.NET ...

    Java版数据结构与算法分析

    2. **加权图**:第十四章重点讨论了加权图的特性以及基于加权图的最短路径算法,如迪杰斯特拉算法、弗洛伊德算法等。 #### 六、综合运用 1. **何时使用何种数据结构**:最后一部分总结了在不同情况下选择合适的...

    计算机科学与技术学院毕业设计(论文)开题报告

    Java 编程思想. 2005 年 3 月第 1 版. 机械工业出版社. [3] James Keogh 著.潘颖 王磊译.J2ME 开发大全. 2004 年 2 月第 1 版. 清华大学出版社. [4] Ian Sommerville 著. 程成等译. 软件工程. 2003 年 1 月第 1 ...

    数据结构与算法分析_java语言描述

    根据提供的文件信息,我们可以归纳出该书《数据结构与算法分析_java语言描述》的主要知识点及其相关内容。本书由Mark Allen Weiss撰写,是计算机科学领域内学习数据结构与算法的经典教材之一。接下来,我们将按照各...

    Android程序设计基础

     阅读本书唯一的前提条件,是具备对Java编程或类似面向对象语言(比如说C#)的基本理解,不需要拥有为移动设备开发软件的经验。实际上,如果你确实有这方面的经验,反倒应该忘记它们。Android是如此与众不同,因此...

    think in C sharp

    - **第16章:Web服务**(753页)介绍了如何使用C#开发和消费Web服务。 #### 附录 - **附录A:Java程序员的C#**(755页) - **附录B:Visual Basic程序员的C#**(757页) - **附录C:C#编程指导原则**(759页) - **...

    代码之美(中文完整版).pdf

    5.8 版本 6:第四次优化:缓存(Caching) 5.9 从故事中学到的 第6章 集成测试框架:脆弱之美 6.1. 三个类搞定一个验收测试框架 6.2. 框架设计的挑战 6.3. 开放式框架 6.4. 一个HTML解析器可以简单到什么程度? 6.5. ...

    SQL21日自学通(V1.0)

    **第十天:创建视图和索引** - **使用视图**:介绍了视图的概念及其用途。 - **列的重命名**:教授了如何更改视图中列的名称。 - **SQL对视图的处理过程**:解释了SQL引擎如何处理包含视图的查询请求。 以上内容...

    C#微软培训资料

    第十六章 组织应用程序 .198 16.1 基 本 概 念 .198 16.2 使用名字空间 .200 16.3 使用指示符 .203 16.4 程 序 示 例 .206 16.5 小 结 .213 第十七章 文 件 操 作 .215 17.1 .Net 框架结构提供的 I/O ...

    C# 完整教材

    ##### 第十六章:组织应用程序 - **16.1 基本概念** 介绍命名空间和使用指示符的基本概念。 - **16.2 使用名字空间** 讨论了如何使用命名空间来组织代码。 - **16.3 使用指示符** 介绍如何使用using指示符...

    C#入门教程

    #### 第十六章:组织应用程序 - **16.1 基本概念** - 名字空间、类、方法等。 - **16.2 使用名字空间** - 名字空间用于组织相关的类型。 - **16.3 使用指示符** - 指示符如`using`简化了对类型或名字空间的引用...

Global site tag (gtag.js) - Google Analytics