java流程控制:选择结构

时间:2021-09-06 02:25:32   收藏:0   阅读:24

选择结构

if

if单选择结构

package com.ljh.structure;

import java.util.Scanner;

/**
 * if单选择结构
 */
public class IfDemo1 {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入:");
        String s = scanner.nextLine();
        if (s.equals("hello,world")){//equals()比较两个字符串是否相等
            System.out.println("你好,世界");
        }
        scanner.close();
    }
}

if双选择结构

语法

if(布尔表达式){
//如果布尔表达式的值为真则执行
}else{
//如果布尔表达式的值为假则执行
}
package com.ljh.structure;

import java.util.Scanner;

/**
 * if双选择结构
 */
public class IfDemo2 {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入:");
        String s = scanner.nextLine();
        if (s.equals("hello,world")){//equals()比较两个字符串是否相等
            System.out.println("你好,世界");
        }else{
            System.out.println("你好,java");
        }
        scanner.close();
    }
}

if多选择结构

有时候我们的代码存在区间多级判断,在我们生活很多时候的选择也不仅仅只有两个,所以我们需要一个多选择结构来处理这类问题!

语法:

if(布尔表达式1){
    //布尔表达式1为真则执行
}else if(布尔表达式2){
    //布尔表达式2为真则执行
}else if(布尔表达式3){
    //布尔表达式3为真则执行
}else{
    //如果以上都不为真则执行
}
package com.ljh.structure;


import java.util.Scanner;

/**
 * 多选择结构
 */
public class IfDemo3 {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入成绩");
        int score = scanner.nextInt();
        if (score==100){
            System.out.println("极品");
        }else if(score<100&&score>=80){
            System.out.println("优");
        }else if(score<80&&score>=60){
            System.out.println("良");
        }else if(score<60&&score>=0){
            System.out.println("差");
        }else {
            System.out.println("输入不合法");
        }
        scanner.close();
    }
}

if嵌套

switch

package com.ljh.structure;

public class SwitchDemo1 {
    public static void main(String[] args) {
        char code=‘A‘;
        switch (code){
                //如果没有break会有case穿透问题,最后一个可以不写break,最好都带上
            case ‘A‘:
                System.out.println("A");
                break;
            case ‘B‘:
                System.out.println("B");
                break;
            case ‘C‘:
                System.out.println("C");
                break;
                default:
                    System.out.println("啥也不是");
        }
    }
}

我们通过反编译可以看到 字符本质其实还是数字

// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   SwitchDemo1.java

package com.ljh.structure;

import java.io.PrintStream;

public class SwitchDemo1
{

    public SwitchDemo1()
    {
    }

    public static void main(String args[])
    {
        char code = ‘A‘;
        switch(code)
        {
        case 65: // ‘A‘
            System.out.println("A");
            break;

        case 66: // ‘B‘
            System.out.println("B");
            break;

        case 67: // ‘C‘
            System.out.println("C");
            break;

        default:
            System.out.println("\u5565\u4E5F\u4E0D\u662F");
            break;
        }
    }
}

原文:https://www.cnblogs.com/ljhStudy/p/15223946.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!