Java从入门到精通-流程控制(一)

流程控制

Java从入门到精通-流程控制(一)_第1张图片
1.复合语句

复合语句,也称为代码块,是一组Java语句,用大括号 {} 括起来,它们可以被视为单个语句。复合语句通常用于以下情况:

- 在控制结构(如条件语句和循环)中包含多个语句。

- 在方法中定义局部变量的作用域。

示例1:

public class IfStatementExample {
    public static void main(String[] args) {
        int number = 5;
        if (number > 0) {
            System.out.println("这个数是正数");
        }
        // 如果条件为假,代码块将被跳过
        if (number < 0) {
            System.out.println("这个数是负数");
        }
    }
}

在示例1中,我们使用了一个复合语句来计算 z 的值,并在复合语句内部打印它。需要注意的是,z 变量的作用域仅限于复合语句内部,在复合语句外部无法访问。复合语句是组织代码并控制变量作用域的重要工具,你将在编写Java程序时经常遇到它们。

2.条件语句


条件语句是Java编程中的关键元素之一,它允许根据不同的条件执行不同的代码块。在这一部分,我们将探讨两种常见的条件语句:if 条件语句和 switch 多分支语句。

2.1 if条件语句

if 条件语句允许你根据一个条件来执行代码块。如果条件为真,代码块将被执行;如果条件为假,代码块将被跳过。

public class IfStatementExample {
    public static void main(String[] args) {
        int number = 5;
        if (number > 0) {
            System.out.println("这个数是正数");
        }
        // 如果条件为假,代码块将被跳过
        if (number < 0) {
            System.out.println("这个数是负数");
        }
    }
}

在示例2中,我们首先检查 number 是否大于0,如果是,则打印 "这个数是正数"。然后,我们检查 number 是否小于0,但由于条件不满足,第二个 if 代码块被跳过。

除了基本的 `if` 语句,还可以使用 `else` 和 `else if` 来处理多个条件。

示例3:判断数字正、负:

public class ElseIfStatementExample {
    public static void main(String[] args) {
        int number = 0;
        if (number > 0) {
            System.out.println("这个数是正数");
        } else if (number < 0) {
            System.out.println("这个数是负数");
        } else {
            System.out.println("这个数是零");
        }
    }
}

在示例3中,我们首先检查 number 是否大于0,如果是,打印 "这个数是正数"。如果不是,然后检查是否小于0,如果是,打印 "这个数是负数"。如果两个条件都不满足,就执行 else 代码块。

2.2 switch多分支语句

`switch` 语句是一种多分支条件语句,用于根据表达式的值执行不同的代码块。它通常用于处理多个可能的情况。

示例4:根据星期几打印不同的消息:

public class SwitchStatementExample {
    public static void main(String[] args) {
        int dayOfWeek = 3;
        switch (dayOfWeek) {
            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;
            default:
                System.out.println("周末");
        }
    }
}

在示例4中,我们根据 dayOfWeek 的值执行不同的代码块。使用 break 关键字来结束每个 case 分支,以防止继续执行后续分支。如果没有匹配的分支,将执行 default 代码块。

这就是条件语句的基本概念。它们能够根据不同的条件来控制程序的执行流程。接下来,我们将讨论循环语句。

3.循环语句

循环语句是控制程序重复执行一段代码的关键工具。在Java中,有三种主要的循环语句:while 循环,do...while 循环,和 for 循环。我将逐一介绍它们。

3.1 while循环语句

`while` 循环允许你在条件为真的情况下重复执行一段代码块。它在进入循环之前检查条件。

示例5:使用 while 循环计算1到10的和:

public class WhileLoopExample {
    public static void main(String[] args) {
        int sum = 0;
        int i = 1;
        while (i <= 10) {
            sum += i;
            i++;
        }
        System.out.println("1到10的和为:" + sum);
    }
}


在示例5中,我们初始化 sum 为0,然后使用 while 循环从1加到10。i 用于跟踪当前的数字,每次迭代后增加1。

3.2 do...while循环语句

do...while 循环与 while 循环类似,但它首先执行代码块,然后再检查条件。这意味着无论条件是否为真,代码块至少会执行一次。

示例6:使用 do...while 循环验证用户输入的密码:

