编程之舞:流程控制乐章

简介: 编程之舞:流程控制乐章

1. 复合语句

复合语句是由一对花括号括起来的语句块,可以包含多个语句。一般用于控制流程的执行顺序。


示例代码:

public class CompoundStatementExample {
    public static void main(String[] args) {
        int a = 5;
        int b = 10;
        // 复合语句开始
        {
            int c = a + b;
            System.out.println("c = " + c);
        }
        // 复合语句结束
        // 其他语句
        System.out.println("a = " + a);
        System.out.println("b = " + b);
    }
}

代码运行结果:


c = 15
a = 5
b = 10

代码分析:


复合语句中的变量c是局部变量,只在复合语句的作用域内有效。

其他语句中的变量a和b是全局变量,在整个main函数的作用域内有效。

2. 条件语句

条件语句用于根据条件的不同来执行不同的代码块。


2.1 if条件语句

if语句根据给定的条件判断是否执行特定的代码块。


示例代码:

public class IfStatementExample {
    public static void main(String[] args) {
        int x = 10;
        if (x > 5) {
            System.out.println("x大于5");
        } else {
            System.out.println("x小于等于5");
        }
    }
}

代码运行结果:

x大于5

代码分析:


如果x的值大于5,则执行if条件语句中的代码块,否则执行else中的代码块。

2.2 switch多分支语句

switch语句根据给定的表达式的值,从多个选项中选择一个分支执行。


示例代码:

public class SwitchStatementExample {
    public static void main(String[] args) {
        int day = 3;
        String dayOfWeek;
        switch (day) {
            case 1:
                dayOfWeek = "星期一";
                break;
            case 2:
                dayOfWeek = "星期二";
                break;
            case 3:
                dayOfWeek = "星期三";
                break;
            default:
                dayOfWeek = "未知";
                break;
        }
        System.out.println("今天是" + dayOfWeek);
    }
}

代码运行结果:

今天是星期三

代码分析:


根据day的值,选择相应的分支执行。如果找不到匹配的分支,则执行default分支。

3. 循环语句

循环语句用于重复执行一段代码,直到给定的条件不再满足为止。


3.1 while循环语句

while循环语句在执行循环体之前先判断条件是否成立,如果条件成立,则执行循环体。


示例代码:

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

代码运行结果:

i = 1
i = 2
i = 3
i = 4
i = 5

代码分析:


在每次循环开始时,先判断i <= 5的条件是否成立。

如果条件成立,则执行循环体中的代码,然后将i的值加1。

循环会一直执行,直到条件不再满足为止。

3.2 do…while循环语句

do...while循环语句先执行一次循环体,再判断条件是否成立,如果条件成立,则继续执行循环体。


示例代码:

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

代码运行结果:

i = 1
i = 2
i = 3
i = 4
i = 5

代码分析:


在每次循环开始时,先执行循环体中的代码。

然后判断i <= 5的条件是否成立。

如果条件成立,则继续执行循环体。

循环会一直执行,直到条件不再满足为止。

3.3 for循环语句

for循环语句在执行循环之前执行一次初始化语句,然后判断条件是否成立,如果条件成立,则执行循环体,并执行循环后操作。


示例代码:

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

代码运行结果:

i = 1
i = 2
i = 3
i = 4
i = 5

代码分析:


在循环开始之前,先执行int i = 1的初始化语句。

每次循环开始时,先判断i <= 5的条件是否成立。

如果条件成立,则执行循环体中的代码,然后执行i++的循环后操作。

循环会一直执行,直到条件不再满足为止。

4. 循环控制

循环控制用于在循环体内部控制循环的执行流程。


4.1 break语句

break语句用于立即退出循环,不再执行循环体中剩余的代码。


示例代码:

public class BreakStatementExample {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            if (i == 3) {
                break;
            }
            System.out.println("i = " + i);
        }
    }
}

代码运行结果:

i = 1
i = 2

代码分析:


在循环体中使用if条件判断,当i等于3时,执行break语句退出循环。

因此,循环体只会执行两次,输出结果为1和2。

4.2 continue语句

continue语句用于跳过当前循环迭代,继续执行下一次循环迭代。


示例代码:

public class ContinueStatementExample {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            if (i == 3) {
                continue;
            }
            System.out.println("i = " + i);
        }
    }
}

