0
点赞
收藏
分享

微信扫一扫

学习笔记(JAVA)——选择结构

ixiaoyang8 2022-04-18 阅读 124
java

 

目录

一、if 单选择结构

二、if 双选择结构

三、if 多选择结构

四、嵌套 if 结构

1.结构:

2. .equals和==的区别

五、switch结构

反编译


一、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.打开该文件即得到反编译文件

 

举报

相关推荐

0 条评论