Java基础06:流程控制

顺序结构

在这里插入图片描述

选择结构

在这里插入图片描述

if单选择结构

在这里插入图片描述
例:

public class Demo01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入");
        String s =scanner.nextLine();

        if (s.equals("hello")){
            System.out.println(s);

        }
        System.out.println("end");
        scanner.close();
    }
}

if双选择结构

在这里插入图片描述
例:

public class Demo02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩");
        if(scanner.hasNextDouble()){
            Double score = scanner.nextDouble();
            if(score>60) {
                System.out.println("及格");
            }
            else{
                System.out.println("不及格");
            }
        }
        scanner.close();
    }
}

if多选择结构

在这里插入图片描述
可以有多个else if,必须在if之后。当其中一个else if为true时,其他的else if直接跳过。最多只有一个else语句,只能出现在最后。
多个if和多个else if的区别:

多个if语句时及时前一个if为真,后面的if也要继续判断,
如果用else if 则只有前者为假的时候它的if 才接着判断。

实例:

多个if是所有的if都会进行判断
if else if是只要有满足条件的,就不再对之后的else if进行判断
比如:

a = 2;
if(a==1) c=1;
if(a==2) c=2;
if(a%2==0) c=3;
最终结果c=3

a=2;
if(a==1) c=1;
else if(a==2) c=2;
else if(a%2==0) c=3;
最终结果c=2

参考:CSDN 半糖主义097

例:

public class Demo03 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩");
        if(scanner.hasNextDouble()){
            Double score = scanner.nextDouble();
            if(score==100){
                System.out.println("恭喜满分!");
            }
            if(score<100&&score>=90) {
                System.out.println("A");
            }
            if(score<90&&score>=80) {
                System.out.println("B");
            }
            if(score<80&&score>=70) {
                System.out.println("C");
            }
            if(score<70&&score>=60) {
                System.out.println("D");
            }
            if(score<60&&score>=50) {
                System.out.println("E");
            }
            else{
                System.out.println("成绩不合法!");
            }
        }
        scanner.close();
    }
}

嵌套的if结构

在这里插入图片描述

switch 多选择结构

在这里插入图片描述
其中字面量(literal)和变量/常量的区别是,变量/常量常常出现在等式左边,字面量只能出现在等式右边。
如 n=“hello world!”,n就是变量,hello world就是字面量。

  • 在switch中,每个case语句后面需要加上break语句,不然会导致后面所有的case都会被执行,称为case穿透。
  • 通过default来匹配不符合所有case的其他所有情况,类似if中的else。
public class Demo04 {
    public static void main(String[] args) {
        //case穿透 switch 匹配一个具体的值
        char grade ='C';

        switch (grade){
            case 'A':
                System.out.println("优秀");
                break;
            case 'B':
                System.out.println("良好");
                break;
            case 'C':
                System.out.println("及格");
                break;
            case 'D':
                System.out.println("再接再厉");
                break;
            case 'E':
                System.out.println("挂科");
                break;
            default:
                System.out.println("非法等级");
                break;
        }

循环结构

在这里插入图片描述

While循环

在这里插入图片描述
例:

public class Demo06 {
    public static void main(String[] args) {
        int i=1;
        int sum=0;
        while (i<=100){
            sum+=i;
            i++;
        }
        System.out.println(sum);//输出5050
    }
}

有的时候需要使用死循环,即永远不会结束的循环,如监听。

while(true){
\\方法体
}

do…while循环

在这里插入图片描述

for循环

在这里插入图片描述
for循环与while循环实现同一个功能的对比,for循环更简洁

public class forDemo01 {
    public static void main(String[] args) {
        int a = 1;//初始化条件
        while (a<100){
            System.out.println(a);
            a+=2;//迭代
        }

        System.out.println("while循环结束!");
        
        //for(初始化;布尔值判断;更新迭代)
        for(int i=1;i<100;i+=2){
            System.out.println(i);
        }

        System.out.println("for循环结束!");
    }
}

for循环注意点

  • 最先执行初始化步骤。可以声明一种类型,可初始化一个或多个循环控制变量,也可以是空语句。当全部是空语句时,为死循环。
for(; ;)//死循环
  • 然后,检测布尔表达式的值,如果为true,执行循环体。如果为false,循环终止,开始执行循环体后面的语句。
  • 执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)
  • 在此检测布尔表达式,循环执行上面的过程。
  • for循环的快捷写法:1000.for 可自动补全为 for(int i=0;i<1000;i++)
    在这里插入图片描述
    在这里插入图片描述

练习题

  • 练习题1

打印一个九九乘法表
在这里插入图片描述
参考答案:

public class forDemo03 {
    public static void main(String[] args) {
        for (int i = 1; i <=9; i++) {
            for (int j = 1; j<=i; j++) {
                System.out.print(i+"*"+j+"="+(i*j)+"\t");
            }
            System.out.println();
        }
    }
}
  • 练习题2

打印一个三角形
 打印一个三角形
参考答案:

public class forDemo05 {
    public static void main(String[] args) {
        for (int i = 0; i <=5; i++) {
            for (int j = 5; j >= i; j--) {
                System.out.print(" ");
            }

            for (int j = 0; j <=i; j++) {
                System.out.print("*");

            }
            for (int j = 1; j <=i; j++) {
                System.out.print("*");

            }
            System.out.println();
        }
    }
}
  • 23
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值