学习日记
一、顺序结构
顺序结构是最简单的算法结构,是任何一个算法都离不开的一种基本算法结构。
二、选择结构(if、switch)
- if 结构:if 单选择结构、if 双选择结构、if 多选择结构、嵌套的 if 结构
- if 单选择结构:如果输入的信息为 “Sun3285”,则输出该信息
package com.Sun3285.struct;
import java.util.Scanner;
public class PracticeOne {
public static void main(String[] args) {
//if 单选择结构,如果输入的信息为 “Sun3285”,则输出该信息
Scanner scanner = new Scanner(System.in);
System.out.println("请输入信息:");
if(scanner.nextLine().equals("Sun3285")){
System.out.println("Sun3285");
}
System.out.println("End");
scanner.close();
}
}
- if 双选择结构:考试分数大于或等于 60 分为及格,小于 60 分为不及格
package com.Sun3285.struct;
import java.util.Scanner;
public class PracticeTwo {
public static void main(String[] args) {
//if 双选择结构:考试分数大于或等于 60 分为及格,小于 60 分为不及格
Scanner scanner = new Scanner(System.in);
System.out.println("请输入分数(0-100):");
double score = scanner.nextDouble();
if(score >= 60 && score <= 100){
System.out.println("你的分数" + score + "为及格");
}else {
System.out.println("你的分数" + score + "为不及格");
}
scanner.close();
}
}
- if 多选择结构:成绩分区间评价
package com.Sun3285.struct;
import java.util.Scanner;
public class PracticeThree {
public static void main(String[] args) {
//if 多选择结构:成绩分区间评价
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的分数:");
double score = scanner.nextDouble();
if(score >= 90 && score <= 100){
System.out.println("优秀!");
}else if(score >= 80 && score < 90){
System.out.println("良好!");
}else if(score >= 70 && score < 80){
System.out.println("中等~");
}else if(score >= 60 && score < 70){
System.out.println("及格~");
}else if(score >= 0 && score < 60){
System.out.println("不及格!!!");
}else{
System.out.println("输入有误");
}
scanner.close();
}
}
- 嵌套的 if 结构:对输入的数(1-100)进行区间判断
package com.Sun3285.struct;
import java.util.Scanner;
public class PracticeFour {
public static void main(String[] args) {
//嵌套的 if 结构:对输入的数(1-100)进行区间判断
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个数(0-100):");
double num = scanner.nextDouble();
//总体为 if 多选择结构,嵌套了 if 双选择结构
if(num <= 100 && num >= 50){
if(num <= 100 && num >= 75){
System.out.println("你输入的数"+ num +"在 75-100 之间");
}else{
System.out.println("你输入的数"+ num +"在 50-75 之间");
}
//在 else if 中嵌套了 if 双选择结构
}else if(num < 50 && num >= 0){
if(num < 50 && num >= 25){
System.out.println("你输入的数"+ num +"在 25-50 之间");
}else{
System.out.println("你输入的数"+ num +"在 0-25 之间");
}
}else{
System.out.println("输入的数不在 0-100 之间");
}
scanner.close();
}
}
- switch 多选择结构:判断一个变量与一系列值中某个值是否相等(匹配一个具体的值),每个值称为一个分支。
switch 语句中的变量类型可以是:
- byte、short、int、char
- 从 Java SE7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量
package com.Sun3285.struct;
import java.util.Scanner;
public class PracticeFive {
public static void main(String[] args) {
//switch 多选择结构
Scanner scanner = new Scanner(System.in);
System.out.println("请输入等级:");
String grade = scanner.nextLine();
switch (grade){
case "A":
System.out.println("第一等级");
break;
case "B":
System.out.println("第二等级");
break;
case "C":
System.out.println("第三等级");
break;
case "D":
System.out.println("第四等级");
break;
default:
System.out.println("输入不合法");
}
scanner.close();
}
}
三、反编译
java 文件经过编译 —> class 文件(字节码文件) —> 反编译为 java 文件(工具:IDEA)
-
打开项目结构,选择项目输出路径。
-
右键打开后发现为乱码
-
用 IDEA 反编译
打开文件夹
将 class 文件复制粘贴到文件夹中后,出现字节码文件
反编译后的 java 文件与原 java 文件对比(字符的本质是数字,先把字符转化为对应的数字(用哈希值),然后再依据数字输出相应的字符)
注意:
-
.equals() 用于比较字符串是否相等。
-
代码整体前移:Shift + Tab。
-
case 有穿透现象,不加 break,会接着运行后续的程序。
-
写程序要严谨,编写代码时要把所有的问题都思考清楚,然后逐一解决。
-
看源码是一种优秀的思想。
希望疫情早点结束!!!