Java三大结构解析之顺序、选择、循环详解

 更新时间:2025年11月26日 10:14:18   作者:H的代码  
Java中的for循环是一种迭代控制结构,通过初始化、条件判断和迭代更新三个步骤,实现对代码块的重复执行,这篇文章主要介绍了Java三大结构解析之顺序、选择、循环的相关资料,需要的朋友可以参考下

顺序结构

  • java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。

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

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

选择结构

if单选择结构

  • 判断语句是否可以执行,可以才去执行操作

if(布尔表达式){
    //如果布尔表达式为true将执行的语句
}
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入内容:");
        String s = scanner.nextLine();

        //squals:判断字符串是否相等
        if (s.equals("Hello")){
            System.out.println(s);
        }
        System.out.println("End");

        scanner.close();
    }

if双选择结构

if(布尔表达式){
    //如果布尔表达式为true将执行的语句
}else{
    //如果布尔表达式为false将执行的语句
}
public static void main(String[] args) {
        //考试分数大于60就是及格,小于60分就是不及格
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入成绩:");
        int score = scanner.nextInt();

        if (score>60){
            System.out.println("及格");
        }else{
            System.out.println("不及格");
        }
        scanner.close();
    }

if多选择结构

if(布尔表达式1){
    //如果布尔表达式1的值为true将执行的语句
}else if(布尔表达式2){
    //如果布尔表达式2的值为true将执行的语句
}else if(布尔表达式3){
    //如果布尔表达式3的值为true将执行的语句
}else{
    //如果以上布尔表达式都不为true将执行的语句
}
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入成绩:");
        int score = scanner.nextInt();


        if (score==100){
            System.out.println("满分");
        }else if (score<100 && score>=90){
            System.out.println("A级");
        }else if (score<90 && score>=80){
            System.out.println("B级");
        }else if (score<80 && score>=70){
            System.out.println("C级");
        }else if (score<70 && score>=60){
            System.out.println("D级");
        }else if (score<60 && score>=0){
            System.out.println("及格");
        }else{
            System.out.println("成绩不合法!");
        }

        scanner.close();
    }

注意:

  • if语句中至多有1个else语句,else语句在所有else if语句之后。

  • if语句可以有若干个else if语句,它们必须在else语句之前。

  • 一旦其中一个else if语句检测为true,其它在else if以及else语句都将跳过在执行。

嵌套的if结构

  • 适用嵌套的if...else语句是合法的。也就是说可以在另一个if或者else if语句中使用if或者else if语句。你可以像if语句一样嵌套else if...else。

if(布尔表达式1){
    //如果布尔表达式1的值为true将执行的语句
    if(布尔表达式2){
        //如果布尔表达式2的值为true将执行的语句
    }
}

switch多选择结构

  • 多选择结构还有一个实现方式就是swich case语句。

  • swich case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

switch(expression){
    case value:
        //语句
        break;  //可选
    case value:
        //语句
        break;  //可选
    //你可以有任意数量的case语句
    default:    //可选
        //语句
}
public static void main(String[] args) {
        //case 穿透,break防穿透
        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;
            default:
                System.out.println("未知等级");
        }
    }
  • switch语句中的变量类型可以是:

    • byte、short、int或者char'。

    • 从java se 7 开始 switch支持字符串String类型了。

    • 同时case标签必须为字符串常量或字面量。

循环结构

  • while循环
while(布尔表达式){
    //循环内容
}
  • 只要布尔表达式为true,循环就会一直执行下去

  • 我们大多数情况下是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。

  • 少部分情况循环一直执行,比如服务器的请求响应监听等。

  • 循环条件一直为true就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循环。会影响程序性能或者造成程序卡死崩溃!

public static void main(String[] args) {
        //输出1到100

        int i = 0;
        while (i<100){
            i++;
            System.out.println(i);
        }
    }
  • do......while循环
  • 对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。

  • do...while循环和while循环相似,不同的是,do...while循环至少会执行一次。

do{
    //代码语句
}while(布尔表达式);
    public static void main(String[] args) {
        int i = 0;
        int sum = 0;

        do {
            sum = sum + i;
            i++;
        }while (i<=100);

        System.out.println(sum);
    }
  • while和do...while的区别:

    • while先判断后执行。do...while是先执行后判断

    • do...while总是保证循环体会被至少执行一次!这是他们的主要差别。

public static void main(String[] args) {
        int a = 0;

        while (a<0){
            System.out.println(a);
            a++;
        }
        System.out.println("-------------------");
        do {
            System.out.println(a);
            a++;
        }while (a<0);
    }
  • for循环
  • 虽然所有循环都可以用while或者do...while表示,但java提供了另一种语句---for循环,使一些循环结构变得更加简单。

  • for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。

  • for循环执行的次数是在执行前就能确定的。语法规则如下:

for(初始化;布尔表达式;更新){
    //代码语句
}
public static void main(String[] args) {

        //  初始化      条件判断    迭代、更新
        for (int i = 1; i <= 100; i++) {
            System.out.println(i);  //循环体
        }
        System.out.println("for循环结束!");

    }

总结 

到此这篇关于Java三大结构解析之顺序、选择、循环的文章就介绍到这了,更多相关Java结构解析顺序、选择、循环内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring boot中自定义Json参数解析器的方法

    Spring boot中自定义Json参数解析器的方法

    这篇文章主要介绍了Spring boot中自定义Json参数解析器的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • JAVA中split函数的常见用法实例

    JAVA中split函数的常见用法实例

    Java中我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面这篇文章主要给大家介绍了关于JAVA中split函数的常见用法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • 一文搞懂Mybatis的工作原理

    一文搞懂Mybatis的工作原理

    MyBatis和Spring的执行过程包括启动阶段和运行阶段,启动阶段定义和解析配置文件,运行阶段读取配置文件并实现功能,执行SQL的逻辑包括代理类的生成、SQL的执行、缓存和查询数据库,本文给大家介绍Mybatis的工作原理,感兴趣的朋友跟随小编一起看看吧
    2025-11-11
  • Java Spring boot实现生成二维码

    Java Spring boot实现生成二维码

    大家好,本篇文章主要讲的是Java Spring boot实现生成二维码,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • SpringBoot打jar包遇到的xml文件丢失的解决方案

    SpringBoot打jar包遇到的xml文件丢失的解决方案

    这篇文章主要介绍了SpringBoot打jar包遇到的xml文件丢失的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Java基于自定义类加载器实现热部署过程解析

    Java基于自定义类加载器实现热部署过程解析

    这篇文章主要介绍了Java基于自定义类加载器实现热部署过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • 一文讲通Java为什么不支持多继承原理

    一文讲通Java为什么不支持多继承原理

    这篇文章主要为大家介绍了java为什么不支持多继承原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • java 移动文件,并修改名称方式

    java 移动文件,并修改名称方式

    这篇文章主要介绍了java 移动文件,并修改名称方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • java设计模式之简单工厂模式详解

    java设计模式之简单工厂模式详解

    这篇文章主要介绍了java设计模式之简单工厂模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Spring Cloud  Hystrix实现服务容错的方法

    Spring Cloud  Hystrix实现服务容错的方法

    Hystrix是SpringCloud中重要的熔断保护组件,由Netflix开源,主要提供延迟和容错管理,以保障分布式系统的高可用性和鲁棒性,通过封装依赖项实现服务间隔离,引入回退逻辑应对依赖服务故障,有效防止系统崩溃和服务级联故障
    2024-10-10

最新评论