📅  最后修改于: 2020-02-12 15:22:56             🧑  作者: Mango
编程中的决策类似于现实生活中的决策。在编程中,我们还会遇到某些情况,即当满足某些条件时,我们希望执行特定的代码块。
编程语言使用控制语句根据某些条件来控制程序的执行流程。这些用于根据程序状态的更改使执行流程前进和分支。
Java的Selection语句:
这些语句使您可以根据仅在运行时已知的条件来控制程序的执行流程。
if(condition)
{
// 条件为真执行
}
在此,评估后的条件为真或假。if语句接受布尔值:如果该值为true,则它将执行其下的语句块。
如果我们没有在if(condition)之后提供大括号'{‘和’}’,则默认情况下,if语句将认为只有一个语句放在其块内。例如,
if(condition)
statement1;
statement2;
// 这里是有statement1被执行
流程图:
示例:
// Java代码,展示if条件语句
class IfDemo
{
public static void main(String args[])
{
int i = 10;
if (i > 15)
System.out.println("10小于15");
// 这句话将被执行
System.out.println("if之外");
}
}
输出:
if之外
if (condition)
{
// 条件为真,执行
}
else
{
// 条件为假,执行
}
例:
// Java程序执行if-else条件语句
class IfElseDemo
{
public static void main(String args[])
{
int i = 10;
if (i < 15)
System.out.println("i小于15");
else
System.out.println("i大于15");
}
}
输出:
i小于15
if (condition1)
{
// 条件1为True执行
if (condition2)
{
// 条件2为真执行
}
}
例:
// Java程序,展示嵌套if语句
class NestedIfDemo
{
public static void main(String args[])
{
int i = 10;
if (i == 10)
{
// 第一个if语句
if (i < 15)
System.out.println("i小于15");
// 嵌套if语句
if (i < 12)
System.out.println("i也小于12");
else
System.out.println("i大于15");
}
}
}
输出:
i小于15
i也小于12
if (condition)
statement;
else if (condition)
statement;
.
.
else
statement;
例:
// Java程序展示if-else-if阶梯
class ifelseifDemo
{
public static void main(String args[])
{
int i = 20;
if (i == 10)
System.out.println("i = 10");
else if (i == 15)
System.out.println("i = 15");
else if (i == 20)
System.out.println("i = 20");
else
System.out.println("i不存在");
}
}
输出:
i = 20
switch (expression)
{
case value1:
statement1;
break;
case value2:
statement2;
break;
.
.
case valueN:
statementN;
break;
default:
statementDefault;
}
例:
// Java程序,展示switch-case用法
class SwitchCaseDemo
{
public static void main(String args[])
{
int i = 9;
switch (i)
{
case 0:
System.out.println("i = 0.");
break;
case 1:
System.out.println("i = 1.");
break;
case 2:
System.out.println("i = 2.");
break;
default:
System.out.println("i 大于 2.");
}
}
}
输出:
i 大于 2.
使用break退出循环
使用break,我们可以强制条件循环的立即终止,从而绕过条件表达式和循环体内的所有剩余代码。
注意:Break在一组嵌套循环中使用时,只会从最内层循环中突破。
例:
编辑
play_arrow
bright_5
// Java程序,展示使用break跳出循环
class BreakLoopDemo
{
public static void main(String args[])
{
// 循环被设定在0-9运行
for (int i = 0; i < 10; i++)
{
// i = 5的时候结束循环
if (i == 5)
break;
System.out.println("i: " + i);
}
System.out.println("循环结束.");
}
}
输出:
i: 0
i: 1
i: 2
i: 3
i: 4
循环结束.
使用中断作为跳转的一种形式
Java没有goto语句,因为它提供了一种以任意和非结构化方式进行分支的方法。Java使用标签,标签用于标识代码块。
语法:
label:
{
statement1;
statement2;
statement3;
.
.
}
现在,可以使用break语句跳出目标块。
注意:您不能破坏未为封闭块定义的任何标签。
语法:
break label;
例:
// Java程序,展示break
class BreakLabelDemo
{
public static void main(String args[])
{
boolean t = true;
// label first
first:
{
// 这里的写法是非法的,因为label second没有被引入
second:
{
third:
{
// 在break之前
System.out.println("在 break 之前");
// break将会把程序带出second
if (t)
break second;
System.out.println("没有执行.");
}
System.out.println("没有执行.");
}
// 第一个块
System.out.println("这是在第二个块之后.");
}
}
}
输出:
在 break 之前.
这是在第二个块之后.
// Java展示continue语句的用法
class ContinueDemo
{
public static void main(String args[])
{
for (int i = 0; i < 10; i++)
{
// 如果数字是偶数,跳过并且继续
if (i%2 == 0)
continue;
// 如果数字是基数,打印
System.out.print(i + " ");
}
}
}
输出:
1 3 5 7 9
// Java展示return关键字
class Return
{
public static void main(String args[])
{
boolean t = true;
System.out.println("在return之前.");
if (t)
return;
// 编译器将会忽略return之后的所有代码
System.out.println("不会被执行.");
}
}
输出:
在return之前.