一、数组的概念
数组是一个变量,用于存储相同数据类型的一组数据。
二、数组的特点
1.数据类型相同
2. 数组名实际就是一个变量,既然是变量就必须先赋值再使用
3. 数组的每一个元素既可以是基本数据类型也可以是引用数据类型
三、数组的创建
格式:
数据类型[ ] 数组名 ;
数组名 = new 数据类型[大小] ;
例如 :int[] arrays; (先声明数组的数据类型为int型并将其命名为:arrays)
arrays=new int[5] ;(创建一个长度为5的变量)
四、数组的初始化
静态初始化
初始化的同时直接为每个元素赋值,不需要指明长度
例如int[] scores = {100,70,98,67}; //创建数组对象并初始化,存放4个成绩 。
动态初始化
1 初始化时由系统分配初始值,需要指明数组长度 //例如:int[] arrays = new int[4];
2 int[] scores = new int[10]; //创建数组对象,存放10个int数据,默认0
五、数组的赋值
数组创建完毕后可以通过下标对每个元素进行赋值 ,下标从0开始 ,数组长度 length,下标最大为 length-1 。如下图:
六、注意事项
1 标识符:数组的名称,用于区分不同的数组。
2 数组元素:向数组中存放的数据。
3 元素下标:对数组元素进行编号,从0开始,数组中的每个元素都可以通过下标来访问。
4 元素类型:数组元素的数据类型。
七、运用
有一个数列:8,4,2,1,23,344,12。 A. 循环输出数列的值; B. 求数列中所有数值的和; C. 求出最大值;D. 将数组倒置并输出 E. 数组查找 猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数。 F. 数组排序 。
import java.util.Arrays;
import java.util.Scanner;
public class ArraySubject {
public static void main(String[] args) {
// 2、有一个数列:8,4,2,1,23,344,12
// A 循环输出数列的值。
// B 求数列中所有数值的和。
// C 求出最大值。
// D 将数组倒置并输出
// E 数组查找 猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数。
// F 数组排序
// A. 循环输出数列的值
int[] arrays = new int[7];
for (int i = 0; i < 7; i++) {
Scanner input = new Scanner;
System.out.println("请输入数组内第" + (i + 1) + "个数");
arrays[i] = input.nextInt(); // 接收输入的值将其列入数组arrays中
}
String result = "["; // 将数组转换为字符串后输出
for (int i = 0; i < 7; i++) {
if (i < 6) {
result += arrays[i] + ",";
} else {
result += arrays[i] + "]";
}
}
System.out.println(result);
// B. 求数列中所有数值的总和
int sum = 0;
for (int i = 0; i < 7; i++) {
sum += arrays[i];
}
System.out.println("数列中所有数值的和为:" + sum);
// C. 求出最大值
int max = 0;
for (int i = 0; i < 7; i++) {
if (arrays[i] > max) {
max = arrays[i];
}
}
System.out.println("数组内的最大值为:" + max);
// D. 将数组倒置并输出
for (int i = 0; i < arrays.length / 2; i++) {
int temp = 0;
temp = arrays[i];
arrays[i] = arrays[6 - i];
arrays[6 - i] = temp;
}
System.out.println(Arrays.toString(arrays));
// E 数组查找 猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数。
Scanner input = new Scanner;
System.out.println("请输入一位正整数");
int Num = input.nextInt();
for (int i = 0; i < 7; i++) {
if (Num == arrays[i]) {
System.out.println("该数在数组的第" + (i + 1) + "位");
break;
} else if (i == 6) {
if (Num != arrays[6])
System.out.println("该数不在数组中");
break;
}
}
// F 数组排序
Arrays.sort(arrays); // 排序(升序)
System.out.println("倒置后:" + Arrays.toString(arrays));
}
}