JAVA宝库,最透彻的if语句,包教包会

01.顺序结构

如图
在这里插入图片描述

这里是引用

02.if判断结构

 if(){
            代码块.....
      }

选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个(true、false),所以产生选择,按照不同的选择执行不同的代码。

也就是当if()小括号中的表达式结果如果为true,则执行if(){}大括号内的代码,否则不执行。

  if(){
            代码块1.....
      }else{
            代码块2.....
      }
 if(便宜吗?){}else{
            不买
      }
在这里插入代码片

选择结构的第二种写法。增加了一种情况,属于条件分支,类似于Y字路口。功能与三目运算相同。但不能如同三目运算一样直接将结果进行赋值操作,if没有结果反馈,三目运算始终有结果反馈。

首先判断if()小括号中的表达式结果,如果是true,则执行if(){}大括号内的代码;如果是false,则执行else{}大括号内的代码。必然会也只会执行一个大括号内的代码。

 if(){
            代码块1.....
      }else if(){
            代码块2.....
      }else{
            代码块3.....
      }

选择结构的第三种写法。和if…else…相比,中间多了else if,相当于判断的情形多了一种。

注意:只要有一种情况成立,就执行{}中的代码,然后就跳出当前if体系

练习题

一年一度的欣知女神杯即将拉开帷幕。比赛分为预赛和决赛;第一轮选身高,如果身高符合条件,进入决赛,否则淘汰;第二轮;身高符合的条件下,如果体重也符合要求,获取称号,否则淘汰;

 public static void main(String[] args) {
        System.out.println("一年一度的欣知女神杯开始报名了");
        System.out.println("第一轮选身高");
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你的身高:");
        int hight = scanner.nextInt();
        System.out.println("您的身高是:" + hight);
        if (hight >= 165 && hight <= 190) {
            System.out.println("通过");
            System.out.println("欢迎你进入决赛");
            Scanner scanner1 = new Scanner(System.in);
            System.out.println("第二轮选体重");
            int wight = scanner.nextInt();
            System.out.println("您的体重是:" + wight);
            if(wight>=45&&wight<=55){
                System.out.println("恭喜你获得欣知女生杯");
            }else {
                System.out.println("很遗憾您落选了");
            }
        } else{
            System.out.println("因为身高您失败了");
    }
        System.out.println("欣知女神杯结束了");
    }

大家看不懂的看一下原理图
在这里插入图片描述

03.switch选择结构

switch(表达式) {
	      case 值1:
		语句体1;
		break;
	      case 值2:
		语句体2;
		break;
		    …
	      default:	
		语句体n+1;
		break;
    }

使用switch解决类似问题,switch会将case后的值写入栈中,表达式的结果会直接在栈中进行查询并选择,效率更高。

语法说明:
1.表达式的取值:byte,short,int,char;JDK5以后可以是枚举;JDK7以后可以是String。
2.case后面跟的是要和表达式进行比较的值。
3.break表示中断,结束的意思,可以结束switch语句。
4.default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
在这里插入图片描述
使用switch的注意事项:
1.case后面只能是常量,不能是变量,而且,多个case后面的值不能相同。
2.default可以省略。但一般不建议,除非结果是可以预计且不会发生变化的。
3.break可以省略,一般不建议。
4.default的位置可以出现在switch语句任意位置。
5.switch语句的结束条件必定是遇到break或已经执行到最末尾。

练习题

实现优惠券抵用活动
用户获得了一张20元抵用券,现有5项商品可以使用抵用券。用户只能选择一项进行使用。
当用户选择后,用户付钱,并找零。
得出预计结果后尝试优化和调整代码编写方式

 Scanner scanner = new Scanner(System.in);

        System.out.println("以下商品可以使用抵用券");
        System.out.println("=========欢迎来到欣知商城==========");
        System.out.println("主菜单 > 使用抵用券:");
        System.out.println("=========1.美的微波炉=============");
        System.out.println("========2.飞利浦剃须刀============");
        System.out.println("=========3.格力空调==============");
        System.out.println("=========4.潮流卫衣==============");
        System.out.println("========5.欣知小姐姐网红舞蹈=======");
        System.out.println("请输入您想要购买的商品:");
        int i = scanner.nextInt();

        int price = 0;

        switch (i){
            case 1:
                price = 350;
                System.out.println("美的微波炉---" + price +"元");

                break;
            case 2:
                price = 267;
                System.out.println("飞利浦剃须刀---"+ price +"元");

                break;
            case 3:
                price = 3225;
                System.out.println("格力空调==="+ price +"元");

                break;
            case 4:
                price = 577;
                System.out.println("潮流卫衣---"+ price +"元");

                break;
            case 5:
                price = 139;
                System.out.println("欣知小姐姐网红舞蹈"+ price +"元");

                break;
        }
        System.out.println("请到前台结账");
        int fukuan = price - 20;
        System.out.println("您选的商品有20块的优惠券,您需要付"+fukuan+"元");
        System.out.println("输入你的付款金额:");
        int c = scanner.nextInt();
        if (c>=fukuan){
            System.out.println("您的付款金额为"+c+"元,找零"+(c-fukuan)+"元");

        }else {
            System.out.println("您付的钱不够,请重新支付");
        }
        System.out.println("欢迎下次光临");

代码运行结果图
在这里插入图片描述
这段代码中的运行结果是2,2。原因就是顺序结构,所谓顺序结构,其实就是按照代码原本应该的方式进行执行。

从上到下,从左到右。

总的来说,就是写在上边的代码先运行,下边的代码后运行;左边的代码先运行,右边的代码后运行。
在这里插入图片描述

算数运算符

在这里插入图片描述
num1++,是num1 = num1 + 1;的缩写,也就是让num1本来的值加1。
num1–,是num1 = num1 - 1;的缩写,也就是让num1本来的值减1。
++num1,作用同num1++,但在程序中会优先计算,num1++则会优先使用变量的现有值。
–num1,作用同num1–,但在程序中会优先计算,num1–则会优先使用变量的现有值。

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值