列表,数组,终端输入
掌握数组的定义、遍历与特点
掌握 ArrayList 列表的基本使用
学会用 Scanner 实现终端输入
核心讲解
(1)数组
存储相同类型数据的容器,长度固定,创建后不能改。
声明:
类型[] 数组名初始化:
new 类型[长度]或者{元素1, 元素2...}访问:下标从 0 开始,
数组名[索引]长度:
数组名.length遍历:for 循环、增强 for 循环
(2)ArrayList 列表
数组长度固定,List 可变长,最常用的实现是 ArrayList。
泛型:
<类型>指定存什么类型的元素常用方法:
add():添加元素get(int index):获取指定位置元素size():获取大小remove(int index):删除指定位置set(int index, 元素):修改指定位置
(3)Scanner 终端输入
用来接收用户键盘输入,java.util 包下的类。
创建:
Scanner sc = new Scanner(System.in);方法:
nextInt()读整数、nextDouble()读小数、nextLine()读一行字符串
代码示例
import java.util.ArrayList;
import java.util.Scanner;
public class ArrayAndListDemo {
public static void main(String[] args) {
// ===== 数组 =====
int[] nums = {10, 20, 30, 40, 50};
System.out.println("数组长度:" + nums.length);
System.out.println("第1个元素:" + nums[0]);
// 普通for遍历
for (int i = 0; i < nums.length; i++) {
System.out.print(nums[i] + " ");
}
System.out.println();
// 增强for遍历
for (int num : nums) {
System.out.print(num + " ");
}
System.out.println();
// ===== ArrayList =====
ArrayList<String> list = new ArrayList<>();
list.add("苹果");
list.add("香蕉");
list.add("橙子");
System.out.println("列表大小:" + list.size());
System.out.println("第2个:" + list.get(1));
list.remove(0);
for (String fruit : list) {
System.out.println(fruit);
}
// ===== 终端输入 =====
Scanner sc = new Scanner(System.in);
System.out.print("请输入你的名字:");
String name = sc.nextLine();
System.out.print("请输入你的年龄:");
int age = sc.nextInt();
System.out.println("你好," + name + ",今年" + age + "岁");
sc.close();
}
}
常见误区
数组下标从 1 开始:Java 数组下标从 0 开始,最大下标是长度 - 1,越界会报错
ArrayList 用基本类型:泛型不能用基本类型,要用包装类,比如
ArrayList<int>错,应该ArrayList<Integer>Scanner 的 next 和 nextLine 混用:nextInt 后会残留换行符,再 nextLine 会读到空行
列表用 [] 访问:List 不能用 [],要用 get () 方法
课后练习
定义一个 int 数组,存 5 个成绩,计算总分和平均分
用 ArrayList 存储 3 个同学的名字,添加、删除、遍历
实现:让用户输入两个数字,输出它们的和
对比数组和 ArrayList 的优缺点

