数组的概念:
用来存储同一种数据类型的容器;
格式:
数据类型[ ] 数组名;
数据类型 数组名[ ] ;
举例:int[] a ;定义了一个int类型的数组变量a(推荐使用第一个)
int a[] ;定义了一个int类型的a数组变量
数组的初始化分为两种:
1)动态初始化:指定数组的长度,它的元素值由系统默认分配
2)静态初始化:指定的数组的具体元素,数组长度由系统默认分配
动态初始化:
数据类型[ ] 数组名 = new 数据类型[指定数组长度] ;
数据类型 数组名[ ] = new 数据类型[指定数组长度] ;
举例:int[] arr = new int[3] ;
nt arr[] = new int[3] ;
例如:int[] arr = new int[3]
=号左边:
* int:表示的该数组中的元素都是int类型
* []:表示一维数组(一般情况:没有告诉使用一维数组还是二维数组:默认使用一维数组)
arr :表示数组名称
new :表在堆内存中开辟空间:创建对象
int:表示数组的数据类型是int类型
3:表示数组的长度为3,里面有3个元素
System.out.println(arr);//[I@778b3fee :@标记:地址值
arr[0] = 100 ;
arr[2] = 200 ;
System.out.println(arr);//[I@39813c12
System.out.println(arr[0]);//100
System.out.println(arr[1]);//0
System.out.println(arr[2]);//200
}
数组的静态初始化:
格式:
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3…} ;
简化版格式:(推荐使用)
数据类型[] 数组名 = {元素1,元素2,元素3…..} ;
举例:
int[] arr = new int[]{1,2,3} ;
简化版:
int[] arr = {1,2,3} ;
public class ArrayDemo5 {
public static void main(String[] args) {
//定义一个数组,静态初始化
int[] arr = {1,2,3} ;
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
}
}
数组的遍历:
获取数组的元素分别打印出来
public class ArrayTest {
public static void main(String[] args) {
//定义一个数组并且静态初始化
int[] arr = {11,22,33,44,55,56,84,541,88} ;
printArray2(arr) ;
}
public static void printArray2(int[] arr){
System.out.print("[");
//开始遍历数组中的元素
for(int x = 0 ; x < arr.length ; x++){
//判断是否为最后一个索引对应的元素
if(x == arr.length-1){//索引值:最大索引 = 数组长度-1;
System.out.println(arr[x] +"]");
}else{
//不是最后一个元素
System.out.print(arr[x]+", ");
}
}
}
}
关于数组的逆序:
代码:
public class ArrayTest3 {
public static void main(String[] args) {
//1)定义数组,静态初始化
int[] arr = {12,76,50,98,25} ;
System.out.println("逆序前:");
printArray(arr);
System.out.println("逆序后:");
reverse(arr) ;
printArray(arr);
}
public static void reverse(int[] arr){
for(int start = 0 ,end = arr.length-1; start<end ; start ++,end --){
//定义中间变量
int temp = arr[start] ;
arr[start] = arr[end] ;
arr[end] = temp ;
}
}
//数组的遍历
public static void printArray(int[] arr){
System.out.print("[");
for(int x = 0 ; x < arr.length; x++){
//判断
if(x==arr.length-1){
System.out.println(arr[x] +"]");
}else{
System.out.print(arr[x]+", ");
}
}
}
}