数组
概念:一段连续的存储相同数据类型的空间
定义:
方式一
数据类型[] 数组名 = new 数据类型[数组长度];
方式二:
数据类型 [] 数组名 = new 数据类型[]{元素1,元素2,元素3...};
方式三:
数据类型[] 数组名 = {元素1,元素2...}
数组通过索引的方式访问,索引从0开始
length-1是数组的最大索引值
数组的长度一旦固定就不可更改
数组名[索引] = 数值 为数组中的元素赋值
变量 = 数组名[索引] 获取数组中的元素
数组中注意点:
public class Demo01_Array{
public static void main(String[] args){
int[] arr = {1,2,3,4};
arr = {2,3,4,5};//错误,不可用
arr = new int[]{2,3,4,5};//可以,但是相当于新开辟了空间,之前的引用失效,之前的数组不可访问;
}
}
public class Demo02_Array{
public static void main(String[] args){
int[] arr = new int[]{1,2,3,4};
int[] arr1 = arr;//相当于arr的引用赋值给了arr1,现在就是这两个变量指向同一数组
}
}
数组的反转
public class Demo03_Array{
public static void main(String[] args){
int[] arr = new int[]{1,2,3,4,5};
//方式一 根据索引值
//定义两个变量,最小索引值,最大索引值
int min = 0;
int max = arr.length-1;
while(min<max){//当min>=max的时候就跳出循环,因为min>=max时,反转已经完毕,会出现再次反转回到原数组的情况.
int temp = arr[min];
arr[min] = arr[arr.length-1];
arr[arr.length-1] = temp;
min++;
max--;
}
for(int i = 0;i<arr.length;i++){
System.out.println(arr[i]);
}
}
}
//方式二:for-循环
for(int i = 0;i < arr.length/2;i++){//必须是长度的一般,不然会再反转回来
int temp = arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length-1-i] = temp;
}
for(int i = 0;i<arr.length;i++){
System.out.println(arr[i]);
}