数组指的是一种容器,可以用来存储同种数据类型的多个值
定义数组格式 :
完整格式-静态初始化
数据类型[]数组名=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,4
Random 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