展开全部

当你产生某个存储对象的数组时,真正产生的其实是个存储references的数组。此一数组建立之后,其中62616964757a686964616fe4b893e5b19e31333365643533的每一个reference皆会被自动设为某个特殊值。

该值以关键字null表示。当Java看到null值,便将这个reference视为“不指向任何对象”。使用任何reference之前,你必须先将某个对象指派给它。如果你使用某个reference而其值为null,便会在执行期发生错误。因此,数组操作上的常犯错误,在Java中均可避免。

你当然也可以产生一个数组,用来存储基本型别。编译器一样保证初始化动作的必然进行:这一次它会将数组所占的内存全部清为零。

一 维 数 组 的 定 义 方 式 为 :

type arrayName[];

其 中 类 型 (type)可 以 为 Java中 任 意 的 数 据 类 型 ,包 括 简 单 类 型 和 组 合 类 型 (见 2.1),数 组 名

arrayName为 一 个 合 法 的 标 识 符 ,[]指 明 该 变 量 是 一 个 数 组 类 型 变 量 。 例 如 :

int intArray[];

声 明 了 一 个 整 型 数 组 ,数 组 中 的 每 个 元 素 为 整 型 数 据 。 与 C 、 C++不 同 ,Java在 数 组 的 定

义 中 并 不 为 数 组 元 素 分 配 内 存 ,因 此 []中 不 用 指 出 数 组 中 元 素 的 个 数 ,即 数 组 长 度 ,而 且 对 于

如 上 定 义 的 一 个 数 组 是 不 能 访 问 它 的 任 何 元 素 的 。 我 们 必 须 为 它 分 配 内 存 空 间 ,这 时 要 用

到 运 算 符 new,其 格 式 如 下 :

arrayName = new type[arraySize];

其 中 ,arraySize指 明 数 组 的 长 度 。 如 :

intArray = new int[3];

为 一 个 整 型 数 组 分 配 3个 int型 整 数 所 占 据 的 内 存 空 间 。

通 常 ,这 两 部 分 可 以 合 在 一 起 ,格 式 如 下 :

type arrayName = new type [arraySize];

例 如 :

int intArray = new int[3];

二 、 一 维 数 组 元 素 的 引 用

定 义 了 一 个 数 组 ,并 用 运 算 符 new为 它 分 配 了 内 存 空 间 后 ,就 可 以 引 用 数 组 中 的 每 一 个

元 素 了 。 数 组 元 素 的 引 用 方 式 为 :

arrayName[index]

其 中 :index为 数 组 下 标 ,它 可 以 为 整 型 常 数 或 表 达 式 。 如 a[3] ,b[i](i为 整 型 ),c[6*I]等 。 下 标

从 0开 始 ,一 直 到 数 组 的 长 度 减 1。 对 于 上 面 例 子 中 的 in- tArray数 组 来 说 ,它 有 3个 元 素 ,分 别 为 :

intArray[0],intArray[1], intArray[2]。 注 意 :没 有 intArray[3]。

另 外 ,与 C、 C++中 不 同 ,Java对 数 组 元 素 要 进 行 越 界 检 查 以 保 证 安 全 性 。 同 时 ,对 于 每 个

数 组 都 有 一 个 属 性 length指 明 它 的 长 度 ,例 如 :intArray.length指 明 数 组 intArray的 长 度 。

例5.1

public class ArrayTest{

public static void main( String args[] ){

int i;

int a[]=new int[5];

for( i=0; i<5; i++ )

a[i]=i;

for( i=a.length-1; i>=0; i-- )

System.out.println("a["+i+"] = "+a[i]);

}

}

运行结果如下:

C:\>java ArrayTest

a[4] = 4

a[3] = 3

a[2] = 2

a[1] = 1

a[0] = 0

该 程 序 对 数 组 中 的 每 个 元 素 赋 值 ,然 后 按 逆 序 输 出 。

三 、 一 维 数 组 的 初 始 化

对 数 组 元 素 可 以 按 照 上 述 的 例 子 进 行 赋 值 。 也 可 以 在 定 义 数 组 的 同 时 进 行 初 始 化 。

例 如 :

int a[] = {1,2,3,4,5};

用 逗 号 (,)分 隔 数 组 的 各 个 元 素 ,系 统 自 动 为 数 组 分 配 一 定 的 空 间 。

与 C中 不 同 ,这 时 Java不 要 求 数 组 为 静 态 (static)。

四 、 一 维 数 组 程 序 举 例 :

例5.2 Fibonacci数列

Fibonacci数 列 的 定 义 为 :

F1 = F2 = 1, Fn = Fn-1 + Fn-2 (n>=3)

public class Fibonacci{

public static void main( String args[] ){

int i;

int f[]=new int[10];

f[0]=f[1]=1;

for( i=2; i<10; i++ )

f[i]=f[i-1]+f[i-2];

for( i=1; i<=10; i++ )

System.out.println("F["+i+"]= "+f[i-1]);

}

}

运 行 结 果 为 :

C:\>java Fibonacci

F[1]= 1

F[2]= 1

F[3]= 2

F[4]= 3

F[5]= 5

F[6]= 8

F[7]= 13

F[8]= 21

F[9]= 34

F[10]= 55

例 5.3冒 泡 法 排 序 (从 小 到 大 )

冒 泡 法 排 序 对 相 邻 的 两 个 元 素 进 行 比 较 ,并 把 小 的 元 素 交 换 到 前 面 。

