Java入门到精通:第七课 流程控制语句(一)

一、顺序结构

1、概念:

Java程序默认的执行流程,按照代码的先后顺序,从上到下依次执行

2、用法

代码

package OrderDemo;

public class OrderDemo1 {
    public static void main(String[] args) {
        //1.默认的顺序结构
        System.out.println("山茶花");
        System.out.println("白玫瑰");
        System.out.println("朱砂痣");
        
    }
}

结果

二、分支结构

(一)、if语句

1、格式一

(1)注意:

i.大括号的开头可以另起一行,但是建议写在第一行末尾

ii.语句体如果只有一句代码,大括号可以省略

(但有的是多句结合为一句,所以建议任何时候都不省略大括号)

iii.r如果对一个布尔类型的变量进行判断,不要用 ==

(2)练习:

代码:

package OrderDemo;

import java.util.Scanner;

public class IfDemo1 {
    public static void main(String[] args) {
        /*题目:
         *键盘录入身高,如果大于180,给出回应"喜欢!!",
         * 反之不回应
         */
        //格式:
        //if(关系表达式){
            //语句体;
        // }

        //1.键盘加入身高
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入身高");
        int height = sc.nextInt();

        //2.对身高进行判断
        if(height >180){
            System.out.println("喜欢!!");
        }
    }
}

结果:

2、格式二

(1)用法:在实际开发中,如果要根据两个不同的情况来执行不同的代码,用第二种格式
(2)练习1:

假设用户在超市实际购买商品,总价为600元。键盘录入一个整数表示用户实际支付的钱。如果付款大于600,则付款成功,否则失败。

代码:

package OrderDemo;

import java.util.Scanner;

public class IfDemo2 {
    public static void main(String[] args) {
        /*题目:假设用户在超市实际购买商品,
         *总价为600元。
         *键盘录入一个整数表示用户实际支付的钱。
         *如果付款大于600,则付款成功,否则失败。
         */

        //1.键入一个整数
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int number = sc.nextInt();


        //2.判断条件
        if(number > 600) {
            System.out.println("付款成功");
        } else {
            System.out.println("付款失败");
        }
    }
}

结果:

(3)练习2:

假设某影院售卖了100张票,票的序号为1~100。其中奇数票号坐在左侧,偶数票号坐在右侧。键盘录入一个整数代表票号。根据不同情况给出提示:

如果票号为奇数,就打印坐左边。如果票号为偶数,就打印坐右边。

代码:

package test;

import java.util.Scanner;

public class test4 {
    public static void main(String[] args) {
        /*题目:
         *假设某影院售卖了100张票,票的序号为1~100。
         * 其中奇数票号坐在左侧,偶数票号坐在右侧。
         * 键盘录入一个整数代表票号。根据不同情况给出提示:
         * 如果票号为奇数,就打印坐左边。
         * 如果票号为偶数,就打印坐右边。
         */

        //1.键盘录入一个整数,且整数大于0,小于101
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数:" );
        int number = sc.nextInt();
        if (number >= 0 & number <= 100) {
            if (number % 2 == 0) {
                System.out.println("坐右边");
            } else {
                System.out.println("坐左边");
            }
        } else {
            System.out.println("您输入的序号不存在");
        }
    }
}

结果:



3、格式三

(1)流程图

(2)用法:在实际开发中,多种情况判断时,会用到第三种格式
(3)练习:

商场都有VIP的会员制,根据不同的会员打不同的折扣。假设商品总价为1000.键盘录入会员级别,并计算出实际支付的钱。

会员1级 :打9折;会员2级:打8折;会员3级:打7折

非会员:不打折。

代码:

package OrderDemo;

import java.util.Scanner;

public class IfDemo3 {
    public static void main(String[] args) {
        //1.定义一个变量代表需要支付的钱
        int money = 1000;

        //2.键盘录入会员等级
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入您的会员级别:");
        int vip = sc.nextInt();

        //3.判断录入的会员等级对应的优惠力度
        if(vip == 1) {

            System.out.println("实际支付的钱为:" +   money * 0.9);
        } else if (vip == 2) {

            System.out.println("实际支付的钱为:" +  money * 0.8 );
        } else if (vip == 3) {

            System.out.println("实际支付的钱为:" +  money * 0.7);
        } else {

            System.out.println("实际支付的钱为:" + money );
        }

    }
}

结果:

(二)、switch语句

1、格式

2、规则说明

3、练习

键盘录入星期数,显示今天的减肥活动。周一:跑步;周二:游泳;周三:慢走;周四:动感单车;周五:拳击;周六:爬山;周日:好好吃一顿。

代码:

