数组
数组分为一维数组,二维数组以及更多维的数组,但平时用的较多且较基础的就是一维数组。
数组有以下几个特点:
1.数组是相同类型的集合;(即同一数组中的元素应属于同一类型。)
2.数组中的各元素是有先后顺序的,他们在内存中按照这个先后顺序连续存放在一起。
3.数组元素用整个数组的名字和他自己在数组中的顺序位置来表示。(即a[0]表示名字为a的数组中的第一个元素。)
定义:
使用数组时,要经过三个步骤,一是要声明数组,二是分配空间,最后进行赋值。
前两个步骤:
数据类型[ ] 数组名;//声明一维数组
数组名=new 数据类型[个数];//分配内存给数组
同时也可以将两句合并为一句:
数据类型[ ] 数组名 = new 数据类型[ 个数 ];
之后再对数组进行赋值。
如下图所示:
一维数组元素的访问:
当定义了一个数组,并为他分配了空间后就可以引用数组中的元素。想要使用数组中的元素,可以利用数组名和下标来实现。引用方法为:
数组名[下标]
其中,下标可以是整型数或整型表达式,例如a[3+i](i为整数)。需注意的是Java语言数组的下标是从0开始的。
举例:int[ ] x=new int[10];
其中,x[0]表示第一个元素,x[1]表示第二个元素,以此类推x[9]表示的是第10个元素。对于每个数组都有一个属性length指明它的长度,如x.length指出数组x所包含的元素个数。(如上图)。
同时也可以在定义数组的同时就为数组元素分配空间并赋值,这种方法称为数组的初始化。格式如下:
数据类型[ ] 数组名 ={初始值0,初始值1,…,初值n-1};
-------------
在输入时若要控制从键盘上输入n个数并存入一个数组中,则需要先输入一个数字表明该数组中,再依次输入数字存入数组中。
所需代码如下:
import java.util.*;
public class test {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
System.out.println("请问要输入几个数");
int n=reader.nextInt();
int[] a=new int[n];
for(int i=0; i<a.length; i++) {
System.out.println("请输入第"+(i+1)+"个数");
a[i]=reader.nextInt();
}
}
}
运行结果如下:
最后介绍一下foreach语句与数组:
foreach语句是for循环的一种,他不需要下标就可遍历整个数组。
foreach语句只需要元素类型,循环变量的名字,和从中用于检索的数组。语法如下:
for(type element: array){
System.out.println(element);
…
}
其功能为每次从数组array中取出一个元素,自动赋给变量element,用户不需要再去判断是否超出了数组长度,但有一点值得注意,即element的类型必须与数组array中元素的类型相同。
import java.util.*;
public class test {
public static void main(String[] args) {
int[] arr={1,2,3,4,5};
for(int e:arr)
System.out.println(e);
}
}
运行结果为: