数组指的是一种容器,可以用来存储同种数据类型的多个值
定义数组格式 :
完整格式-静态初始化
数据类型[]数组名=new 数据类型[]{元素1,元素2,元素3...}
int[] array = new int[]{11,22,33};
简化格式
int[] array = {11,22,33};
完整格式-动态初始化
初始化时只指定数组长度,由系统为数组分配初始值
格式
数据类型[] 数组名 = new 数据类型[数组长度]
int[] arr = new int[3];
默认初始化值
整数类型:0
小数类型:0.0
字符类型:'/u0000' 空格
布尔类型:false
引用数据类型:null
数组遍历
public static void main(String[] args) {int[] arr = {1,2,3,4,5};for(int i = 0; i < arr.length; i++){System.out.println(arr[i]);}}
给定一个数组求最值
public class ArrTest {public static void main(String[] args) {//求最值//已知数组元素为[33,5,22,44,55],求数组中的最大值int[] arr = {33, 5, 22, 44, 55};//定义一个变量max用来存储最大值//max 初始化值一定要是数组中的值int max = arr[0];//拿着每一个元素跟max进行比较//循环开始条件如果为0 第一次自己跟自己比for (int i = 1; i < arr.length; i++) {if(arr[i] > max){max = arr[i];}}//循环结束后,max记录最大值System.out.println(max);}
}
遍历数组求和
public class ArrTest {public static void main(String[] args) {//生成10个1~100之间的随机数存入数组//1.求所有数据的和//2.求所有数据的平均数//3.统计有多少个数据比平均值小//定义数组int[] arr = new int[10];//生成随机数Random r = new Random();for (int i = 0; i < arr.length; i++) {arr[i] = r.nextInt(100)+1;}//1.求所有数据的和//遍历数组double sum = 0;for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");sum = sum + arr[i];}System.out.println();System.out.println("随机数之和:"+sum);//2.求所有数据的平均数double avg = sum / arr.length;System.out.println("平均数:"+avg);//3.统计有多少个数据比平均值小int count = 0;for (int i = 0; i < arr.length; i++) {if(arr[i] < avg){count ++;}}System.out.println("比平均值小的数字"+count);}
}
运行结果
46 62 85 20 10 54 43 88 3 13
随机数之和:424.0
平均数:42.4
比平均值小的数字4
打乱数组中的数据
public class ArrTest {public static void main(String[] args) {//打乱数组中的数据//定义一个数组,存入1~5.打乱数组中所有数据的顺序int[] arr = {1, 2, 3, 4, 5};//索引范围 0,1,2,3,4Random r = new Random();for (int i = 0; i < arr.length; i++) {int randomIndex = r.nextInt(arr.length);//拿着随机索引指向的元素,跟i指向的元素进行交换int temp = arr[i];arr[i] = arr[randomIndex];arr[randomIndex] = temp;}//遍历for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}}
}
运行结果
1 3 5 2 4