当前位置:文档之家› 程序流程控制语句

程序流程控制语句

程序流程控制语句:选择语句网站制作 2011年9月1日Java语言中的程序流程控制语句有三种:顺序结构、选择结构和循环结构。

其中顺序结构最简单,程序依次执行各条语句。

Java的每条语句一般以分号(“;”)作为结束标志。

所以本章重点讲解选择结构和循环结构。

1、选择语句在程序设计时,经常需要使用选择结构在程序中完成逻辑判断和选择功能,这就需要使用到选择语句。

Java中的选择语句包括if语句、if-else语句和switch语句。

选择语句用来控制选择结构,对选择条件进行判断,并根据判断结果选择要执行的程序语句,改变程序执行流程。

2、if选择语句在实际生活中,经常会需要做一些逻辑判断,并根据逻辑判断结果做出选择。

例如,当一个男孩子向一个非常理智的女孩子求婚时,这个女孩子思考的逻辑可能是这样的:如果你有100万那么,我就嫁给你!在这里,女孩子嫁给男孩子这个过程的实施,必须以“你有一百万”为前提。

只有逻辑判断“你有一百万”这一前提条件为真时,“那么,我就嫁给你!”这个行为才能得到执行。

在生活当中,类似这样的情形是很常见的。

相应地,在Java程序设计语言中,也有相应的条件语句来完成类似的逻辑判断和有选择地执行这样的功能,这就是if语句。

if语句的语法格式如下:if(条件表达式)语句或者if(条件表达式){一条或多条语句}if语句执行的过程如下:1.对if后面括号里的条件表达式进行判断。

2.如果条件表达式的值为true,就执行表达式后面的语句或后面大括号里的多条语句。

3.如果条件表达式的值为false,则跳过if语句,执行下一条语句。

if语句是只有一个选择的语句结构,所以又叫单分支选择结构,其流程图如下图所示:需要注意的是,在条件表达式的右括号后面,如果只有一条执行语句的话,那么可以跟一对大括号,也可以不跟大括号。

如果有多条语句需要一起执行,则必须用大括号把多条语句括起来,形成语句块。

建议不论条件成立时后面要执行多少条语句,一律用大括号括起来。

请看下面的代码:int a = 2,b = 3;if(a > b)System.out.println(“这句话能输出!”); System.out.println(“这句话也能输出!”); //这个输出语句并不是条件表达式后的执行语句因为没有用大括号将条件表达式a>b后的两个输出语句括起来,所以条件表达式成立与否,只影响到其后第一个输出语句。

这段代码的输出结果为:“这句话也能输出!”用if语句表示女孩子考虑求婚问题,可以以自然语法写成如下形式:if(男朋友有100万){我愿意嫁给你!}当然,在程序中,需要使用Java语言的语法来表示,如下所示:floatboyFriendMoney; //变量boyFriendMoney代表男朋友的存款...if(boyFriendMoney >100){ //如果男朋友的存款多于100万System.out.println(“我愿意嫁给你!”); //那么,同意嫁给他}3、if-else双分支选择语句有时候,需要根据逻辑判断结果分别做出选择。

例如,在上节的例子中,当一个男孩子向一个女孩子求婚时,女孩子思考的逻辑也可能是这样的:如果你有100万那么,我就嫁给你!否则我就拒绝嫁给你。

在这里,女孩子根据对方是否有一百万,有两个选择:当逻辑判断“你有一百万”这一前提条件为真时,执行“那么,我就嫁给你!”这个行为;否则,如果逻辑判断不为真,就执行“我就拒绝嫁给你”。

在生活当中,类似这样的情形是很常见的。

相应地,在Java程序设计语言中,也有相应的条件语句来完成类似的逻辑判断和有选择地执行这样的功能,这就是if-else语句。

if-else语句的语法格式如下:if(条件表达式)语句1else语句2或者if(条件表达式){语句块1}else{语句块2}if-else语句执行的过程如下:1.对if后面括号里的条件表达式进行判断。

2.如果条件表达式的值为true,就执行语句1或语句块1。

3.如果条件表达式的值为false,就执行语句2或语句块2。

if-else语句又称为双分支选择结构,其流程图如下图所示:【例】编写一个程序,求两个数中比较大的值,并输出。

编写程序的步骤如下。

(1)打开记事本,编写程序代码如下,并保存为MaxValueDemo.java。

