java面向对象编程——第六章 数组

时间:2022-09-21 09:17:37

1、数组概述

数组是存储在一个连续的内存块中的元素集合。数组中的每个元素必须是相同的数据类型,并且通过索引进行区分。数组中的第一个元素的索引为0.

在java中,创建数组有两个步骤:

  • 声明一个对数组的引用;
  • 使用new关键字初始化数组,并指定数组的大小。

对数组的引用可以用中括号。如 int [ ] a=new int[5]; //声明一个长度为5名字为a的数组。

2、数组长度

java中每个数组都有一个length属性的代表数组的长度。如果一个数组a长度为5,则数组a的第一位所以为0,最后一位索引为4.如果运行a[5]=0;则会抛出异常:ArrayIndexOutOfBoundsException,即越界。

3、数组初始化

在java中,我们可以用一条语句声明一个数组引用,实例化一个数组,并且填充数组元素。这个过程称为数组初始化,它对创建一个包含已知数据的小数组是很有用的。

数组初始化程序在创建数组时,不需要使用new关键字。数组中的元素使用大括号列出,元素和元素之间用逗号分隔开。如int [] a={1,2,3,4,5}。

数组初始化程序只能在将其赋值给一个新声明的数组引用时使用,并且必须在一条语句内完成。

4、数组复制

我们可以编写一个for循环将一个数组的内容复制给另一个,也可以用System类中的静态方法arraycopy()。其签名如下:public static void arraycopy(Object source, int sourcePos,Object destination, int destinationPos,int length)其中sourcePos指示要复制的源数组,而destinationPos指示要复制给哪个目标数组,length参数代表要复制的元素的数目。

5、多维数组

在java中多维数组也是对象,需要一个引用,该引用是在数据类型和变量名之间用多个中括号来声明的。如int[] [] a;a= new int [5] [4];则是声明了一个名为2,元素数量为5*4=20个的二维数组。

*javadoc工具可以产生包含类信息的HTML页面,该页面中包含在源代码中出现的任何javadoc注释。

java面向对象编程——第六章 数组的更多相关文章

  1. java面向对象编程— —第七章 继承

    7.1继承的起源 继承(Inheritance),即在面向对象编程中,可以通过扩展(extends)一个已有的类,并继承该类的属性的行为,来创建一个新的类. 已有的类称为父类(也可以称为基类,超类), ...

  2. java面向对象编程——第四章 类和对象

    OO:面向对象 OOP:面向对象编程 OOA:面向对象分析 OOD:面向对象设计 结构化编程:从顶向下,将一个大问题分解成更小的任务,然后为每一个更小的任务编写一个过程.最后程序员会编写一个主过程来启 ...

  3. java 面向对象编程-- 第15章 集合框架

    1.  集合特点:元素类型不同.集合长度可变.空间不固定 2.  java中对一些数据结构和算法进行了封装即集合.集合也是一种对象,用于存储.检索.操作和传输对象. 3.  JCF(Java Coll ...

  4. java面向对象编程——第五章 对象的行为

    5.1 方法调用栈 当一个方法被调用时,将导致控制流程跳转到被调用的方法.然后,控制流程执行方法中的语句.当然,被执行的方法可能会调用其它方法,导致控制流程跳转到其它方法.所有的方法调用都维护在一个称 ...

  5. java面向对象编程(六)--四大特征之继承

    本文将介绍继承.方法重载和方法覆盖.其中方法重载和方法覆盖是在讲多态时必须要清楚的一个知识点. 一.继承 1.继承的概念 继承可以解决代码复用,让我们的编程更加靠近人类思维.当多个类存在相同的属性(变 ...

  6. java 面向对象编程-- 第十三章 反射、类加载与垃圾回收

    1.狭义JavaBean规范 Javabean必须包含一个无参数的public构造方法,方便通过反射的方式产生对象. 属性必须都是私有的. Javabean必须包含符合命名规范的get和set方法,以 ...

  7. java面向对象编程—— 第三章 程序流程控制

    3.1流程控制 三种基本技术可以改变程序的控制流程: ①   调用方法:调用方法将导致控制流程离开当前方法,转移到被调用的方法: ②   选择:java中有两种做出选择的机制:if/else语句和sw ...

  8. java 面向对象编程 第20章 XML技术解析

    1.  XML:extended Markup Language  可扩展标记语言,利用标签和子标签方式描述数据. 2.  声明<?xml version=”1.0”?>版本号 注释&lt ...

  9. java 面向对象编程 第18章——网络编程

    1.  TCP/IP协议模型 应用层:应用程序: 传输层:将数据套接端口,提供端到端的通信服务: 网络互联层:负责数据包装.寻址和路由,同时还包含网间控制报文协议: 网络接口层:提供TCP/IP协议的 ...

随机推荐

  1. jenkins &plus; Git 搭建持续集成环境

    持续集成通过自动化构建.自动化测试以及自动化部署加上较高的集成频率保证了开发系统中的问题能迅速被发现和修复,降低了集成失败的风险,使得系统在开发中始终保持在一个稳定健康的集成状态.jenkins是目前 ...

  2. 绘图&colon; Stroke&comma; Brush

    Stroke - 笔划 Brush - 画笔 示例1.演示“Stroke”相关知识点Drawing/Stroke.xaml <Page x:Class="Windows10.Drawi ...

  3. DES加密系统的实现

    这是一个高内聚低耦合可复用的DES加密系统的实现. Github 链接:https://github.com/cyendra/CyDES 要实现加密系统,先考虑数据的基本单位. 在DES加密中,数据是 ...

  4. js&sol;jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码

    获取浏览器窗口的可视区域高度和宽度,滚动条高度有需要的朋友可参考一下.IE中,浏览器显示窗口大小只能以下获取: 代码如下复制代码 代码如下: document.body.offsetWidth doc ...

  5. 【js课设】电子画板01

    这学期web开发课的课设选了电子画板课题.(人家本来想做富文本编辑器的嘛然鹅老师在第二版里把这题删掉了。゚ヽ(゚´Д`)ノ゚。) 主要考虑的有[界面美观][画笔类型][画布分层]这三个点了. [界面美 ...

  6. TreeMap 的排序冲突吗

    今天在网上看到一个问题:一个已经构建好的 TreeSet,怎么完成倒排序? 网上给出的答案是: 通过TreeSet构造函数传入一个比较器,指定比较器进行排序为原排序的倒叙. TreeSet的自然排序是 ...

  7. 开发宏功能&colon;excel中从sheet批量插入

    源数据如图: 宏操作: 生成数据后: 关键操作:在excel中启用开发工具,添加宏,然后添加模块即可,编辑完代码后,自定义功能按钮即可. Sub MakeDataSource() Dim isExis ...

  8. 修改Arduino IDE默认字体

    文件->首选项 点击直接编辑下面那个文件 修改editor.font这个条目就可以不用那么毁眼了..

  9. 『TensorFlow』slim模块常用API

    辅助函数 slim.arg_scope() slim.arg_scope可以定义一些函数的默认参数值,在scope内,我们重复用到这些函数时可以不用把所有参数都写一遍,注意它没有tf.variable ...

  10. Terraform:创建 Azure 虚机

    笔者在前文<Terraform 简介>中简单介绍了 Terraform 相关的概念,本文让我们使用 Terraform 在 Azure 上创建一个虚机,以此来直观体验一下 Terrafor ...