目录
一、if 单选择结构
结构:
if(布尔表达式){
//布尔表达式为ture将执行的语句 ;
}
例如:
import java.util.Scanner;
public class IfExample01 {
public static void main(String[] args) {
Scanner name = new Scanner(System.in);
System.out.println("请输入数据:");
int score = name.nextInt();//用户输入
if (score >= 60 ){
System.out.println("及格");
}
System.out.println("结束");
name.close();
}
二、if 双选择结构
结构:
if(布尔表达式){
//布尔表达式为ture将执行的语句 ;
}
else{
// 布尔表达值为false将执行的语句;
}
例如:
import java.util.Scanner;
public class IfExample01 {
public static void main(String[] args) {
Scanner name = new Scanner(System.in);
System.out.println("请输入数据:");
int score = name.nextInt();//用户输入
if (score >= 60 ){
System.out.println("及格");
}
else{
System.out.println("不及格");
}
System.out.println("结束");
name.close();
}
三、if 多选择结构
结构:
if(布尔表达式1){
//布尔表达式1为ture将执行的语句 ;
}else if(布尔表达式2){
// 布尔表达值2为ture将执行的语句;
}else if(布尔表达式3){
//布尔表达式3为ture将执行的语句;
}
.
.
.
例子:
import java.util.Scanner;
public class IfExample01 {
public static void main(String[] args) {
Scanner name = new Scanner(System.in);
System.out.println("请输入数据:");
int score = name.nextInt();
if (0 <= score && score <= 60) {
System.out.println("不及格");
} else if (60 <= score && score < 70) {
System.out.println("及格");
} else if (70 <= score && score < 100) {
System.out.println("中");
} else if (score == 100) {
System.out.println("满分!");
} else if (score > 100) {
System.out.println("无效数据!");
}
}
}
四、嵌套 if 结构
1.结构:
if(布尔表达式1){
//布尔表达式1为ture时执行语句;
if(布尔表达式2){
//布尔表达式2为ture时执行语句;
}
}
此方法多用于提高查找数据的效率
import java.util.Scanner;
public class IfExample01_1 {
public static void main(String[] args) {
Scanner name = new Scanner(System.in);
System.out.println("志愿者性别为:"); //判断性别
String gender = name.next();
if (gender.equals("男")) {
// if (gender == "男")错误写法,将不能执行后续语句
System.out.println("志愿者年龄为:"); //判断年龄是否符合
int age = name.nextInt();
if(age >= 18) {
System.out.println("志愿者体重为(kg):");//若性别是男,判断体重是否符合
Double weight = name.nextDouble();
if (weight >= 50) {
System.out.println("该志愿者符合献血条件!");//若条件均符合则可以进行献血
} else {
System.out.println("该志愿者体重未达标!");
}
}
}
else {
System.out.println("志愿者年龄为:"); //判断年龄是否符合
int age = name.nextInt();
if(age >= 18) {
System.out.println("志愿者体重为(kg):");
Double weight = name.nextDouble();
if (weight >= 45) {
System.out.println("该志愿者符合献血条件!");
} else {
System.out.println("该志愿者体重未达标!");
}
name.close();
}
}
}
}
2. .equals和==的区别
参考:if条件句判断字符串相等后没有执行if里的语句的原因_一口冰镇西瓜的博客-CSDN博客
字符串判断是否相等应该用.equals 而不是==
.equals比较的是字符串内容
==比较的是字符串对象的内存地址。
".equals" 和 "==" 的区别
==:作用于基本数据类型时,是比较两个数值是否相等;
作用于引用数据类型时,是比较两个对象的内存地址是否相同,即判断它们是否为同一个对象;
.equals:没有重写时,默认以 == 来实现,即比较两个对象的内存地址是否相同
五、switch结构
switch case()语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
结构:
switch(表达式){
case value1:
//当表达式结果为value1时所执行语句
break;//可选则性加入此句,若加入,则在执行完上一条语句后直接跳出选择,若不添加,则继续进行后面行后面的语句
case value2:
//当表达式结果为value2时所执行语句
break;
default://可选择性添加
//其他情况下执行语句
}
例子:
import java.util.Scanner;
public class SwitchExample01 {
public static void main(String[] args) {
System.out.println("您是否要继续进行?");
Scanner control = new Scanner(System.in);
String control0 = control.next();
switch (control0){
case "是":
System.out.println("欢迎进入游戏");
break;
case "否":
System.out.println("祝您生活愉快");
break;
default:
System.out.println("请输入有效字符!");
}
}
}
拓展:
字符的本质还是数字。
反编译
JAVA文件编译后得到Class文件(字节码文件),若想要将Class文件读懂,则进行反编译(直接用IDEA实现)
1.在项目结构中的
中得到文件的储存地址
2.在电脑中打开文件保存的目录
3.打开需要反编译的文件所在地址(如我打开IDEA中编写的SwitchExample01文件)复制该文件
文件类型为class(不要打开此文件时选择使用IDEA打开,否则class文件变为JAVA文件,无法起到反编译的效果!)
4.右击左侧栏空白处选择文件目录后将复制的class文件粘贴至JAVA文件所在地址处
5.出现此标志
6.打开该文件即得到反编译文件