@[TOC] 数组
数组是用来存储一组相同数据类型的数据结构,是一种引用数据类型。数组的元素可以是简单类型的数据,也可以是引用类型的数据。
数组的定义方式有两种;
1、数据类型[] 数组名;
例如:int [] arr; java中推荐这样定义数组
char[] arr1; 推荐
2、数据类型 数组名[];
例如:doble name[]; java中不推荐这样的定义方式
short name[]; 不推荐
在数组的定义中,不能直接指定数组的长度,需要在数组的创建阶段才能指定。
比如:int[] a;正确
int[20] a;错误
所谓静态初始化就是给定数组的长度和元素,直接定义就可以使用。
比如;int arr[] = {1,4,5,7,9,0,6};
数组的长度是不可变的,一旦分配好空间,是多长就多长,不能增加不能减少,有一个length属性。
数组arr[]的长度为0-6(length-1=6);数组的起始位置为arr[0],末位为arr[length-1],
数组的访问为:
数组名[下标] 来访问数组
arr[0] = 1;
arr[1] = 4;
arr[length-1] = 6;
数组的长度是不可变的,一旦分配好空间,是多长就多长,不能增加不能减少,有一个length属性。
数组的长度
int[] arr={1,2,3,4};
int len= arr.length;// 获取数组长度
例如:
public class TT2 {
public static void main(String[] args) {
int[] arr = {5,10,15,20};
for (int i = 0; i < arr.length; i++) {
System.out.printf("arr[%d]=%d",i,arr[i]);
System.out.println();
}
int s = arr.length;//获取数组arr[]的长度
System.out.println("arr[]的长度为:"+s);
}
}
在定义数组时,只指定数组的长度,由系统自动为其元素赋默认值这种方式我们称为动态初始化。通过new操作符来创建数组对象,指定数组的大小,给数组元素的存储分配空间。
数据类型[] 数组名=new 数据类型[长度];
int[ ] arr=new int[3];
char[] arr2=new char[5];
例如:
public class TT3 {
public static void main(String[] args) {
int[] arr=new int[3];
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
for (int i = 0; i <arr.length; i++) {
System.out.printf("arr[%d]=%d",i,arr[i]);
System.out.println();
}
}
}
定义了动态数组,系统会给它赋默认值
整型默认值 0
浮点型 0.0
字符型 \u0000
布尔类型 false
引用数据类型 null
例如:
public static void main(String[] args){
//定义一个字符串类型的数组arr,并且静态初始化值(奥迪,劳斯莱斯,大奔,宝马)
String[] arr = {"奥迪","劳斯莱斯","大奔","宝马"};
//定义一个整形数组stu,给定长度4,动态初始化值
int[] stu = new int[4];
stu[0] = 10;
stu[1] = 20;
stu[2] = 30;
stu[3] = 40;
for(int i = 0;i<arr.length;i++){
System.out.println(arr[i]);
}
for(int i = 0;i<stu.length;i++){
System.out.println(stu[i]);
}
}
}
```java
public static void main(String[] args){
int[] arr = {1,3,5,7,9,0};
for(int x:arr){
System.out.println(x);
}
}
### 通过java中的Arrays类中的toString(int[] a)的遍历
```java
public static void main(String[] args){
int[] arr = {1,3,5,7,9,0};
System.out.println(Arrays.toString(arr));//需要导入import java.util.Arrays;
}
需要用到System类中的arraycopy方法
public static void main(String[] args){
int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] b = new int[a.length+5];
System.arraycopy(a, 4, b, 5, 5);
System.out.println(Arrays.toString(a));
System.out.println(Arrays.toString(b));
}
1、在这里插入代码片
合并数组:首先准备两个数组,它们的长度 5-10之间的随机数,并使用随机数给 两个数组赋值 然后准备第3个数组,第3个数组的长度为前两个数组的长度和 通过System.arraycopy方法将前两个数组的中的内容拷贝到第3个数组中