java选择结构与分支结构

选择结构与分支结构

目录

选择结构与分支结构

1.选择结构

基本if选择结构

if else选择结构

多重if选择结构

嵌套if选择结构

2.分支结构

3.局部变量

4.练习


1.选择结构

概念:根据已知条件进行逻辑判断,满足条件后执行相应操作

基本if选择结构

语法:

if(布尔表达式){

        //代码块

} 后续代码...

执行流程: 对布尔表达式进行判断。 结果为true,则先执行代码块,再执行后续代码。 结果为false,则跳过代码块,直接执行后续代码。

//如果年龄大于18可以上班
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入年龄:");
        int age=sc.nextInt();
        if(age>18){
            System.out.println("可以上班!");
        }

if else选择结构

语法:

if(布尔表达式){

        //代码块1

}else{

        //代码块2

} 后续代码...

执行流程: 对布尔表达式进行判断。 结果为true,则先执行代码块1,再退出整个结构,执行后续代码。 结果为false,则先执行代码块2,再退出整个结构,执行后续代码。

//张飞 买彩票  如果中500万 就买辆奥迪
        //如果没有中奖倒立洗头
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入中奖金额:");
        double money=sc.nextDouble();
        if(money>=500){
            System.out.println("买奥迪!");
        }else{
            System.out.println("直播倒立洗头!");
        }

多重if选择结构

语法: 

//张飞  中奖5块请所有人喝可乐
        //中1万  买自行车
        //中10万  买奥拓
        //中100万 买奥迪
        //没中奖   难受到原地爆炸
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入中奖金额:");
        double money=sc.nextDouble();
        if(money>=5&&money<10000){
            System.out.println("请所有人喝可乐");
        }else if(money>=10000&&money<100000){
            System.out.println("买辆自行车");
        }else if(money>=100000&&money<100000){
            System.out.println("买辆奥拓");
        }else  if(money>=1000000){
            System.out.println("买辆奥迪");
        }else{
            System.out.println("难受到原地爆炸");
        }

嵌套if选择结构

语法: 

        /*张三参加一个残运会 比赛项目是赛跑
		首先赛跑比赛分为男子组和女子组
		另外 分完男子组合女子组之后可以进行比赛
		 男子100米要求在13秒以内可以晋级下一轮比赛
		 女子100米要求在14秒以内可以进入下一轮
		 请输入他的信息,输出付行所在小组并提示是否晋级
		* */
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入付行的性别:");
		String sex=sc.next();
		System.out.println("请输入100米所用时间:");
		int time=sc.nextInt();
		//== 不能用于比较字符串(引用数据类型)
		if(sex.equals("男")){//字符串比较需要使用 str1.equals(str2)
			System.out.println("付行被分配到残运会100米比赛男子组!");
			if(time<=13){
				System.out.println("晋级了");
			}else {
				System.out.println("没有晋级");
			}
		}else{
			System.out.println("付行被分配到残运会100米比赛女子组!");
			if(time<=14){
				System.out.println("晋级了");
			}else {
				System.out.println("没有晋级");
			}
		}

2.分支结构

语法:

/*      刘备参加一个残运会 比赛项目是赛跑
        首先赛跑比赛分为男子组和女子组
        另外 分完男子组合女子组之后可以进行比赛
         男子100米要求在13秒以内可以晋级下一轮比赛
         女子100米要求在14秒以内可以进入下一轮
         请输入他的信息,输出付行所在小组并提示是否晋级
        * */
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入付行的性别:");
        String sex=sc.next();
        System.out.println("请输入100米所用时间:");
        int time=sc.nextInt();
        //== 不能用于比较字符串(引用数据类型)
        if(sex.equals("男")){//字符串比较需要使用 str1.equals(str2)
            System.out.println("付行被分配到残运会100米比赛男子组!");
            if(time<=13){
                System.out.println("晋级了");
            }else {
                System.out.println("没有晋级");
            }
        }else{
            System.out.println("付行被分配到残运会100米比赛女子组!");
            if(time<=14){
                System.out.println("晋级了");
            }else {
                System.out.println("没有晋级");
            }
        }

可判断的类型: byte、short、int、char、String(JDK7+)

执行流程: 如果变量中的值等于值1,则执行逻辑代码1. 如果变量中的值等于值2,则执行逻辑代码2. 如果变量中的值等于值n,则执行逻辑代码n 如果变量中的值没有匹配的case值时,执行default中的逻辑代码。

注意:所有case的取值不可相同。

//规定一下张三的一周餐饮
        /*周日  西红柿炒番茄
        * 周一  番茄炒西红柿
        * 周二  鸡蛋番茄
        * 周三 番茄鸡蛋
        * 周四  鸡蛋西红柿
        * 周五  西红柿鸡蛋
        * 其他时间 水煮鸡蛋*/
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入星期:");
        String week=sc.next();
        switch (week){
            case "周日":/*if(week.equals("周日")){System.out.println("西红柿炒番茄"); }*/
                System.out.println("西红柿炒番茄");
                break;//跳出switch
            case "周一":/*else if(week.equals("周一")){System.out.println("番茄炒西红柿"); }*/
                System.out.println("番茄炒西红柿");
                break;
            case "周二":
                System.out.println("鸡蛋番茄");
                break;
            case "周三":
                System.out.println("番茄鸡蛋");
                break;
            case "周四":
                System.out.println("鸡蛋西红柿");
                break;
            case "周五":
                System.out.println("西红柿鸡蛋");
                break;
            default:  //else{}
                System.out.println("水煮鸡蛋");
                break;
        }

3.局部变量

概念:声明在函数内部的变量,必须先赋值再使用。

作用范围:定义行开始到所在的代码块结束。

注意:多个变量,在重合的作用范围内,不可出现重名(命名冲突)

        public void test(){
            //1.局部变量必须先赋值后使用
            int a=12;
            System.out.println(a);
            if(a>10){
                int b=9;//使用范围  所在的大括号中
                System.out.println(b);
            }
            int b=12;//范围重复 变量不可以重名
            //System.out.println(b);//b不存在


        }

局部变量:出了大括号就不认识了.

4.练习

1.请用if … else编写一个程序,用于计算体质指数BMI,并打印结果。

BMI = 体重(kg)除以身高(m)的平方 BMI结果: 过轻:低于18.5 正常:18.5-25 过重:25-28 肥胖:28-32 非常肥胖:高于32

2.实现对三个整数进行排序,输出时按照从小到大的顺序输出

3.使用switch实现一个简单的石头、剪子、布游戏,补全下面的程序。

public class Main {
    public static void main(String[] args) {
        System.out.println("please choice:");
        System.out.println(" 1: Rock");
        System.out.println(" 2: Scissors");
        System.out.println(" 3: Paper");
        // 用户输入:
        int choice = 0;
        // 计算机随机数 1, 2, 3:
        int random = 1 + (int) Math.random() * 3;
        switch (choice) {
        // TODO:
        }
    }
}

4.某项查询执行之后,n条结果,单页显示m条记录,第i页显示第几条到第几条? 5.根据月份,输出天数 6.机票的价格受季节旺季、淡季的影响,头等舱和经济舱价格也不同。假设机票原价5000元,请根据出行的月份和选择的仓位输出实际的机票价格。

旺季(4-10月)

头等舱

九折

经济舱

八折

淡季

头等舱

五折

经济舱

四折

控制台输出如下:

请输入您出行的月份:1-12

请选择头等舱(1)还是经济舱(2)?

2

您的机票价格为:3000.0

7.img

  • 24
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

斑马有点困

原创不易,多谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值