import java.util.Scanner;
public class DoWhileLoopExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String password;
        
        do {
            System.out.print("请输入密码:");
            password = scanner.nextLine();
        } while (!password.equals("12345"));
        
        System.out.println("密码正确,欢迎进入系统!");
        scanner.close();
    }
}

在示例6中,无论用户输入的密码是否正确,至少会要求用户输入一次密码。

3.3 for循环语句

for 循环是一种灵活的循环,通常用于已知循环次数的情况。它包括初始化、条件和迭代部分。

示例7:使用 `for` 循环输出1到5的数字:

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

在示例7中,使用 for 循环初始化 i 为1,然后在每次迭代后增加1。循环在 i 大于5之前执行。

这些是Java中的常见循环语句。它们允许你有效地重复执行代码块,以完成各种任务。接下来,我们将探讨循环控制语句,包括 break 和 continue。

4.循环控制

循环控制语句允许你更灵活地管理循环的执行流程。在这一部分,我们将介绍两个关键的循环控制语句:break 和 continue。

4.1 break语句

break 语句用于中断循环的执行,无论循环条件是否满足。通常,break 用于在满足某个条件时立即退出循环。

示例8:使用 `break` 来在找到目标值时中断循环:

public class BreakStatementExample {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};
        int target = 3;
        for (int num : numbers) {
            if (num == target) {
                System.out.println("找到目标值:" + num);
                break; // 中断循环
            }
        }
    }
}

在示例8中,我们使用 for 循环遍历一个整数数组,当找到目标值 target 时,使用 break 来中断循环,以避免继续迭代。

4.2 continue语句

continue 语句用于跳过当前循环迭代的剩余代码,然后继续下一次迭代。它通常用于处理特定条件下的情况,而不是完全退出循环。

示例9:使用 `continue` 在遇到偶数时跳过输出:

public class ContinueStatementExample {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            if (i % 2 == 0) {
                continue; // 跳过偶数
            }
            System.out.println(i);
        }
    }
}

在示例9中,当 i 为偶数时,continue 语句将跳过 System.out.println(i); 的执行,然后继续下一次迭代。

break 和 continue 是在循环中控制执行流程的有用工具。它们可以帮助你根据不同的条件中断循环或跳过特定迭代。

5.小结一下

  1. 复合语句是由一组Java语句组成的代码块,通常用大括号 {} 括起来。它们可以用于组织多个语句,也用于限定局部变量的作用域。
  2. 条件语句是用于根据不同条件执行不同代码块的工具。我们介绍了 if 条件语句和 switch 多分支语句。if 允许根据条件执行不同的代码块,而 switch 用于多个可能情况的情况下执行不同的代码块。
  3. 循环语句允许你重复执行一段代码块。我们介绍了 while 循环,do...while 循环和 for 循环。这些循环结构适用于不同的情况,允许你有效地处理已知或未知次数的迭代。
  4. 循环控制语句包括 break 和 continue。break 用于中断循环的执行,而 continue 用于跳过当前迭代的剩余代码。

6.实践练习


条件语句练习:

  • 编写一个程序,接受用户输入的数字,然后判断它是否是偶数或奇数,并输出相应的消息。
  • 创建一个简单的登陆系统,要求用户输入用户名和密码。如果用户名是 "admin" 并且密码是 "password",则显示欢迎消息,否则显示错误消息。
  • 编写一个程序,接受用户输入的年份,然后判断该年份是否为闰年,并输出相应的消息。闰年条件:能被4整除但不能被100整除,或者能被400整除。


循环语句练习:

  • 使用 for 循环打印出1到100的所有奇数。
  • 使用 while 循环找出一个正整数的所有因子。
  • 使用 do...while 循环实现一个猜数字游戏,程序随机生成一个数字,然后提示用户猜数字,直到用户猜中为止。


循环控制语句练习:

  • 使用 break 语句改进上面的猜数字游戏,如果用户连续猜错5次,就自动结束游戏。
  • 使用 continue 语句编写一个程序,打印出1到100的所有数字,但跳过所有包含数字 7 的数字,例如,跳过 7, 17, 27...
  • 创建一个简单的菜单程序,让用户选择不同的选项(例如,1. 添加新项目,2. 查看项目,3. 退出程序)。使用 switch 语句处理用户的选择。

(以上是九个小问题,下次文章回答)
 

 

你可能感兴趣的:(java,开发语言,eclipse,java-ee)