数组是有序数据的集合,数组中的每一个元素具有同样的数组名和下标来唯一地确定数组中的元素。

1. 一维数组

1.1 一维数组的定义

type arrayName[];

type[] arrayName;

当中类型(type)能够为Java中随意的数据类型,包含简单类型组合类型,数组名arrayName为一个合法的标识符,[]指明该变量是一个数组类型变量。

另外一种形式对C++开发人员可能认为非常奇怪,只是对JAVA或C#这种开发语言来说,另外一种形式可能更直观,由于这里定义的仅仅是个变量而已,系统并未对事实上例化,仅仅需指明变量的类型就可以,也不需在[]指定数组大小。(第一种形式是不是仅仅是为了兼容曾经的习惯,毕竟C语言的影响太大了?)

比如:

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];

1.2 一维数组元素的引用

定义了一个数组,并用运算符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的长度。

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

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

1.3 一维数组的初始化

对数组元素能够依照上述的样例进行赋值。也能够在定义数组的同一时候进行初始化。

比如:

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

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

与C中不同,这时Java不要求数组为静态(static),事实上这里的变量相似C中的指针,所以将其作为返回值给其他函数使用,仍然是有效的,在C中将局部变量返回给调用函数继续使用是刚開始学习的人非常easy犯的错误。

2. 多维数组

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

2.1 二维数组的定义

二维数组的定义方式为:

type arrayName[][];

比如:

int intArray[][];

与一维数组一样,这时对数组元素也没有分配内存空间,同要使用运算符new来分配内存,然后才干够訪问每一个元素。

对高维数组来说,分配内存空间有以下几种方法:

1. 直接为每一维分配空间,如:

int a[][]=new int[2][3];

2. 从最高维開始,分别为每一维分配空间,如:

int a[][]=new int[2][];

a[0]=new int[3];

a[1]=new int[3];

完毕1中同样的功能。这一点与C、C++是不同的,在C、C++中必须一次指明每一维的长度。

2.2 二维数组元素的引用

对二维数组中每一个元素,引用方式为:arrayName[index1][index2] 当中index1、index2为下标,可为整型常数或表达式,如a[2][3]等,相同,每一维的下标都从0開始。

2.3 二维数组的初始化

有两种方式:

1. 直接对每一个元素进行赋值。

2. 在定义数组的同一时候进行初始化。

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

定义了一个3×2的数组,并对每一个元素赋值。

java 整型数组定义_JAVA数组的定义及用法相关推荐

  1. java数组变量定义_JAVA数组的定义及用法

    数组是有序数据的集合,数组中的每一个元素具有同样的数组名和下标来唯一地确定数组中的元素. 1. 一维数组 1.1 一维数组的定义 type arrayName[]; type[] arrayName; ...

  2. java 整型数组排序,java整型数组冒泡排序

    package demo1; public class Text { public static void main(String[] args) { int[] arr = { 7, 6, 3, 5 ...

  3. java 整型数组定义_在Java中定义一个具有10个元素的整型数组a的语句是:___

    在Java中定义一个具有10个元素的整型数组a的语句是:___ 答: int [] arr = new int[10] 在借贷记账法下() 答:在账户结构上,"借"和"贷 ...

  4. java整型数组转置输出,Java实现数组转置

    public class DayE2 { public static void main(String[] args) { int [] datas=new int[]{1,2,3,4,5,6}; i ...

  5. java整型数组字符串相互转换,java数组与字符串相互转换、整型与字符串相互转换【详解】...

    1.char数组(字符数组)->字符串 可以通过:使用String.copyValueOf(charArray)函数实现. 举例: char[] arr={'a','b','c'}; Strin ...

  6. php声明整型数组长度,php数组的长度如何表示

    PHP获取数组长度的方法 一.获取一维数组长度的方法 1.count.sizeof 都可以直接统计一维数组长度. 2.例如:$arr = Array('0','1','2','3','4'); ech ...

  7. java数组最大长度_Java整型数组的最大长度到底有多长?

    今天上网查了一下,各种说法都有,这个问题似乎总困扰我们Java初学者,无奈,只好自己试了一下,以下是我的测试代码,如果有错误,还望不吝赐教! 使用eclipse默认的vm arguments,运行以下 ...

  8. Java反射修改返回值_java反射调用时如果返回值是整型数组怎么处理?

    想通过java的反射功能将javaBean转换成map: public static Map toMap(Object javaBean) { Map result = new HashMap< ...

  9. c定义一个整型数组_滨州学院C语言作业讲解有序数组插入

    点击蓝字 关注我们 + 滨州学院C语言作业详解 [问题描述]一个长度为11的整型数组中存放有10个从小到大排好序的整数:1 3 5 10 23 100 180 200 350 500.输入一个x,把它 ...

  10. java byte(字节_Java字节序,java整型数与网络字节序 byte[] 数组转换关系(ByteArrayOutpu......

    /** * 通信格式转换 * * Java和一些windows编程语言如c.c++.delphi所写的网络程序进行通讯时,需要进行相应的转换 * 高.低字节之间的转换 * windows的字节序为低字 ...

最新文章

  1. mysql 4.1.10_Mysql4.1.10初级解读
  2. Linux操作系统CentOS7.2发行版本的安装与配置
  3. 商汤科技汤晓鸥:其实不存在AI行业,唯一存在的是“AI+“行业
  4. 如何使用Vue集成其它UI组件?如何阅读UI官网?移动端组件Vant实例教程(熬夜干货)
  5. AutoMapper学习笔记
  6. 有了中文版MSDN2,何必又东奔西走去找资料
  7. day22 属性 类方法 静态方法 反射 https://www.cnblogs.com/jin-xin/articles/9214247.html
  8. jchdl - GSL实例 - LogicalLeft
  9. 在plc中用c语言实现电梯控制程序,基于三菱FX2N PLC的两部电梯控制系统设计(附梯形图程序)...
  10. 我的第一个python程序源代码_科学网—我的第一个Python程序——删除代码前行号的小工具 - 闫小勇的博文...
  11. 这是最坏的时代,也是最好的时代
  12. 4月书讯 | 一大波好书来袭,最美华章四月天
  13. Spring Boot 接入支付宝,实战来了
  14. pngimg 可以商用吗_避免侵权!这10个免费可商用的图片网站,请一定收好
  15. visio添加外键约束
  16. try/catch 的解释与用法
  17. ruoyi-vue前端启动
  18. 【解决方案 十二】一文彻底解决文件格式判别问题
  19. python selenium UI自动化解决验证码的4种方法
  20. NLP:Word Embedding词嵌入/word2vec词向量思想方法(一种主流的分布式表示)的简介、使用方法、案例应用之详细攻略

热门文章

  1. java 暴露接口_Java基于spring暴露接口供外部调用
  2. 鸿鹄系统和鸿蒙系统的区别,华为鸿蒙系统和全新的鸿鹄处理器将于8月9日正式发布,荣耀首发...
  3. 马哥教育42期第五周作业
  4. 谷歌 TensorFlow Roadshow 北京站
  5. 为了寻找美,我决定对美女图片进行图像边缘化处理
  6. 计算机科学与技术导论结课报告,计算机科学与技术导论论文提纲范文模板 计算机科学与技术导论论文框架怎样写...
  7. 中科院计算所是怎样的存在?院校详情大盘点!
  8. 经典电影list(辛辛苦苦整理的)
  9. python实现图像格式转换(bmp、jpg、png)
  10. 电子计算机硬件是由哪五个部分构成,计算机硬件系统由哪五个基本部分组成?...