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字左右,希望能对你有所帮助,如果有什么问题欢迎留言,我这边有时间就会回。

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

相关推荐
IT_102432 分钟前
Spring Boot项目开发实战销售管理系统——系统设计!
大数据·spring boot·后端
Fireworkitte1 小时前
Apache POI 详解 - Java 操作 Excel/Word/PPT
java·apache·excel
weixin-a153003083161 小时前
【playwright篇】教程(十七)[html元素知识]
java·前端·html
DCTANT1 小时前
【原创】国产化适配-全量迁移MySQL数据到OpenGauss数据库
java·数据库·spring boot·mysql·opengauss
ai小鬼头2 小时前
AIStarter最新版怎么卸载AI项目?一键删除操作指南(附路径设置技巧)
前端·后端·github
Touper.2 小时前
SpringBoot -- 自动配置原理
java·spring boot·后端
黄雪超2 小时前
JVM——函数式语法糖:如何使用Function、Stream来编写函数式程序?
java·开发语言·jvm
ThetaarSofVenice2 小时前
对象的finalization机制Test
java·开发语言·jvm
思则变2 小时前
[Pytest] [Part 2]增加 log功能
开发语言·python·pytest
一只叫煤球的猫2 小时前
普通程序员,从开发到管理岗,为什么我越升职越痛苦?
前端·后端·全栈