### CoreJava经典代码知识点解析 #### 一、闰年判断 **知识点概述:** 本例通过简单的条件判断来实现对给定年份是否为闰年的判断。闰年的判断规则如下: 1. 若某个年份能被4整除但不能被100整除,则是闰年。 2. 若某个年份能被400整除,则也是闰年。 **代码详解:** ```java import java.util.Scanner; class Bissextile { public static void main(String[] arge) { System.out.print("请输入年份"); int year; // 定义输入的年份名字为“year” Scanner scanner = new Scanner(System.in); year = scanner.nextInt(); if (year < 0 || year > 3000) { System.out.println("年份有误,程序退出!"); System.exit(0); } if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0)) { System.out.println(year + " 是闰年"); } else { System.out.println(year + " 不是闰年"); } } } ``` **解析:** - 首先导入了 `java.util.Scanner` 类,以便读取用户的输入。 - 创建了一个名为 `Bissextile` 的类,其中包含一个静态方法 `main`。 - 在 `main` 方法内部,首先提示用户输入年份。 - 使用 `Scanner` 对象从标准输入读取整数并存储在变量 `year` 中。 - 判断输入的年份是否在合理范围内(0到3000),如果不在范围内则输出错误信息并结束程序。 - 使用条件判断语句判断该年份是否为闰年,并输出相应结果。 #### 二、成绩等级输出 **知识点概述:** 此例通过简单的条件判断来实现根据输入的成绩给出对应的等级。具体规则如下: - 90分以上为A级 - 80~89分为B级 - 70~79分为C级 - 60~69分为D级 - 60分以下为E级 **代码详解:** ```java import java.util.Scanner; class Mark { public static void main(String[] args) { System.out.println("请输入一个分数"); double mark; // 定义输入的分数为“mark”,且分数会有小数 Scanner scanner = new Scanner(System.in); mark = scanner.nextDouble(); if (mark < 0 || mark > 100) { System.out.println("输入有误!"); System.exit(0); } if (mark >= 90) System.out.println("这个分数是 A 级"); else if (mark >= 80) System.out.println("这个分数是 B 级"); else if (mark >= 70) System.out.println("这个分数是 C 级"); else if (mark >= 60) System.out.println("这个分数是 D 级"); else System.out.println("这个分数是 E 级"); } } ``` **解析:** - 导入了 `java.util.Scanner` 类,用于读取用户的输入。 - 创建了一个名为 `Mark` 的类,其中包含一个静态方法 `main`。 - 提示用户输入一个分数。 - 使用 `Scanner` 对象读取双精度浮点数并存储在变量 `mark` 中。 - 检查分数是否在有效范围内(0到100),如果不在则输出错误信息并终止程序。 - 根据分数范围输出对应的等级。 #### 三、奇数求和 **知识点概述:** 此例通过循环累加实现了从1加到99之间所有奇数的和。 **代码详解:** ```java class He { public static void main(String[] args) { int number = 1; // 初始值1,以后再+2递增上去 int sum = 0; for (; number < 100; number += 2) { // 每次增加2 sum += number; // 累加 } System.out.println("1+3+5+7+……+99=" + sum); // 输出最终结果 } } ``` **解析:** - 创建了一个名为 `He` 的类,其中包含一个静态方法 `main`。 - 定义变量 `number` 为1,用于表示当前遍历的奇数;`sum` 用于累加所有奇数的和。 - 使用 `for` 循环,每次循环将 `number` 增加2,直到 `number` 大于或等于100为止。 - 在循环体内,将 `number` 加到 `sum` 上。 - 最后输出所有奇数的累加和。 #### 四、九九乘法表 **知识点概述:** 此例通过嵌套循环实现了打印出完整的九九乘法表。 **代码详解:** ```java public class NineNine { public static void main(String[] args) { for (int j = 1; j < 10; j++) { for (int k = 1; k <= j; k++) { // 控制列数 System.out.print(k + "x" + j + "=" + (j * k) + "\t"); // 输出每一项 } System.out.println(); // 换行 } } } ``` **解析:** - 创建了一个名为 `NineNine` 的类,其中包含一个静态方法 `main`。 - 使用两层 `for` 循环,外层循环控制行数,内层循环控制每行的列数。 - 内层循环中,使用 `System.out.print` 方法输出每一项的计算结果,并在每个表达式之间添加制表符 `\t` 来整齐地排列输出。 - 每一行输出完毕后使用 `System.out.println()` 方法进行换行,以便下一行的输出。 #### 五、水仙花数 **知识点概述:** 水仙花数是指一个三位数,其各个位上的数字立方和等于该数本身。例如,153就是一个水仙花数,因为 \(1^3 + 5^3 + 3^3 = 153\)。 **代码详解:** ```java public class NarcissisticNumber { public static void main(String[] args) { System.out.println("水仙花数为:"); for (int i = 100; i <= 999; i++) { int b = i / 100; // 获取百位 int s = (i - b * 100) / 10; // 获取十位 int g = i % 10; // 获取个位 if (Math.pow(b, 3) + Math.pow(s, 3) + Math.pow(g, 3) == i) { System.out.println(i); } } } } ``` **解析:** - 创建了一个名为 `NarcissisticNumber` 的类,其中包含一个静态方法 `main`。 - 使用 `for` 循环遍历所有三位数。 - 对每个数,分别计算其百位、十位和个位的数值。 - 计算这三个数字的立方和并与原数比较。 - 如果相等,则输出该数,表明它是一个水仙花数。 通过以上五个案例的学习,我们可以掌握Java中的基本数据类型、流程控制语句(如条件判断和循环)、以及基本的数学运算和字符串操作等核心知识。
- 粉丝: 6
- 资源: 40
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Quartz框架的定时任务调度系统.zip
- (源码)基于Spring Boot和Spring Security的安全管理系统.zip
- (源码)基于Spring Boot的家庭智能助理系统.zip
- Marki_20241121_192504660.jpg
- (源码)基于Spring Boot框架的仓库管理系统.zip
- (源码)基于Spring、Dubbo和MyBatis的跨境支付系统.zip
- (源码)基于Python的Excel数据处理系统.zip
- (源码)基于Python和ESP8266的物联网按钮通知系统.zip
- (源码)基于C++的多态职工管理系统.zip
- (源码)基于C++的小型便利店管理系统.zip