MaxValueDemo.javapublic class MaxValueDemo{ public static void main(String[] args){inta=23,b=36,max; //声明三个整型变量if(a>b){ //如果a大于bmax =a; //将较大值的a赋给变量max}else{ //否则,如果a不大于b max =b; //将b的值赋给变量max}System.out.println(“最大值是:” +max); //输出变量max的值,即输出最大值}}(2)使用如下命令编译和运行MaxValueDemo.java源程序。

javac MaxValueDemo.javajava MaxValueDemo(3)程序输出结果如下:最大值是:36在程序MaxValueDemo中,定义三个整型变量a、b和max。

对变量a和b的值进行判断,并将其中较大的值赋给变量max,最后输出max的值。

4、if-else-if多分支选择语句除了单分支结构的if语句和双分支结构的if-else语句之外,还有一种常用的选择结构是多分支结构,使用if-else-if语句实现。

if-else-if语句的语法格式如下:if(条件表达式1){ //如果条件表达式1成立(结果为true)语句块1 //就执行语句块1中的代码}else if(条件表达式2){ //否则,如果条件表达式2成立语句块2 //就执行语句块2中的代码}…//对其他条件进行判断else if(条件表达式n-1){ //如果条件表达式n-1成立语句块n-1//就执行语句块n-1中的代码}else{ //如果以上所有的条件都不成立语句块n //就执行语句块n}if-else语句执行的过程如下:1.对if后面括号里的条件表达式进行判断。

2.如果条件表达式的值为true,就执行语句块1。

3.否则,对条件表达式2进行判断。

如果条件表达式的值为true,就执行语句块2。

4.否则,依此类推。

5.如果所有条件表达式的值都为false,最后执行语句块n。

if-else-if语句依次对if后面的条件表达式进行判断,遇到第一个值为真的表达式时,就执行其后面的语句块,然后整个if-else-if语句就结束了,不再对后面的条件表达式进行判断和执行了。

理论上,可以有无限多个else if子句。

【例】编写一个程序,根据学生的成绩,判断其属于哪个档次,并输出。

编写程序的步骤如下。

(1)打开记事本,编写程序代码如下,并保存为ScoreDemo.java。

ScoreDemo.javapublic class ScoreDemo{public static void main(String[] args){int score =85; //定义代表学生成绩的变量score,并赋初值if(score >=90){ //如果成绩大于等于90分System.out.println("您的成绩优秀!”); //执行这个语句块,并结束本if-else-if语句}else if(score >=80){ //满足这个条件表达式System.out.println(“您的成绩良好”); //执行这个语句块,并结束本if-else-if语句}else if(score >=70){ //如果成绩大于等于70分System.out.println(“您的成绩中等”); //执行这个语句块,并结束本if-else-if语句}else if(score >=60){ //如果成绩大于等于60分System.out.println(“您的成绩及格”); //执行这个语句块,并结束本if-else-if语句}else{ //如果以上条件都不成立,即成绩小于60分System.out.println(“您的成绩不及格”);} / /结束if语句是直接转到这里,执行if后面的语句}}(2)使用如下命令编译和运行ScoreDemo.java源程序。

javac ScoreDemo.javajava ScoreDemo(3)程序输出结果如下。

您的成绩良好在本例中,当程序执行到score >= 80这个表达式时,计算其结果为true,执行其后的语句块,输出“您的成绩良好”,并结束if-else-if语句,转到该语句最后一个大括号后面,执行其后面的语句。

if-else-if语句又称为多分支选择结构,其流程图如下图所示:需要注意的是,最后的else语句可以省略,那么当所有的条件表达式都不成立时,什么也不执行。

【例】编写一个程序,求三个整数中的最大值,并输出。

编写程序的步骤如下。

(1)打开记事本,编写程序代码如下,并保存为MaxValueDemo2.java。

MaxValueDemo2.javapublic class MaxValueDemo2{ public static void main(String[] args){inta=23,b=36,c=25,max; // 声明4个整型变量,其中a,b,c赋初值if(a>c){ // 如果a比c大max =a; // 那么把a赋给max变量}elseif(b>c){ // 如果a比c小,那么b与c进行比较。

如果b大于cmax =b;// 那么最大值为b}else // 否则,a和b都不大于cmax =c; // 那么最大值为cSystem.out.println(“最大值是:” +max); // 输出最大值max的值}}(2)使用如下命令编译和运行MaxValueDemo2.java源程序。

javac MaxValueDemo2.javajava MaxValueDemo2(3)程序输出结果如下。

最大值是:36在程序MaxValueDemo2中,对三个整数a、b和c进行比较。

实际上,这个程序逻辑并不完整,例如,将变量a的值改为26,再编译并运行此程序,会发现输出的最大值为26,显然是不正确的。

这是因为没有考虑a大于c但小于b的情况。

这时,需要使用嵌套的if语句。

5、选择语句的嵌套if语句里面可以再嵌套if语句。

所谓嵌套,就是在if 语句中又包含一个或多个if语句。

这样的语句一般用在比较复杂的分支语句中。

其语法格式如下:if(条件表达式1){if(条件表达式2){语句块1}else{语句块2}}else{if(条件表达式3){语句块3}else{语句块4}}【例】使用嵌套的if语句编写一个程序,根据学生的成绩,判断其属于哪个档次,并输出。

相关主题