【Java SE语法篇】4.程序逻辑控制

这篇具有很好参考价值的文章主要介绍了【Java SE语法篇】4.程序逻辑控制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Java SE语法篇】4.程序逻辑控制,Java,Java SE语法,java,开发语言

📚博客主页:爱敲代码的小杨.

✨专栏:《Java SE语法》

❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️
【Java SE语法篇】4.程序逻辑控制,Java,Java SE语法,java,开发语言

1. 顺序结构

顺序结构比较简单,按照代码书写的顺序一行一行执行。

public class Test {
    public static void main(String[] args) {
        System.out.println("aaa");
        System.out.println("bbb");
        System.out.println("ccc");
        /* 运行结果
            aaa
            bbb
            ccc
         */
    }
}

如果调整代码的书写顺序, 则执行顺序也发生变化。

public class Test {
    public static void main(String[] args) {
        System.out.println("aaa");
        System.out.println("ccc");
        System.out.println("bbb");
        /* 运行结果
            aaa
            ccc
            bbb
         */
    }
}

2. 分支结构(选择结构)

它的作用是根据判断的条件是否成立(真或假),来决定后续代码执行顺序。

举例:

如同在岔路口做选择。不同的选择会带来不同的路径及结果。

【Java SE语法篇】4.程序逻辑控制,Java,Java SE语法,java,开发语言

2.1 if 语句

  1. 语法格式1

    if (布尔表达式) {
        // 语句
    }
    

    如果布尔表达式结果为true,执行if中的语句,否则不执行。

    执行流程:

    【Java SE语法篇】4.程序逻辑控制,Java,Java SE语法,java,开发语言

    举例:小明,如果这次考试考60分或以上就不挂科。

    public class Test {
        public static void main(String[] args) {
            int score = 90;
            if (score >= 60) {
                System.out.println("不挂科");
            }
        }
    }
    
  2. 语法格式2

    if (布尔表达式) {
        // 语句
    } else {
        // 语句
    }
    

    如果布尔表达式结果为true,执行if中的语句,执行else中的语句。

    执行流程:

    【Java SE语法篇】4.程序逻辑控制,Java,Java SE语法,java,开发语言

    举例:小明,如果这次考试考60分或以上就不挂科,没有考到60分就挂科。

    public class Test {
        public static void main(String[] args) {
            int score = 90;
            if (score >= 60) {
                System.out.println("不挂科");
            } else {
                System.out.println("挂科");
            }
        }
    }
    
  3. 语法格式3

    if(布尔表达式1){
        // 语句1
     }else if(布尔表达式2){
        // 语句2
     }else{
        // 语句2
    }
    

    表达式1成立,执行语句1,否则表达式2成立,执行语句2,否则执行语句3

    比如:考虑到学生自尊,不公开分数排名,因此:

    • 分数在 [90, 100] 之间的,为优秀
    • 分数在 [80, 90) 之前的,为良好 分数在 [70, 80) 之间的,为中等
    • 分数在 [60, 70) 之间的,为及格 分数在 [ 0, 60) 之间的,为不及格
    • 错误数据

    按照上述办法通知学生成绩。

    public class Test {
        public static void main(String[] args) {
            int score = 90;
            if(score >= 90){
                System.out.println("优秀");
            }else if(score >= 80 && score < 90){
                System.out.println("良好");
            }else if(score >= 70 && score < 80){
                System.out.println("中等");
            }else if(score >= 60 && score < 70){
                System.out.println("及格");
            }else if(score >= 0 && score < 60){
                System.out.println("不及格");
            }else{
                System.out.println("错误数据");
            }
        }
    }
    

【注意事项】:

  • 代码风格

     // 风格1-----> 推荐
    int x = 10;
     if (x == 10) {
        // 语句1
     } else {
        // 语句2
     }
     
    // 风格2
    int x = 10;
     if (x == 10)
     {
        // 语句1
     }
     else
     {
        // 语句2
     }
    

    虽然两种方式都是合法的, 但是 Java 中更推荐使用风格1,代码跟紧凑。

  • 分号问题

    int x = 20;
    if (x == 10); 
    {
        System.out.println("hehe");
    }
     
    // 运行结果
    hehe
    

    此处多写了一个 分号, 导致分号成为了 if 语句的语句体, 而 { } 中的代码已经成为了和一个 if 无关的代码块,所以运行结果是haha,而不是空白。

  • 悬垂 else 问题

    int x = 10;
    int y = 10;
     if (x == 10) 
        if (y == 10)
            System.out.println("aaa");
    else 
        System.out.println("bbb");
    

    if else 语句中可以不加大括号 . 但是也可以写语句(只能写一条语句). 此时 else 是和最接近的 if 匹配. 但是实际开发中我们不建议这么写. 最好加上大括号.

    【Java SE语法篇】4.程序逻辑控制,Java,Java SE语法,java,开发语言

