Java基础04 控制流程

前言

Java 使用条件语句和循环语句确定控制流程。

本文的主要内容包含:

  • if...else 条件语句
  • while 循环
  • for 循环
  • switch 语句
  • 中断控制流程语句

if...else 条件语句

在 Java 中,条件语句的格式为:

if (condition) statement

例如:

public static void main(String[] args) {
  int m = 10;
  int n = 9;
  if (m > n) System.out.println("m 比 n 大");
}

执行上面代码,因为m > n的结果为true,所以控制台将打印 m 比 n 大

如果希望在某个条件为真时执行多条语句,则应该使用块语句将多条语句括起来。

块(即复合语句)是指由一对花括号括起来的若干条简单的 Java 语句。块确定了变量的作用域。一个块可以嵌套在另一个块中。不能在嵌套的两个块中声明同名的变量。

public class ControlFlow {

    public static void main(String[] args) {
        int m = 10;
        int n = 9;
        if (m > n) {
           System.out.println("m 比 n 大");
           System.out.println("n 比 m 小");
        }
    }
}

当 if 后面的括号中,表达式的值为true时,就会执行{}里的语句。

当 if 后面的括号中,表达式的值为false时,可以在{}后加 else {}。例如:

public class ControlFlow {

    public static void main(String[] args) {
        int m = 10;
        int n = 9;
        if (m < n) {
           System.out.println("m 比 n 小");
        } else {
        	 System.out.println("m 比 n 大");
        }
    }
}                                                                      

执行上面代码,因为m < n的结果为false,所以程序将执行else 后面的花括号里的语句,控制台会打印 m 比 n 大

当存在多种条件时,还可以使用if...else if...格式的条件语句。

while 循环

当条件为 true 时,while 循环执行一条语句(也可以是一个语句块)。常用的格式为:

while (condition) statement

如果开始循环条件的值就为 false ,则 while 循环体一次也不执行。

如果希望循环体至少循环一次,则应该将检测条件放在最后。使用 do/while 循环语句可以实现这种操作。它的语法格式为:

do statement while (condition)

for 循环

for 循环语句是支持迭代的一种通用结构,利用每次迭代之后更新的计数器或类似的变量来控制迭代次数。

下面的程序将在控制台输出数字 1~10

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

for 循环语句的第 1 部分通常用于对计数器初始化;第 2 部分给出每次新一轮循环执行前要检查的循环条件;第 3 部分指示如何跟新计数器。

Java 还有一种循环结构,可以用来一次处理数组(或者其他类型的元素集合)中的每个元素。这种循环结构叫做“通用 for 循环”(又称为 for each 循环),这是 Java SE 5.0 新增加的一种循环结构。

for each 循环的语法格式为:

for (uariable : collection) statement

定义一个变量 uariable 用于暂存集合中的每一个元素,并执行相应的语句或语句块。

collection 这一集合表达式必须是一个数组或者是一个实现了 Iterable 接口的类对象,例如 ArrayList

for each 循环相比传统 for 循环的优点

  1. 更加简洁
  2. 更不易出错。不必为下标的起始值和终止值而操心。

switch 语句

在处理多个选项时,可以使用 switch 语句

public static void main(String[] args) {
  int i = 3;
  switch (i) {
    case 1:
      System.out.println("i的值为1");
      break;
    case 2:
      System.out.println("i的值为2");
      break;
    case 3:
      System.out.println("i的值为3");
      break;
    default:
      System.out.println("未设置 i 的值");
      break;
 }
}

switch 语句将与选项值相匹配的 case 标签处开始执行直到遇到 break 语句,或者执行到 switch 语句的结束处为止。如果没有相匹配的 case 标签,而有 default 子句,则执行 default 子句。

上面程序中,i 的值为 3,所有会执行 case 3 后的语句,遇到 break 语句停止。

注意:如果在 case 分支语句的末尾没有 break 语句,则会接着执行下一个 case 分支语句。

case 标签可以是:

  • 类型为 char,byte,short 或 int 的常量表达式
  • 枚举常量
  • 从 Java SE 7 开始,case 标签还可以是字符串字面量

中断控制流程语句

break:中断全部控制流程

continue:中断当前控制流程,执行下一个控制流程

(全文完)

原文地址:https://www.cnblogs.com/yinwenbing/p/6759616.html