public class BubbleSort{

public static void main( String args[] ){

int i,j;

int intArray[]={30,1,-9,70,25};

int l=intArray.length;

for( i=0; i<l-1; i++)

for( j=i+1; j<l; j++ )

if( intArray[i]>intArray[j] ){

int t=intArray[i];

intArray[i]=intArray[j];

intArray[j]=t;

}

for( i=0; i<l; i++ )

System.out.println(intArray[i]+" ");

}

}

运 行 结 果 为 :

C:\>java BubbleSort

-9

1

25

30

70]@@@

§ 5.2 多 维 数 组

与 C、 C++一 样 ,Java中 多 维 数 组 被 看 作 数 组 的 数 组 。 例 如 二 维 数 组 为 一 个 特 殊 的 一 维数 组 ,其 每 个 元 素 又 是 一 个 一 维 数 组 。 下 面 我 们 主 要 以 二 维 数 组 为 例 来 进 行 说 明 ,高 维 的情 况 是 类 似 的 。

java 整形数组初始化_java中怎么数组初始化?相关推荐

  1. java 数组遍历_Java中遍历数组使用foreach循环还是for循环?

    从JDK1.5起,增加了新功能Foreach,它是for循环遍历数据的一种简写形式,使用的关键字依然是for,但参数格式不同.其详细用法为: for(Type e:collection){ //对变量 ...

  2. java 数组赋值_java中为数组赋值的方法

    java中为数组赋值的方法 发布时间:2020-06-25 14:31:36 来源:亿速云 阅读:184 作者:Leah 这期内容当中小编将会给大家带来有关java中为数组赋值的方法,文章内容丰富且以 ...

  3. delphi 获取数组长度_Java中的数组(基础篇六)

    在学习数组之前我们先来了解一下容器,生活中的容器比如水杯是用来装水的,衣柜是装衣服的,Java中的容器是用来存储数据的,将多个数据存储到一起,每个数据称为该容器的元素. 数组:数组就是存储数据长度固定 ...

  4. java数组赋值_java中给数组赋值的方法

    1.数组操作中,可以使用等于(=)赋值 注意:此时新数组只是指向原数组的存储空间,并没有重新申请新的空间. 实例:public class ArrayTest{ public static void ...

  5. 对象数组的初始化_JAVA中数组是什么?

    Java中数组是相同类型数据的有序集合.数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们.数组的三个基本特点: ...

  6. int数组初始化_Java中到底有没有多维数组

    Java 中没有多维数组的概念,从数组底层的运行机制上来看 Java 没有多维数组,但是 Java 提供了支持多维数组的语法,可以实现多维数组的功能. Java 语言里的数组类型是引用类型,因此数组变 ...

  7. java数组循环扩容_Java中实现数组动态扩容的两种方法

    Java中实现数组动态扩容的两种方法 java中初始化一个数组需要定义数组的容量,而在我们使用数组时往往会遇到数组容量不够的情况,此时我们就需要通过动态扩容的方式来来根据需求扩大数组的容量. 我们可以 ...

  8. java 声明数组_Java中的数组简介

    对于Java来说,如果需要用一种数据结构来保存若干个同类型的元素,那么可以选择使用数组. 所谓数组就是用来保存若干个同类型的数据元素,在Java中也可以认为数据元素就是对象.也就是说,只要给定了一个数 ...

  9. java中数组的引用是什么意思_java中的数组是引用数据类型。

    [判断题]合金的组元决定了合金的性能 . [单选题]下列分子中存在分子内氢键的是 [单选题]下列电子构型中,不属于基态原子电子构型的是 [判断题]面心立方晶格的纯铁较体心立方晶格的纯铁强度高 [判断题 ...

最新文章

  1. 移动设备真机调试本地程序的Node.js【无需连wifi】
  2. prometheus变量_Prometheus 数据可视化
  3. 002 exercises
  4. canal mysql从库_canal中间件|数据增量同步解决方案
  5. Linux学习笔记5
  6. java 变位词,[Java教程]变位词的查找(下)
  7. win10无法打开设置,桌面右键显示设置提示ms-settings:display 该文件没有与之关联的程序来执行该操作
  8. android缩放组件,Android控件实现图片缩放功能
  9. 炒股票基础理论——道氏股价波动理论
  10. ECAMScript6基础知识
  11. 什么是LTE(Long Term Evolution)
  12. 教你解决问题:mac电脑卸载双系统中Boot camp助理出现“启动磁盘不能被分区或恢复成单个分区”
  13. C语言九九乘法表示例
  14. AndroidStudio安装及配置 NDK 和 CMake
  15. 关于零售的本质让人不寒而栗
  16. 计算机英语首字母,软考计算机专业英语常用词汇(首字母S)
  17. 2022年全球与中国红外探测器芯片市场现状及未来发展趋势
  18. 基于Web的二手房爬虫系统案例
  19. JavaMail简单实践
  20. 【实习杂记】Java项目遇错

热门文章

  1. C# FileStream类的文件流、文件读取写入操作
  2. 2006德国世界杯赛程
  3. 【推荐系统】算法总结(1) UserCF
  4. js控制全屏显示/退出全屏的方法
  5. 苹果黑解升级后显示无服务器,果粉怒了!升级iOS 12.1.3后,这款iPhone彻底无服务了...
  6. Audition3.0 消除人声
  7. 有意思的Chrome扩展(待更新)
  8. ☀️苏州程序大白用万字解析Python网络编程与Web编程☀️《❤️记得收藏❤️》
  9. C语言字节对齐问题详解
  10. 未来三年最赚钱的一个机会