java中的数组语法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的数组语法相关的知识,希望对你有一定的参考价值。

一维数组
一、声明:
数组要先声明然后才能使用。
语法:数据类型 数组名[ ];或数据类型[ ] 数组名;
数据类型既可以是基本数据类型也可以是引用数据类型,数组名可以是任意的合法变量名。
如:
int [ ] score;
double height[ ];
String[ ] name;
注意,不可在数组名后的方括号内指定数组元素的个数,如int sum[10];是错误的。
二、分配空间:
声明了数组只是得到了一个存放数组的变量,并没有为数组元素分配空间,不能够使用,因此要为数组分配空间,这样数组的每个元素才有一个空间进行存储。
语法:数组名=new 数据类型[数组长度];
其中,数组长度就是能够存放的元素个数,显然应该是大于0的整数。
例如:
score=new int [30];
height =new double[10];
name=new String [30];
也可以在声明数组时就给它分配空间。
语法:数据类型 数组名[ ]=new 数据类型[数组长度];
如:int sum[ ]=new int[100];
三、赋值:
给数组元素赋值。有三种方法赋值。
方法一
语法:数组名[下标值]=值;
例如:
score[0]=89;
score[1]=56;
score[2]=75;
方法二
每一次赋值时,只有下标在变,因此,可以使用循环给数组赋值。
例如:
for (int index = 0; index < args.length; index++)
double num = Double.parseDouble(args[index]);

方法三
直接创建数组,将声明数组、分配空间和赋值合并完成。
语法:数据类型 数组名[ ]=值1, 值2, 值3, …, 值n ;
例如:使用下列方式来创建score数组
int score[]=60,75,64,73,45;//创建一个长度为5的数组score
同时它也等价于下面的代码:int score=new int[ ]60,75,64,73,45;
注意,直接创建并赋值的方式一般在数组元素比较少的情况下使用。它必须一并完成,如下代码是不合法的:
int[ ] score;
score=60,75,64,73,45;//错误!!

二维数组
一、声明二维数组
语法:数据类型 数组名[ ] [ ];或 数组类型[][] 数组名;或 数组类型[] 数组名[];
例如:
float boy[][];
char array[][];
int array_name[ ][ ]; 或 int [ ][ ] array_name; 或 int [ ] array_name[ ];
二、为二维数组分配空间
(1)直接为每一维分配空间
例如:int a[][]=new int[3][2];//建立3行2列数组
(2)高维开始,分别为每一维分配空间
例如:
int a[][]=new int[3][];//指定最高维的长度为3,然后分别为每一维分配空间
a[0]=new int[2];
a[1]=new int[3];
a[2]=new int[4];
三、二维数组的初始化
(1)直接为数组元素赋值
例如:
int a[][]=new int[2][2];
a[0][0]=1;
a[0][1]=2;
a[1][0]=3;
a[1][1]=4;
(2)在数组声明时为数组初始化
例如:int a[][]=1,2,3,4,5,6;
四、二维数组的引用
格式为:数组名[下标1][ 下标2];
下标1,下标2分为二维数组的第一、二维下标,同一维数组一样,也可为整型常量和表达式,并且数组下标都从0开始。
参考技术A 数组
内存中的连续空间
数组是一次性定义多个相同类型的变量
Java中一个数组就是一个对象,有属性,没有方法

int[] a; //定义一个数组,变量名就是指向数组首地址的指针
a=new int[10]; //为数组分配空间
a.length; //得到数组的长度
数组创建后有初始值:数字类型为0 布尔类型为false 引用类型为null
String[] 默认值 null

初始化、创建、和声明在同一时间
int[] i = 0,1; //显示初始化
int[] i = new int[]0,1; //注意:这样显示的初始化的时候,new int[] 中括号中必须是空的,不能填数字
Car[] c = new Car(),new Car();

数组拷贝
System.arrayCopy(Object src, int srcPos, Object dest, int destPos, int length);
src源数组,srcPos从第几位开始拷贝(数组下标,从0开始),dest目标数组,destPos目标数组放置的起始位置,length,表示要拷贝的长度。拷贝一个数组到另一个数组。

多维数组
1) 有效定义
int[][] i1 = new int[2][3]; (同时给定一维,二维的空间)
int[][] i2 = new int[2][]; (给定一维的空间,二维空间待定,不规则的二维数组)
i2[0] = new int[2],i2[1] = new int[3];
* C++中 int[][] =new int[][3];有效
2) 无效定义
int[][] i1 = new int[][3];
3) 数组长度 ------------数组的属性length(在二维数组中这个属性只代表第一维的长度)
int[] i = new int[5];
int len = i.length; //len = 5;

Student[][] st = new Student[4][6];
len = st.length; //len = 4;
len = st[0].length; //len = 6;
参考技术B 这里有很详细的说明和例子:
http://blog.csdn.net/szmorson/archive/2011/01/20/6154304.aspx
参考技术C 数组定义:类型[] xxx; 类型 a[];
如:int[] ary = new int[5]; int ary2[] = new int[7];

数组定义的时候必须指定后面的长度.

数组元素引用:数组[index]; ary[0] ~ ary[ary.lenth-1]
数组下标从0开始,丛长度-1结束
参考技术D 数组:

1,声明数组:例如:一种 int[] x; 另一种:int x[];
注意:java在数组定义时并不为数组元素分配内存,所有这个[]中没有指明数组长度;int[100] x;//非法的;声明数组不指定长度;
2 创建数组(为数组元素分配内存)格式如:int[] a = new int[100];//默认元素的值为0;

以上是关于java中的数组语法的主要内容,如果未能解决你的问题,请参考以下文章

Java 基础语法深度剖析 Java 中的数组含数组练习

Java 基本语法----数组

Java基础语法(下)

如何使用 java 中的数组 java 中操作数组只需要四个步骤:1,声明数组 语法:数据

GroovyGroovy 方法调用 ( 字符串切割 | 使用 Java 语法切割字符串 | 使用 Groovy 语法切割字符串直接为变量赋值 | 数组赋值给变量 变量个数小于等于数组长度 )

java 中的语法到底指的啥?