java面向对象编程——第六章 数组
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面向对象编程——第六章 数组的更多相关文章
- java面向对象编程— —第七章 继承
7.1继承的起源 继承(Inheritance),即在面向对象编程中,可以通过扩展(extends)一个已有的类,并继承该类的属性的行为,来创建一个新的类. 已有的类称为父类(也可以称为基类,超类), ...
- 【读书笔记】C#高级编程 第六章 数组
(一)同一类型和不同类型的多个对象 如果需要使用同一类型的多个对象,就可以使用数组或集合(后面章讲). 如果需要使用不同类型的多个对象,可以使用Tuple(元组)类型. (二)简单数组 如果需要使用同 ...
- java面向对象编程——第四章 类和对象
OO:面向对象 OOP:面向对象编程 OOA:面向对象分析 OOD:面向对象设计 结构化编程:从顶向下,将一个大问题分解成更小的任务,然后为每一个更小的任务编写一个过程.最后程序员会编写一个主过程来启 ...
- java 面向对象编程-- 第15章 集合框架
1. 集合特点:元素类型不同.集合长度可变.空间不固定 2. java中对一些数据结构和算法进行了封装即集合.集合也是一种对象,用于存储.检索.操作和传输对象. 3. JCF(Java Coll ...
- java面向对象编程——第五章 对象的行为
5.1 方法调用栈 当一个方法被调用时,将导致控制流程跳转到被调用的方法.然后,控制流程执行方法中的语句.当然,被执行的方法可能会调用其它方法,导致控制流程跳转到其它方法.所有的方法调用都维护在一个称 ...
- java面向对象编程(六)--四大特征之继承
本文将介绍继承.方法重载和方法覆盖.其中方法重载和方法覆盖是在讲多态时必须要清楚的一个知识点. 一.继承 1.继承的概念 继承可以解决代码复用,让我们的编程更加靠近人类思维.当多个类存在相同的属性(变 ...
- java 面向对象编程-- 第十三章 反射、类加载与垃圾回收
1.狭义JavaBean规范 Javabean必须包含一个无参数的public构造方法,方便通过反射的方式产生对象. 属性必须都是私有的. Javabean必须包含符合命名规范的get和set方法,以 ...
- java面向对象编程—— 第三章 程序流程控制
3.1流程控制 三种基本技术可以改变程序的控制流程: ① 调用方法:调用方法将导致控制流程离开当前方法,转移到被调用的方法: ② 选择:java中有两种做出选择的机制:if/else语句和sw ...
- java 面向对象编程 第20章 XML技术解析
1. XML:extended Markup Language 可扩展标记语言,利用标签和子标签方式描述数据. 2. 声明<?xml version=”1.0”?>版本号 注释< ...
随机推荐
- 内部使用final参数的原因
局部内部类(即:定义在方法中的内部类),访问方法中的局部变量 : 局部变量的生命周期与对象的生命周期的不一致性!方法在执行完方法的局部变量就消失,而内部类如果有引用还是存在的,那么将找不到变量.此时设 ...
- FileCopy
/*[入]指的是到内存里,[出]指的是到内存外*/ import java.io.*; public class MyReadFile{ public static void main(String[ ...
- OC正则表达式的简单使用
最近落实工作的事情后终于有时间可以写博客了 今天带来的是正则表达式的一般使用方法 我们平时在对字符串构成就行判断的时候,一般利用其单个字符进行条件判断 但如果判断的条件稍微复杂一点,那对单个字符判断就 ...
- web发展总结
- mysql 性能问题
1.场景,模拟一天的数据,每个10秒,遍历1000个设备,每个设备模拟一个实时数据,总的数据量为:24*60*60/10*1000 = 864万条记录.2.采用策略,对时间分段,拼接sql语句查询,对 ...
- Python内置函数filter, map, reduce
filter.map.reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是Python列表方法的三架马车. 1. filter函数的功能相当 ...
- Maven打包遇到的一些问题(zhuan)
http://qqbwww.iteye.com/blog/2042307 **************************************** #Maven打包遇到的一些问题 ## 1.将 ...
- Webdriver - Selenium Grid Configuration
Grid parameter: role = <hub|node> (default is no grid, just run an RC/webdriver server). When ...
- Unity5.3官方VR教程重磅登场-系列2
作者:王寒链接:https://zhuanlan.zhihu.com/p/20485529来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 欢迎继续我们的学习. 北京时间 ...
- WCF技术剖析之二:再谈IIS与ASP.NET管道
原文地址:http://www.cnblogs.com/artech/archive/2009/06/20/1507165.html 在2007年9月份,我曾经写了三篇详细介绍IIS架构和ASP.NE ...