package OrderDemo;

import java.util.Scanner;

public class SwitchDemo1 {
    public static void main(String[] args) {

        //1.键盘录入星期数
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入星期数:");
        int day = sc.nextInt();

        //2.判断要执行的运动项目
        switch (day) {
            case 1:
                System.out.println("跑步");
                break;
            case  2:
                System.out.println("游泳");
                break;
            case  3:
                System.out.println("慢走");
                break;
            case  4:
                System.out.println("动感单车");
                break;
            case  5:
                System.out.println("拳击");
                break;
            case  6:
                System.out.println("爬山");
                break;
            case  7:
                System.out.println("好好吃一顿");
                break;
            default:
                System.out.println("没有这个星期数");
                break;
        }

    }

}

结果:

4、swit的其他知识

(1)default的位置和省略

代码:

package OrderDemo;

/*default的位置和省略

 *1.位置 :default不一定写在最下面,我们可以写在任意位置,只不过习惯写在最下面
 *2.省略 :default可以省略,语法不会报错,但是不建议省略

 */
public class SwitchDemo2 {
    public static void main(String[] args) {
        int number = 100;
        switch (number){
            default :
                System.out.println("number的值不是1,10或者20");
                break;
            case 1:
                System.out.println("number的值为1");
                break;
            case 10:
                System.out.println("number的值为10");
                break;
            case 20:
                System.out.println("number的值为20");
                break;
        }
    }
}

结果:

(2)case穿透

代码:

package OrderDemo;
// *case穿透:
// * 就是语句体中没有写break导致的
// * 执行流程:
// * 首先还是会拿着小括号中表达式的值跟下面每一个case进行匹配
// * 如果匹配上了,就会执行对应的语句体,如果此时发现了break,就结束整个switch语句
// * 如果没有发现break,程序就会继续执行下一个case的语句体,一直遇到break或者右大括号为止。
// *使用场景:
// * 如果有多个case的语句体重复了,就要考虑利用case穿透去简化代码
public class SwitchDemo3 {
    public static void main(String[] args) {
        int number = 10;
        switch (number) {
            case 1:
                System.out.println("number的值为1");
                break;
            case 10:
                System.out.println("number的值为10");
                //break;
            case 20:
                System.out.println("number的值为20");
                break;
            default:
                System.out.println("number的值不是1,10或者20");
                //break;
        }
    }
}

结果:

(3)switch新特性

代码:

package com.camellia.demo1.OrderDemo;
/*
 *switch新特性
 * JDK12之后的版本才存在
 */
public class SwitchDemo4 {
    public static void main(String[] args) {
        //题目:
        //1 2 3 一 二 三 相互匹配
        int number = 1;
        switch (number) {
           /*写法一:
            case 1 -> {
                System.out.println("一");
            }
            case 2 -> {
                System.out.println("二");
            }
            case 3 -> {
               System.out.println("三");
            }
            default -> {
                System.out.println("没有这种选项");
            }*/
            //写法二:
            case 1 -> System.out.println("一");
            case 2 -> System.out.println("二");
            case 3 -> System.out.println("三");
        }

    }

}

结果:

(4)switch和if第三种格式各自的使用场景

代码:

package com.camellia.demo1.OrderDemo;

import java.util.Scanner;

/*
 *switch和if第三种格式各自的使用场景
 * if的第三种格式,一般用于范围的判断
 * switch:把有限个数据一一列举出来,让我们任选其一
*/
public class SwitchDemo5 {
    public static void main(String[] args) {
        //1.键盘录入星期数
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入星期数:");
        int day = sc.nextInt();

        //2.判断要执行的运动项目

        //写法一:
        switch (day) {
            case 1:
                System.out.println("跑步");
                break;
            case  2:
                System.out.println("游泳");
                break;
            case  3:
                System.out.println("慢走");
                break;
            case  4:
                System.out.println("动感单车");
                break;
            case  5:
                System.out.println("拳击");
                break;
            case  6:
                System.out.println("爬山");
                break;
            case  7:
                System.out.println("好好吃一顿");
                break;
            default:
                System.out.println("没有这个星期数");
                break;
        }

        //写法二
        if (day == 1){
            System.out.println("跑步");
        } else if(day == 2){
            System.out.println("游泳");
        } else if(day == 3){
            System.out.println("慢走");
        } else if(day == 4){
            System.out.println("动感单车");
        } else if(day == 5){
            System.out.println("拳击");
        } else if(day == 6){
            System.out.println("爬山");
        } else if(day == 7){
            System.out.println("好好吃一顿");
        } else {
            System.out.println("没有这个星期数");
        }
    }

 }

结果:

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值