不论哪一种编程语言,都会提供两种基本的流程控制结构:分支结构和循环结构。其中分支结构用于实现根据条件来选择性地执行某段代码,循环结构则用于实现根据循环条件重复执行某段代码。Java同样提供了这两种流程控制结构的语法,Java提供了if和switch两种分支语句,并提供了while、do-while和for三种循环语句。除此之外,JDK5还提供了一种新的循环:foreach循环,能以更简单的方式来遍历集合、数组的元素。Java还提供了break和continue来控制程序的循环结构。
分支结构语句
在介绍分支结构之前先了解一下顺序结构,任何编程语言中最常见的程序结构就是顺序结构。顺序结构就是程序从上到下逐行地执行,中间没有任何判断和跳转。
如果main方法的多行代码之间没有任何流程控制,则程序总是从上向下依次执行,排在前面的代码先执行,排在后面的代码后执行。这意味着:如果没有流程控制,Java方法里的语句是一个顺序执行流,从上向下依次执行每条语句。
Java提供了两种常见的分支控制结构:if和switch语句,其中if语句使用布尔表达式或布尔值作为分支条件来进行控制;而switch语句则用于对多个整型值进行匹配,从而实现分支控制。
1 if条件语句
if语句的完整形式如下所示:
if(判断条件){
代码块(判断条件成立后立即执行)
}
如果if语句中{}中只有一条语句,也可是使用以下的形式简化代码:
if(判断条件) 代码块(判断条件成立后立即执行);
如果判断条件表达式为真,那么执行if语句中{}中的代码;否则,退出if语句,去执行if语句后面代码或结束程序。控制if语句的判断条件表达式必须生成boolean结果。if语句的执行流程如图1所示。
图1 if语句的执行流程
下面的程序演示了if语句的执行流程。
public class IfDemo{
public static void main(String[] args){
int age = 18;
char gender = ‘男‘;
if(age >= 18 && gender == ‘男‘){
System.out.println("这是个成年男人");
}
if(age <18 && gender == ‘女‘){
System.out.println("这是个未成年的女孩");
}
}
}
编译并执行这个程序,控制台会输出如图2所显示的信息。
图2 IfDemo运行结果
上面的程序中第一个if语句的判定条件的值为true,将会输出“这是个成年男人”。然后继续执行第二个if语句,但是第二个if语句的判定条件的值为false,不会输出“这是个未成年的女孩”。
因为在每个if语句块中只有一条语句,所以上面的程序可以修改成如下形式:
public class IfDemo{
public static void main(String[] args){
int age = 18;
char gender = ‘男‘;
if(age >= 18 && gender == ‘男‘)
System.out.println("这是个成年男人");
if(age <18 && gender == ‘女‘)
System.out.println("这是个未成年的女孩");
}
}
原文地址:https://www.cnblogs.com/itxdl/p/11261969.html