2.2 switch 语句

基本语句

switch(表达式){
    case 常量值1:{
        语句1;
        [break;]
        }
    case 常量值2:{
        语句2;
        [break;]
        }
    ...
    default:{
        内容都不满足时执行语句;
        [break;]
        }       
 }

执行流程:

  1. 先计算表达式的值
  2. case依次比较,一旦有响应的匹配就执行该项下的语句,直到遇到break时结束
  3. 当表达式的值没有与所列项匹配时,执行default

代码示例:

public class Test {
    public static void main(String[] args) {
        String week = "周四";
        switch (week) {
            case "周一":
                System.out.println("埋头苦干,写程序");
                break;
            case "周二":
                System.out.println("请求学长帮忙解决bug");
                break;
            case "周三":
                System.out.println("今晚烧烤、小龙虾");
                break;
            case "周四":
                System.out.println("帮助学妹解决bug");
                break;
            case "周五":
                System.out.println("今晚吃鸡");
                break;
            case "周六":
                System.out.println("上GitHub交友");
                break;
            case "周日":
                System.out.println("郁郁寡欢、准备上课");
            default:
                System.out.println("输入错误");
        }
    }
}

【注意事项】:

  • 多个case后的常量值不可以重复

  • switch的括号内只能是以下类型的表达式:

    • 基本类型:byte、char、short、int,注意不能是long类型
    • 引用类型:String常量串、枚举类型
  • break 不要遗漏, 否则会失去 “多分支选择” 的效果

    int day = 1;
    switch(day) {
        case 1:
            System.out.println("星期一");
            // break;
        case 2:
            System.out.println("星期二");
            break;
     }
    // 运行结果
    星期一
    星期二
    
  • switch 不能表达复杂的条件

    // 例如: 如果 num 的值在 10 到 20 之间, 就打印 hehe
     // 这样的代码使用 if 很容易表达, 但是使用 switch 就无法表示. 
    if (num > 10 && num < 20) {
        System.out.println("hehe");
    }
    
    
  • switch 虽然支持嵌套, 但是很丑,一般不推荐

    public class Test {
        public static void main(String[] args) {
            int x = 1;
            int y = 1;
            switch(x) {
                case 1:
                    switch(y) {
                        case 1:
                            System.out.println("hehe");
                            break;
                    }
                    break;
                case 2:
                    System.out.println("haha");
                    break;
            }
        }
    }
    

综上, 我们发现, switch的使用局限性是比较大的

3. 循环结构

循环结构它是在满足条件的情况下,反复执行某一段代码的计算过程。

举例:

我们要围着操场跑 5 圈,跑圈这个行为就重复了 5 次,也就是循环了 5 次。

【Java SE语法篇】4.程序逻辑控制,Java,Java SE语法,java,开发语言

3.1 while 语句

基本格式:

while (循环条件) {
    // 语句
}

执行流程:

【Java SE语法篇】4.程序逻辑控制,Java,Java SE语法,java,开发语言

首先执行判断表达式,表达式的值为false,循环直接结束;表达式的值为true,则执行循环语句,语句执行完后再继续判断,是否进行下一次判断。

代码示例:打印1~10的值

public class Test {
    public static void main(String[] args) {
        int i = 1;
        while (i <= 10) {
            System.out.println(i);
            i++;
        }
    }
}

3.2 for 语句

基本格式:

for (表达式1;表达式2;表达式3) {
    // 语句
}

表达式1:用于循环变量的初始化
表达式2:用于循环结束条件的判断
表达式3:用于循环变量的调整

执行流程:

首先执行表达式1初始化循环变量,接下来就是执行表达式2的判断部分,表达式2的结果如果为false,则循环结束;如果表达式2的结果为true,则执行循环语句,循环语句执行完后,再去执行表达式3,调整循环变量,然后再去表达式2的地方执行判断,表达式2的结果是否为false,决定循环是否继续。
整个循环的过程中,表达式1初始化部分只被执行1次,剩下的就是表达式2、循环语句、表达式3在循环

【Java SE语法篇】4.程序逻辑控制,Java,Java SE语法,java,开发语言

代码示例:打印1~10的值

public class Test {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            System.out.println(i);
        }
    }
}

3.3 do…while循环

基本格式:

do{
    语句
}while(表达式);

whilefor 这两种循环都是先判断,条件如果满足就进入循环,执行循环语句,如果不满足就跳出循环;
do...while 循环则是先直接进入循环体,执行循环内部,然后在执行 while 后的判断表达式,表达式为真,就会进行下一次,表达式为false,则不再继续循环。

执行流程:

