栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

第6章 数组

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第6章 数组

1.声明数组:dataType[ ] arrayRefVar;(数据类型[] 数组名;)
或dataType arrayRefVar[];(数据类型 数组名[ ];//这种类型是正确的,但不推荐)

2.说明一个数组变量时并不在内存中给数组分配任何空间,仅创建一个引用数组的存储地址。如果变量没指向任何数组,则变量的值为null。除非数组已经创建,否则不能给它分配任何元素。声明数组变量之后,可以通过下面的语法用new操作符创建它:

arrayRefVar = n e w dataType[arraySize]; (数组名 = new数据类型[数组大小];)

这条语句做了两件事情:(1) 使用new dataType[arraySize];创建了一个数组。(2) 把新创建的数组引用赋值给arrayRefVar表示的变量。

3.声明一个数组变量、创建数组、将数组引用赋值给变量三件事可以合并在一个语句里,如下所示:

 dataType[] arrayRefVar = n e w dataType[arraySize];
 (数据类型[] 数组名=new数据类型[数组大小];)

 dataType arrayRefVar[] = n e w dataType[arraySize];
 (数据类型 数组名[]=new数据类型[数组大小];)

4.一个数组变量似乎存储了一个数组,实际上它只存储着数组的引用。

5.给数组分配空间时,必须通过指定存储元素的个数来约定数组的大小。数组创建之后就不能再修改它的大小。可以使用arrayRefVar.length方法求得数组的大小。

6.数组创建后,它的元素赋予默认值,数值型基本数据类型默认值为0,char型为’u0000’,boolean型为false。

7.Java有一个简洁的记法,叫做数组初始化(array initializer),可以将声明数组、创建数组和初始化
数组结合到一个语句中,其语法如下:

dataType[] arrayRefVar = {value0,value1,...,valuek};
 (数据类型[] 数组变量={直接量0, 直接量1,..., 直接量k};)

8.数组初始化语句中不使用运算符new。使用数组初始化时,必须将声明、创建、初始化数组都放在一个语句中。将其分开会产生语法错误

9.处理数组:

  • 用随机数初始化数组
  • 输出数组
  • 对所有元素求和
  • 查找最大元素
  • 查找最大元素的最小下标值

10.JDK 1.5引进了一个新的for循环,称为foreach循环或增强的for循环,它不用下标变量就可以顺序地访问整个数组。

11.在Java中,可以使用赋值语句复制基本数据类型的变量,但不能复制数组。将一个数组变量赋值给另一个数组变量,实际上是将一个数组的引用复制给另一个变量,使两个变量指向同样的内存地址。

12.复制数组有三种方法:

  • 用循环语句逐个复制数组的元素。
  • 使用System类中的静态方法arraycopy。
  • 使用clone方法复制数组。

13.arraycopy的语法如下:

arraycopy(sourceArray, srcPos, targetArray, tarPos, length);

参数srcPos和tarPos分别指在源数组sourceArray和目标数组targetArray中的起始位置。从sourceArray复制到targetArray中的元素个数由参数length指定。

14.前面的语句使用下述语法创建数组:

new dataType[]{value0,value1,...,valuek};(new数据类型[]{直接量0, 直接量1,..., 直接量k};)

该数组没有显式的引用变量,这样的数组称为匿名数组(anonymous array)。

15.DJK 1.5 允许把类型相同但个数不定的参数传递给方法,方法中参数的声明如下:

typeName... parameterName

在方法声明中,如果发现类型后紧跟省略号(…),那么只能给方法指定变长参数,并且该参数必须是最后一个参数,任何常规参数必须在它之前
Java把变长参数当成数组,所以,可以把数组或个数不定的参数传递给变长参数。当用个数不定的参数引用方法时,Java创建一个数组并把参数传给它。

16.JVM将数组存储在一个叫做堆(heap)的内存区域中,堆用于动态内存分配,在堆中内存块可以按任意的顺序分配和释放。

17.数组的查找
常见的算法:线性查找、二分查找

18.数组的排序
两种简单、直观的排序方法:选择排序和插入排序

19.Arrays类

20.二维数组中每一行本身是一个数组,因而各行就可以有不同的长度,这样的数组称为锯齿数组(ragged array)。
使用语法new int[5][]创建数组时,第一个下标必须给定。

21.声明二维数组的语法:

数据类型[][] 数组名;

数据类型 数组名[][]; / /这种方式是正确的,但不推荐

22.求二位数组的长度
二维数组实际上是每个元素是一个一维数组的数组。数组x的长度是数组中元素的个数,可以用x.length 求得。元素 x[0],x[1], … ,x[x.length-1] 也是数组,它们的长度可以利用x[0].length,x[1].length,…,x[x.length-1].length求得。

23.处理二维数组

  • 用随机数初始化数组
  • 输出数组
  • 求所有元素的和
  • 对数组按列求和
  • 求哪一行和最大

24.在Java中,对任意的整数n都可以创建n维数组。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/344977.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号