Java:流程控制语句

文章目录

一、顺序结构

顺序结构语句是Java程序默认的执行流程,按照代码的先后顺序,从上到下依次执行。


二、分支结构

2.1 if

  • 首先计算关系表达式的值
  • 为true,则执行语句体1
  • 为false,则执行其他语句
java 复制代码
public class Main {
    public static void main(String[] args) {
        /*
            if (关系表达式) {
                语句体 1
            }
         */
        int a = 1;
        if (a > 2) {
            System.out.println("1 大于 2");
        }
        System.out.println("不符合规则");
    }
}
  1. 第二种格式
  • 首先计算关系表达式的值
  • 为true,则执行语句体1
  • 为false,则执行语句体2
java 复制代码
public class Main {
    public static void main(String[] args) {
        /*
            if (关系表达式) {
                语句体 1
            }  else {
                语句体 2
            }
         */
        if (1 > 2) {
            System.out.println("1 大于 2");
        }  else {
            System.out.println("当条件不符合,就执行这里");
        }
    }
}
  1. 第三种格式
  • 首先计算关系表达式 1 的值
  • 为true,则执行语句体1,为false,则计算关系表达式 2的值
  • 为true,则执行语句体2,为false,则计算关系表达式 3的值
  • 。。。。。。
  • 如果关系表达式的结果都为false,则执行语句体 3
java 复制代码
public class Main {
    public static void main(String[] args) {
        /*
            if (关系表达式 1) {
                语句体 1
            } else if (关系表达式 2) {
                语句体 2
            } else {
                语句体 3
            }
         */
        int a = 10;
        if (a > 15) {
            System.out.println("a 大于 15");
        } else if (a > 5) {
            System.out.println("a 大于 5");
        }  else {
            System.out.println("当条件都不符合,就执行这里");
        }
    }
}

2.2 switch

格式说明 含义
表达式 将要匹配的值
case 被匹配的值
break 结束switch语句
default 当所有的情况都不匹配,就执行这里

注意:case 不能是变量、不许重复

java 复制代码
public class Main {
    public static void main(String[] args) {
        /*
            switch(表达式) {
                case 值1:
                    语句体1;
                    break;
                case 值2:
                    语句体2;
                    break;
                ...
                default:
                    语句体 n + 1;
                    break;     
            }
         */
        int day = 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("都不符合,执行这里");
        } // 星期二
    }
}

三、循环结构

3.1 for

(1) 执行初始化语句

(2) 执行条件判断语句

为true,执行循环体语句

为false,循环结束

(3) 执行条件控制语句

(4) 回到第 (2) 步重复

java 复制代码
public class Main {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            System.out.println(i);
        }
    }
}

3.2 while

(1) 条件初始化

(2)执行条件判断语句,为true,则继续往下执行,为false,则中断执行

(3)条件控制语句,必须使值满足条件判断,否则会一直往下执行,进入死循环

先判断,后执行

java 复制代码
public class Main {
    public static void main(String[] args) {
        int num = 0;
        while (num < 10) {
            num +=1;
            System.out.println(num);
        }
    }
}

3.3 do...while

(1) 条件初始化

(2)执行条件判断语句,为true,则继续往下执行,为false,则中断执行

(3)条件控制语句,必须使值满足条件判断,否则会一直往下执行,进入死循环

先执行,后判断

java 复制代码
public class Main {
    public static void main(String[] args) {
        int num = 0;
        do {
            num += 1;
            System.out.println(num);
        }while (num < 10);
    }
}

四、流程控制

4.1 break

终止该层循环 ,跳出循环,不再执行下面的循环。

4.2 continue

跳过该层循环,继续下一层循环。


五、结语

这篇博客大概2400字左右,希望能对你有所帮助,如果有什么问题欢迎留言,我这边有时间就会回。

如果觉得我写的不错的小伙伴,可以帮我点个赞,收藏一下,如果还有什么希望我出的教程可以留言,我会参考。

相关推荐
2601_962071574 小时前
【Java报错已解决】org.springframework.beans.factory.BeanCreationException
java·开发语言
zww89491115 小时前
酒馆预约系统开发实战:从需求分析到上线全流程指南
java·eclipse
淡海水5 小时前
07-04-并发-ConcurrentBag-T-工作窃取WorkStealing算法
开发语言·算法·c#·bag·concurrent·workstealing
CS_Zero6 小时前
C语言sizeof是函数吗?
c语言·开发语言
东风破_6 小时前
从跨域到 WebSocket:前端跨域方案、SSE 与双向实时通信详解
前端·后端
-今昭-7 小时前
《V2V 迁移实战:将 VMware 虚拟机转为 OpenStack 可用 Glance qcow2 镜像》
开发语言·python
zww89491117 小时前
匿名树洞系统开发实战:从需求分析到部署指南
java·eclipse
行百里er7 小时前
Gateway 上别硬塞 MVC:DeferredImportSelector 看菜下锅
spring boot·后端·开源
名字还没想好☜8 小时前
Java 遍历时删元素抛 ConcurrentModificationException:fail-fast 原理与三种正确删法
后端
IT_陈寒8 小时前
React Hooks闭包陷阱差点让我加班到凌晨
前端·人工智能·后端