Java分支结构

本文详细介绍了Java中的分支结构,包括if语句、if...else、if...else if...else以及if的嵌套使用。通过实例展示了如何判断闰年、密码验证、成绩等级划分以及购车能力评估等应用场景,帮助读者深入理解Java选择结构的运用。
摘要由CSDN通过智能技术生成

Java分支结构

程序结构:
  • 顺序结构
  • 分支结构(选择)
  • 循环结构
if
  • if语句是指如果满足某种条件,就进行处理.在上面的伪代码中,"如果"相当于Java中的关键字if.
  • 语法格式
例如:if(考试得了一百分){
         玩游戏一个小时;
}
  • 上面的列子就描述了if语句的用法,在Java中,if语句的具体语法格式如下:
	if(条件语句){
		执行语句;
	}
  • if语句的执行流程图
    在这里插入图片描述
public class Demo1{
	public static void main(String[] args){
		int score = 100;
		if(score == 100){
			System.out.println("判断条件为真");
		}
	}
}

if…else

  • if…else语句:是指如果满足某种条件,就进行某种处理,否则就进行另一种处理.
if...else语句的具体格式如下:
		if(条件语句){
			执行语句1;
			........
		} else{
			执行语句2;
			.........
		}
  • 上述代码中,判断条件是一个布尔值.当判断条件为true时,if后面{ }中的执行语句1会执行,当判断条件为false时,else后面{ }中的执行语句2会执行.
    在这里插入图片描述
eg:要判断一个正整数的奇偶,如果该数字能被2整除则是一个偶数,否则就是一个奇数
public class Demo2{
	public static void main(String[] args){
		int num = 10;
		if(num % 2 ==0){
			System.out.println("偶数");
		}else{
			System.out.println("奇数");
		}
	}
}
  • 练习:
  • 1.判断是否为闰年
    提示:能被4整除但不能被100整除.或者能被400整除.
方式一:
public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int year = input.nextInt();
        if(year % 4 == 0 && year % 100 !=0 ||year % 400 ==0){
            System.out.println("是闰年");
        }else{
            System.out.println("不是闰年");
        }
    }
方式二:三元运算符
public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int year = input.nextInt();
        String  a =(year % 4 ==0 && year % 100 != 0 || year % 400 == 0)?"闰年":"平年";
        System.out.println(a);
    }
  • 2.通过键盘输入密码,判断密码是否等于123456,如果等于就输出"密码正确",如果不等于则提示"密码错误".
public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("欢迎来带实力至上教室!");
        System.out.println("请输入密码");
        int password=input.nextInt();
        if (password==123456){
            System.out.println("密码正确!");
        }else{
            System.out.println("密码错误,请重新输入!");
        }
    }

if…else if…else

  • if…else if…else 语句用于对多个条件进行判断,进行多种不同的处理.
	if(判断条件){
		执行语句1;
	}else if(判断条件2){
		执行语句2;
	}else if(判断条件n){
		执行语句n;
	}else{
		执行语句n+1
	}
  • 上述格式中,判断条件是一个布尔值,当判断条件1为true时,if后面{ }中的执行语句1会执行.当判断条件1为false时,会继续执行判断条件2,如果为true则执行语句2,以此类推,如果所有的判断条件都为 false,则意味着所有条件均未满足,else 后面 { } 中的执行语句 n+1 会执行.在这里插入图片描述
  • eg: 对一个学生的考试成绩进行等级的划分,如果分数大于80分等级为优,否则,如果分数大于70分等级为良,否则,如果分数大于60分等级为中,否则,等级为差.
public static void main(String[] args) {
       int score = 59;
       if (score>80){
           System.out.println("优秀");
       }else if(score>70){
           System.out.println("良好");
       }else if (score>60){
           System.out.println("中");
       }else {
           System.out.println("差");
       }
   }
  • 练习:

  • 实现根据存款和购买能力的对应关系(当存款大于等于500万时买“凯迪拉克”,当存款大于等于100万时买“帕萨特”,当存款大于等于50万时买“伊兰特”,当存款大于等于10万时买“奥拓”,否则只能买“捷安特”)输出与之对应可以购买的车型,当存款为52万时输出如图所示的效果。
    ----这是分割线-----------

    命令行效果------
    我可以买辆伊兰特

public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入您的存款金额,单位:万.");
        System.out.println("将根据您输入的金额匹配对应的汽车!");
        int money = input.nextInt();
        if (money >=500){
            System.out.println("您可以购买凯迪拉克.");
        }else if(money>=100){
            System.out.println("您可以购买帕萨特");
        }else if (money>=50){
            System.out.println("您可以购买伊兰特");
        }else if (money>=10){
            System.out.println("您可以购买奥拓");
        }else {
            System.out.println("您可以购买捷安特");
        }
    }

if 嵌套

public static void main(String[] args) {
        int height = 175;
        int weight = 100;
        if (height >=175){
            if (weight >=100){
                System.out.println("该减肥了!!");
            }else{
                System.out.println("请保存现状!!!");
            }
        }else{
            System.out.println("你拉低中国的平均水平了!!!!");
        }
    }
  • 练习

  • 实现根据比赛成绩以及性别,对选手进行分组,效果如下所示。当成绩小于等于“10秒”时,选手有资格进入决赛,对于进入决赛的选手再对性别“男和女”分别进入“男子组决赛”或“女子组决赛”。
    ----这是分割线-----------

    命令行效果------
    请输入比赛成绩:10
    请输入性别:男
    进入男子组决赛

public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入成绩!");
        int score = input.nextInt();
        if (score<10){
            System.out.println("请输入您的性别:男性请输入1,女性请输入2");
            int  sex = input.nextInt();
            if (sex == 1){
                System.out.println("恭喜您进入男子组决赛!");
            }else {
                System.out.println("恭喜您进入女子组决赛!");
            }
        }else {
            System.out.println("很遗憾,您未能进入决赛.");
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值