- 浏览: 138003 次
文章分类
最新评论
数组是有序数据的集合,数组中的每个元素具有相同的数组名和下标来唯一地确定数组中的元素。
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中将局部变量返回给调用函数继续使用是初学者很容易犯的错误。
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中把对象、对象bean、list集合、对象数组、Map和Set以及字符串转换成Json
2013-05-13 13:13 1253主要实现把java对常用的一些数据转换成Json,以便前台的 ... -
(转载)Java Socket实战之五:使用加密协议传输对象
2013-01-07 16:38 646前面几篇博文提到了Socket中一些常用的用法,但是对于一些有 ... -
(转载)Java Socket实战之四:传输压缩对象
2013-01-07 16:28 598上一篇文章说到了用Java Socket来传输对象,但是在有 ... -
(转载)Java Socket实战之三:传输对象
2013-01-07 16:25 684前面两篇文章介绍了怎样建立Java Socket通信,这一篇 ... -
(转载)Java Socket实战之二:多线程通信
2013-01-07 16:23 1005说到怎样写一个最简单的Java Socket通信,但是在上一 ... -
(转载)Java Socket实战之一:单线程通信
2013-01-07 15:46 683现在做Java直接使用Socket的情况是越来越少,因为有很 ... -
map的三种遍历方法!
2012-12-20 16:54 643map的三种遍历方法! 集合的一个很重要的操 ... -
(转载)fastJson
2012-12-13 10:48 655FastJSON是一个很好的java开源json工具类库,相比 ... -
(转载)FTP文件上传与下载
2012-12-06 15:14 821实现FTP文件上传与下载可以通过以下两种种方式实现(不知道还有 ... -
ORA-01460: 转换请求无法实现或不合理
2012-11-27 17:27 3922oracle10g数据库执行数据库更新sql时报错: Cau ... -
配置TOMCAT(,JAVA_HOMECATALINA_HOME,CLASSPATH)环境变量
2012-11-18 15:42 4687配置TOMCAT(,JAVA_HOMECATALI ... -
(转载)验证码无法显示:Could not initialize class sun.awt.X1 解决方案
2012-11-16 14:41 689网站验证码突然无法显示,并报如下错误。 Caused by: ... -
(转载)linux 下tomcat 报java.lang.OutOfMemoryError: PermGen space及其解决方法
2012-11-16 11:20 632PermGen space的全称是Permanent Gene ... -
JSP内置对象
2012-11-13 15:42 5711.request对象 客户端的请求信息被封装 ... -
用Java删除文件夹里的所有文件
2012-11-11 15:27 838import java.io.File;publ ... -
通过Java几行代码截取屏幕
2012-11-11 15:25 570通过java.awt.Robot的createScreenCa ... -
oracle日期类型字段的操作
2012-10-26 09:32 693在java对oracle的操作中 ... -
验证码无法显示:Could not initialize class sun.awt.X1 解决方案
2012-10-22 11:10 1011网站验证码突然无法显示,并报如下错误。 Caused by: ... -
http协议-简介
2012-09-29 17:43 767一、简介 超文本传输 ... -
java socket编程
2012-09-29 17:41 571一,网络编程中两个 ...
相关推荐
43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip43.java数组定义1.zip...
数组的定义、创建和使用是Java编程的基础,而方法数组则引入了更高级的概念,允许我们在一个数组中存储方法引用。让我们深入探讨这两个主题。 一、数组的定义及使用 1. 定义数组: 数组在Java中定义时需要指定类型...
Java数组是Java编程语言中的基本数据结构之一,用于存储固定数量的同类型元素。了解和熟练掌握数组的使用是学习Java的重要环节。本篇练习题涵盖了数组的基本概念、操作和异常处理,下面是针对题目中涉及知识点的详细...
Java数组特点及基本使用技巧 Java数组是Java编程语言中的一种基本数据结构,用于存储同类型的多个值。 Java数组有很多特点和基本使用技巧,下面将详细介绍。 关于数组的特点 1. 边界检查:Java中的数组和容器都有...
在"7-数组与方法(上)"和"8-数组与方法(下)"的文件中,可能详细讲解了数组的使用方法,包括如何定义、初始化、遍历、修改、查找、排序二维数组,以及如何将数组作为方法参数等实践技巧。通过学习这些内容,开发者能够...
Java数组传递及可变参数操作实例详解 Java 数组传递是指在方法之间传递数组对象的引用,而不是传递数组对象本身。这意味着,方法中对数组的修改将会影响原数组。在 Java 中,所有对象都是通过引用进行操作的,而...
在本文中,我们将对 Java 数组初始化进行详细的介绍,包括一维数组和二维数组的声明、初始化和使用。 一维数组的初始化 在 Java 中,一维数组可以通过多种方式进行初始化。 1. 声明数组变量:`int[] a;`,这只...
Java 中数组的定义及使用方法详解 数组是 Java programming 语言中的一种基本数据结构,用于存储一组相关的变量。数组可以是一维数组、二维数组或多维数组,数组的每个元素的数据类型都是相同的。使用数组可以避免...
1. **P1.java** - 这可能是关于基本数组定义的练习。在Java中,可以使用`int[] arrayName = new int[size]`来定义一个整数数组,其中`size`是数组的长度。例如,`int[] numbers = new int[5]`将创建一个包含5个整数...
Java数组越界问题实例解析 在Java中,数组是一种非常重要的数据结构,它广泛应用于各种场景中。然而,在使用数组时,开发者最容易遇到的问题之一就是数组越界问题。数组越界问题是指在访问数组时,索引值超出了数组...
学习Java数组是理解Java基础的重要一步,掌握数组的使用能够帮助开发者有效地处理和操作数据,为后续的编程学习打下坚实基础。在实际开发中,合理地利用数组和集合框架,可以实现高效、稳定和可维护的代码。
Java数组的默认值取决于元素类型:对于基本数据类型,如int,默认值是0;而对于引用数据类型,默认值是`null`。在上面的例子中,`score[0]`、`score[1]`和`score[2]`都是0,因为它们还没有被赋值。 获取数组长度的...
在本PPT中,我们将深入探讨Java数组的概念、创建、初始化、访问和操作数组的各种方法。 一、数组的概念 数组是一种线性数据结构,它将固定数量且类型相同的变量集合在一起。在Java中,数组提供了一种高效的方式来...
在这个“java数组教学及练习”中,我们将深入探讨数组的本质、一维数组的使用、多维数组的概念,以及如何处理命令行参数和数组的操作,如复制与排序。 1. **什么是数组**: 数组是Java中预定义的数据类型,它允许...
总结来说,数组是Java中存储和操作数据的基本工具,熟练掌握数组的定义、初始化、访问、遍历、多维数组的使用以及与方法的结合,是编程实践中不可或缺的技能。通过本章的学习,你应该能够灵活运用数组解决实际问题,...
Java数组操作方法总结 ...Java数组操作方法总结了10大方法,包括定义、打印、创建、检查、连接等,这些方法是Java编程语言中非常重要的一部分。编程者需要熟悉这些方法,才能更好地使用Java数组。
Java数组的定义、初始化、及二维数组用法分析 Java数组是Java编程语言中的一种基本数据结构,用于存储同类型的多个元素。以下是Java数组的定义、初始化、及二维数组用法分析。 一、Java数组的定义 Java数组是一种...
1. **数组定义与声明** 在Java中,数组可以通过指定数据类型和长度来声明。例如,如果你想要一个存储整数的数组,可以这样声明: ```java int[] myArray; ``` 这里`int[]`表示数组的类型是整数,`myArray`是...