程序流程控制

本文详细介绍了Java编程中的顺序结构、分支结构(包括if、if-else、if-else-if和switch)、以及循环结构(for、while、do-while和嵌套循环),帮助读者理解基础控制结构在实际编程中的应用和注意事项。
摘要由CSDN通过智能技术生成

程序流程控制

顺序结构

Java的基本结构就是顺序结构,除非特别指明,否则就按照由上到下的顺序一句一句的执行。

顺序结构是最简单的算法结构。

语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个一次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。分支结构

 System.out.println(1);
 System.out.println(2);
 System.out.println(3);
 // 顺序执行 输出 1、2、3 这就叫做从上到下执行的顺序结构

分支结构

if分支

if单选择结构
  • 在写程序的过程中,经常会判断一个东西是否可行,然后才去执行代码,也就是如果为布尔值true就执行,如果为布尔值false就不执行
public class Demo {
    public static void main(String[] args) {
        int a = 8;
        if (a == 8){
            System.out.println("满足条件,从第一个出口输出");
        }
    }
}
if双选择机构

在程序实际开发场景中,会有很多类似:判断某一个东西可行然后执行一些代码,否则执行另一段代码。

public class Demo {
    public static void main(String[] args) {
        int a = 8;
        if (a > 8){
            System.out.println("满足条件,从第一个出口输出");
        } else {
            System.out.println("第一个条件不满足,直接执行第二条语句体");
        }
    }
}
多重if选择结构

比双选择if结构更复杂的业务场景,就要用到嵌套的if结构,比如:不断地判断某个东西是否符合条件,判断符合就执行对应的处理方法。

package d3_if;
public class ifDemo4 {
    public static void main(String[] args) {
        //需求:针对成绩进行判断,大于90分 打印优秀 大于80分 打印良好 大于 60分 打印需要加油 否则 不及格
        //定义一个变量 保存成绩
        double score = 50;
        //条件判断
        if(score > 90){
            System.out.println("成绩优秀");
        }else if(score >= 80){
            System.out.println("成绩良好");
        }else if(score >= 60){
            System.out.println("需要加油");
        }else{
            System.out.println("成绩不及格");
        }
    }
}
提示

第二个判断条件前的else if和if区别很大,注意区分,else if表示上一个条件不满足则判断这个条件是否满足,满足则直接跳出,if的话会把每个一个if的条件语句全部判断一次,可能会执行一个以上的语句体,但前者只会执行一个满足条件的语句体。

if(条件){},()后不能跟“;”否则{}中的代码将不受if的控制了。;代表该行代码结束运行。

如果if语句的{}中只有一行代码的情况,{}可以省略不写(但是不推荐省略)。

public class Demo {
    public static void main(String[] args) {
        double score = 95;
        //条件判断
        if(score >= 60){
            System.out.println("及格了");
        }if(score >= 80){
            System.out.println("还需要努力");
        }if(score >= 90){
            System.out.println("优秀");
        }if(score > 95){
            System.out.println("很优秀");
        }
    }
}

switch分支

switch的注意事项

概述:switch分支是通过比较值来决定执行哪条分支。

switch分支的执行流程:

①先执行表达式的值,再拿着这个值去与case后的值进行匹配。

②与哪个case后的值匹配为true就执行哪个case块的代码,遇到break就跳出switch分支。

③如果全部case后的值与之匹配都是false,则执行default块的代码。

if、switch的比较:

各自适合什么业务场景?

①if其实在功能上远远强大于switch。

②if适合做条件是区间判断的情况。

③switch适合做:条件是比较值的情况、代码优雅、性能较好。

使用switch时有哪些注意事项?

①表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7开始支持String、不支持double、float、long。

②case给出的值不允许重复,且只能是字面量,不能是变量。

③正常使用switch的时候,不要忘记写break,否则会出现穿透现象。

switch穿透性能解决什么问题?

存在多个case分支的代码是一样时,可以把代码写到一个case块,其他case块通过穿透性能,穿透到该case块即可,这样可以简化代码。

switch案例
public class Demo {
    public static void main(String[] args) {
        int i = 2;
        switch(i){
            case 1:
                System.out.println("结果是1");
                break;//结束标记 不写break就会发生case穿透
            case 2:
                System.out.println("结果是2");
                break;
            case 3:
                System.out.println("结果是3");
                break;
            //case 数量不限
            default: // 相当于else,以上判断都不成立执行
                System.out.println("结果未知");
        }
    }
}

循环结构

for循环

while循环

do-while循环

死循环

循环嵌套

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值