do...while 循环中先执行图上的“语句”,执行完语句,在去执行“判断表达式”,在判断表达式的结果是true,则继续循环,执行循环;判断表达式的结果false,则循环结束。
所以在do...while 语句中循环体是至少执行一次的,这是do...while 循环比较特殊的地方。

【Java SE语法篇】4.程序逻辑控制,Java,Java SE语法,java,开发语言

代码示例:打印1~10的值

public class Test {
    public static void main(String[] args) {
        int i = 1;
        do {
            System.out.println(i);
            i++;
        } while (i <= 10);
    }
}

3.4 while语句 和 for语句的对比

【Java SE语法篇】4.程序逻辑控制,Java,Java SE语法,java,开发语言

4. break和continue

在循环执行的过程中,如果某些状况发生的时候,需要提前终止循环。

  • break 的作用是用于永久的终止循环,只要break 被执行,直接就会跳出循环,继续往后执行。

    代码示例:找到100~200之间的第一个3的倍数

    public class Test {
        public static void main(String[] args) {
            for (int num = 100; num <= 200; num++) {
                if (num % 3 == 0) {
                    System.out.println(num);
                    break;
                }
            }
        }
    }
    // 运行结果 102
    
  • continue 的作用是跳出本次循环 continue 后边的代码

    代码示例:找到100~200中的所有3的倍数文章来源地址https://www.toymoban.com/news/detail-790791.html

    public class Test {
        public static void main(String[] args) {
            for (int num = 100; num <= 200; num++) {
                if (num % 3 == 0){
                    System.out.println(num);
                    continue;
                }
            }
        }
    }
    

到了这里,关于【Java SE语法篇】4.程序逻辑控制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java SE语法篇】10.String类

    📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 在程序开发中经常会用到字符串。字符串是指一连串的字符,它是由许多单个字符连接而成的,如多个英文字母所组成的英文单词。字符串

    2024年01月17日
    浏览(34)
  • 【Java SE语法篇】9.抽象类和接口

    📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 在面向对象的概念中,所有的对象都是通过类来描绘的,但是放过来,并不是所有的类都是用来描绘对象的, 如果一个类中没有包含足够的

    2024年01月19日
    浏览(49)
  • 【Java SE语法篇】7.面向对象——类和对象

    📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 面向对象程序设计(object-oriented programming,OOP),是当今主流的程序设计范畴,它取代了20世纪70年代的”结构化“或过程式编程技术。 面向对

    2024年01月22日
    浏览(49)
  • 【Java SE语法篇】8.面向对象三大特征——封装、继承和多态

    📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 面向对象三大特性:封装、继承和多态。 在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部

    2024年02月01日
    浏览(57)
  • 【JAVA】java中的逻辑控制

     作者主页:paper jie的博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVASE语法系列》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造,将javaSE基础知识一网打尽,希望可以帮到读者们哦。 其他专栏

    2024年02月15日
    浏览(36)
  • Java-逻辑控制语句

    在Java语法中,顺序结构是一种基本的程序控制结构,用于按照代码的 编写顺序 依次执行语句。 顺序结构没有条件或循环的判断,它的执行是线性的, 从上到下依次执行 每条语句。 代码示例 : 效果图 : 在Java语法中,if语句是一种条件控制语句,用于根据一个布尔表达式

    2024年02月05日
    浏览(42)
  • 【Java基础篇】逻辑控制

    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏 :Java.SE,本专栏主要讲解运算符,程序逻辑控制,方法的使用,数组的使用,类和对象,继承和多态,抽象类和接口等内容 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 顺

    2024年02月06日
    浏览(36)
  • Java逻辑控制

    逻辑控制 【本节目标】 Java中程序的逻辑控制语句 Java中的输出输入方式 完成猜数字游戏 1.概述 我的曾经 : 早上8:00起床---洗漱---吃早饭---上课---吃午饭---上课---运动---吃完饭---玩手机---睡觉 每天的生活貌似都是这么规律,顺序的做着每件事,前途一片渺茫~~~ 直到有一天

    2024年04月26日
    浏览(30)
  • Java-逻辑控制

    目录 一、顺序结构 二、分支结构         1.if语句           2.swich语句 三、循环结构         1.while循环         2.break         3.continue         4.for循环         5.do while循环 四、输入输出         1.输出到控制台         2.从键盘输入         按照代码的书写

    2024年02月15日
    浏览(51)
  • Java入门篇 之 逻辑控制

    博主的文章希望对大家有所帮助 今日份励志文案: 凌空虚度,难成千秋伟业;求真务实,方能善作善成 冲冲冲!!!!! 目录 一.if~else语句  1.1.if-else语句基本用法: 1.2.代码演示  二.switch~case语句  2.1 switch~case语句基本用法: 2.2.代码演示 ​编辑三.while语句 3.1while语句基本

    2024年02月07日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包