代码运行结果:

i = 1
i = 2
i = 4
i = 5

代码分析:


在循环体中使用if条件判断,当i等于3时,执行continue语句跳过当前循环迭代。

因此,循环体不会执行输出语句,输出结果为1、2、4、5。

5. 实践与练习

在学习完流程控制和循环控制后,可以尝试以下练习并进行实践:


编写一个程序,使用循环语句输出1到100之间所有的偶数。

编写一个程序,使用循环语句计算1到10之间所有整数的和并输出结果。

编写一个程序,使用循环语句计算阶乘并输出结果。提示:阶乘是指从1乘到给定的数,如4的阶乘为1 x 2 x 3 x 4 = 24。

可以通过编写代码实现以上练习,并运行程序查看结果。


编写一个程序,使用循环语句输出1到100之间所有的偶数。

for (int i = 1; i <= 100; i++) {
    if (i % 2 == 0) {
        System.out.println(i);
    }
}

代码分析:

以上代码使用for循环,从1到100遍历所有数字,通过判断i是否能被2整除来判断是否为偶数,如果是偶数则输出。


编写一个程序,使用循环语句计算1到10之间所有整数的和并输出结果。

int sum = 0;
for (int i = 1; i <= 10; i++) {
    sum += i;
}
System.out.println("1到10的和为: " + sum);

代码分析:

以上代码使用for循环,从1到10遍历所有整数,将每个整数累加到变量sum中,最后输出sum的值。


编写一个程序,使用循环语句计算阶乘并输出结果。

int n = 4;  // 计算4的阶乘
int factorial = 1;
for (int i = 1; i <= n; i++) {
    factorial *= i;
}
System.out.println(n + "的阶乘为: " + factorial);

代码分析:

以上代码使用for循环,从1到给定的数n遍历,将每个数字相乘并赋值给变量factorial,最后输出factorial的值作为阶乘的结果。在这个例子中,计算的是4的阶乘。


相关文章
|
JavaScript 前端开发 开发工具
在使用智能媒体服务接入直播剪辑Web SDK时
在使用智能媒体服务接入直播剪辑Web SDK时
187 7
Python中的生成器函数与迭代器——提升代码效率的利器
生成器函数和迭代器是Python中强大的编程工具,它们能够提升代码的效率和可读性。本文将介绍生成器函数和迭代器的概念,并通过示例代码展示它们在实际开发中的应用,帮助读者更好地理解和运用这些技术。
|
机器学习/深度学习 算法 TensorFlow
TensorFlow 深度学习实战指南:1~5 全(4)
TensorFlow 深度学习实战指南:1~5 全
213 0
|
存储 Dubbo Java
Dubbo整合seata实现分布式事务
Dubbo整合seata实现分布式事
软件著作权申请流程及费用by阿里云
阿里云计算机软件著作权登记20天下证,那么如何申请阿里云软件著作权登记呢?阿里云百科来详细说下注册账号、实名认证、软件著作权选择、信息填写、纸质材料邮寄一直到版权中心审查和下证详细说明:
374 0
软件著作权申请流程及费用by阿里云
2022跨年代码(HTML·资源都是网上的可以直接使用)
2022跨年代码(HTML·资源都是网上的可以直接使用)
1595 1
2022跨年代码(HTML·资源都是网上的可以直接使用)
|
异构计算 openCL 并行计算
NVIDIA Tesla GPU系列P4、T4、P40以及V100参数性能对比
NVIDIA Tesla系列GPU适用于高性能计算(HPC)、深度学习等超大规模数据计算,Tesla系列GPU能够处理解析PB级的数据,速度比使用传统CPU快几个数量级,NVIDIA Tesla GPU系列P4、T4、P40以及V100是Tesla GPU系列的明星产品,云服务器吧分享NVIDIA Tesla GPU系列P4、T4、P40以及V100参数性能对比:
|
存储 分布式计算 大数据
好程序员大数据入门学习之Hadoop技术优缺点
  **好程序员**大数据培训的终极目标是将你培养成一名“复合型”研发人才,让你自己在掌握相关大数据技术的同时,也能够赢得一份高薪职位!好程序员大数据开发采用“T”字形的思维,以大数据的深度为主,以机器学习、云计算等作为宽度,相辅相成。
1969 0
|
监控 网络协议 索引