课程内容:switch 分支语句、循环结构、循环控制语句、嵌套循环、数组
提交方式:在提交\姓名\目录下创建对应的 Java 源文件
截止时间:下次上课前
难度:⭐
知识点:数组声明、静态初始化、for 循环遍历
定义一个整数数组,使用静态初始化赋值 {11, 22, 33, 44, 55},然后:
for 循环遍历数组,输出每一个元素示例输出:
数组元素:11 22 33 44 55
数组总和:165
难度:⭐
知识点:数组遍历、比较运算
定义一个整数数组 {3, 8, 1, 9, 4, 7, 2},找出数组中的最大值并输出。
要求:
for 循环遍历比较Arrays 工具类示例输出:
数组元素:3 8 1 9 4 7 2
最大值:9
难度:⭐
知识点:数组遍历、索引操作
定义一个整数数组 {1, 2, 3, 4, 5},将其倒序输出。
要求:
for 循环从后往前遍历示例输出:
原数组: 1 2 3 4 5
倒序后: 5 4 3 2 1
难度:⭐⭐
知识点:数组遍历、if-else 分支、取模运算
定义一个整数数组 {12, 7, 9, 24, 15, 8, 31, 46},统计数组中奇数和偶数的个数。
示例输出:
数组元素:12 7 9 24 15 8 31 46
偶数个数:4
奇数个数:4
难度:⭐⭐
知识点:动态初始化、for 循环赋值、数组长度
模拟从外部获取 5 个学生的成绩(直接定义在代码中),使用动态初始化创建数组,将成绩存入数组,然后计算平均分。
要求:
new int[5] 动态初始化数组示例输出:
学生成绩:85 92 78 90 88
平均分:86.6
难度:⭐⭐
知识点:数组索引操作、变量交换
定义一个整数数组 {10, 20, 30, 40, 50},将数组中第 1 个元素与第 5 个元素交换,第 2 个元素与第 4 个元素交换(即首尾对称交换),然后输出交换后的数组。
示例输出:
交换前:10 20 30 40 50
交换后:50 40 30 20 10
难度:⭐⭐⭐
知识点:数组遍历、嵌套循环、if 判断、新数组
定义一个整数数组 {5, 2, 8, 2, 5, 9, 1, 8, 3},去除数组中重复的元素,只保留第一次出现的元素,输出去重后的新数组。
要求:
Set 等集合类示例输出:
原数组: 5 2 8 2 5 9 1 8 3
去重后: 5 2 8 9 1 3
提示:
难度:⭐⭐⭐
知识点:数组操作、循环、下标运算
定义一个整数数组 {1, 2, 3, 4, 5},将数组中的所有元素向右移动 2 个位置。超出数组范围的元素循环移到数组开头(循环右移)。
示例:
移动前:1 2 3 4 5
右移2位:4 5 1 2 3
要求:
k = 2 控制k = k % 数组长度)难度:⭐⭐⭐⭐
知识点:数组、随机数、嵌套循环、去重
模拟双色球彩票号码生成:
规则:
要求:
示例输出:
红球号码:05 12 18 23 27 31
蓝球号码:09
提示:
// 生成 1~33 之间的随机整数
int num = (int)(Math.random() * 33) + 1;
难度:⭐
知识点:基本数据类型 vs 引用数据类型
public class ThinkDemo {
public static void main(String[] args) {
int a = 10;
int b = a;
b = 20;
System.out.println("a = " + a); // ?
System.out.println("b = " + b); // ?
int[] arr1 = {1, 2, 3};
int[] arr2 = arr1;
arr2[0] = 999;
System.out.println("arr1[0] = " + arr1[0]); // ?
System.out.println("arr2[0] = " + arr2[0]); // ?
}
}
请问以上代码的运行结果是什么?为什么 arr1[0] 的值会被改变?结合课堂笔记中"基本数据类型 vs 引用数据类型"的知识,在注释中写出你的分析。
提交 文件夹下创建【以你名字命名】的文件夹,然后复制 Java 源文件Demo_题目编号_姓名.java
Demo_01_张三.java文件头部使用文档注释,包含:
/**
* @author 你的姓名
* @title 题目X:题目名称
* @create 2026/7/15
*/
代码整洁,有必要的注释
基础题(1~3)和进阶题(4~6)为必做
挑战题(7~9)和思考题(10)为选做,学有余力的同学尝试完成