变量:存储单个数据
数组:存储多个数据
数组 :是一段连续的内存空间,线性序列;多个相同数据类型数据的有序集合
特点:
一、是引用数据类型
二、定长,长度确定后就不可以更改
三、存储多个数据类型相同的值
四、有序的,有索引
索引:
连续的内存空间中每一个小空间的序号
从0开始,每次+1
每个数组的第一个空间索引: 0
每个数组的最后一个空间索引: 数组名.length-1
数组长度:数组名.length
操作数组中的数据:根据索引操作,数组名[索引]
数组的定义语法:
声明 :数据类型[] 数组名; ->推荐
数据类型 数组名[];
数据类型 : 规定存储的数据的类型
初始化 : 第一次创建
动态初始化 : 先创建数组,后赋值(数据类型[] 数组名 = new 数据类型[长度];数组只创建不赋值存在默认值;整数->0 小数->0.0 布尔:false 字符:空字符 引用:null)
静态初始化 : 创建数组的同时赋值
数据类型[] 数组名 = new 数据类型[]{值列表};
数据类型[] 数组名 = {值列表};
数组的遍历 :
1.普通for循环:条件i是索引,需要根据索引操作数组中的数据
2.增强for循环|for..each:
for(数据类型 变量名:数组名|集合名){
变量名 : 存储数组中的每一个数据
}
增强for与普通for循环使用区别:
普通for循环遍历的是索引,操作索引,使用索引,根据索引操作数组中的数据
增强for只能从前到后的获取每一个数据,但是不能操作使用索引
public class Class001_Array {
public static void main(String[] args) {
// 声明
int[] arr1;
//动态初始化
arr1 = new int[3];
//静态初始化
double[] arr2 = new double[]{1.1,2.2,3.3,4.4};
String[] arr3 = {"你好","中国"};
//为数组负债
arr1[0] = 101;
arr1[1] = 102;
arr1[2] = 103;
//获取数组中的数据
System.out.println(arr1[0]);
System.out.println(arr1[1]);
System.out.println(arr1[2]);
System.out.println(arr2[0]);
System.out.println(arr2[1]);
System.out.println(arr2[2]);
System.out.println(arr2[3]);
System.out.println(arr3[0]);
System.out.println(arr3[1]);
//变量重新赋值, arr1引用指向的不同的数组
arr1 = new int[5];
arr1 = new int[]{1,2,3};
//arr1 = {1,2,3};
}
}
public class Class003_Practice {
public static void main(String[] args){
print(new int[]{1,2,3,4,5});
print(new char[]{'c','a','b'});
int[] arr = getMaxMin(new int[]{3,2,1,5,4});
System.out.println("最小值 = "+arr[0]);
System.out.println("最大值 = "+arr[1]);
print(new String[]{"abc","ab","c"});
}
//A:遍历int类型的数组 依次输出每个数组元素
public static void print(int[] arr){
for(int i:arr){
System.out.println(i);
}
}
//B:遍历字符数组
public static void print(char[] arr){
for(char i:arr){
System.out.println(i);
}
}
//C:最值:获取数组中的最大值和最小值
public static int[] getMaxMin(int[] arr){
//记录最大值,最小值
int max = arr[0];
int min = arr[0];
//遍历数组,每一个数据与max比较
for(int i: arr){
if(i>max){
max = i;
}
if(i<min){
min = i;
}
}
//返回最大与最小
return new int[]{min,max};
}
//D:逆序:倒叙输出数组元素
public static void print(String[] arr){
for(int i=arr.length-1;i>=0;i--){
System.out.println(arr[i]);
}
}
}