二级JAVA第四章辅导:流程控制分支语句
第4.1节分行声明
分支语句提供了一种控制机制,因此程序的执行可以跳过这些语句,而执行特定的语句。
4.1.1条件语句if-else。
If-else语句根据判断条件是真还是假,执行两种运算中的一种,其格式为:
if(布尔表达式)
statement 1;
[else
语句2;]
1.布尔表达式boolean-expression是任何返回布尔数据的表达式(这比C和C++的限制更严格)。
2.每条语句后面都必须有分号。
3.语句statement1和statement2可以是复合语句,应该用大括号{}括起来。建议将单个语句用花括号括起来,这样程序可读性强,有利于程序的扩展(可以添加新的语句)。{}外面没有多余的标记。
4.4.else子句是可选的。
5.如果布尔表达式的值为真,程序执行语句1,否则执行语句2。
6.6.if-else语句的一种特殊形式是:
if(expression 1){
语句1
} else if(expression 2){
语句2
}......
} else if(expression m){
语句m
} else {
语句N
}
else子句不能单独用作语句,它必须与if成对出现。Else总是与最近的if成对出现。您可以使用花括号{}来更改配对关系。
7.示例:
例4.1比较两个数的大小,按从小到大的顺序输出。
public class compare two {
public static void main(string args[]){
double D1 = 23.4;
双d2 = 35.1
if(D2 > = D1)
system . out . println(D2+" > = "+D1);
else
system . out . println(D1+" > = "+D2);
} }
运行结果是:
c:\ > Java compare two
35.1 > = 23.4
例4.2判断某年是否是闰年。
闰年的条件是以下之一:①能被4整除,但不能被100整除;②能被4整除,能被100整除。
public class LeapYear {
public static void main(String args[]){
int year = 1989;//method 1
if((year % 4 = = 0 & . year % 100!= 0)| |(year % 400 = = 0))
system . out . println(year+" isaleapyear。");
else
system . out . println(year+" isnotaleapyear。");
年=2000年;//method 2
布尔leap
if(年份%4!= 0)
leap = false;
else if(年份%100!= 0)
leap = true;
else if(year%400!= 0)
leap = false;
else
leap = true;
if(leap = = true)
system . out . println(year+" isaleapyear。");
else
system . out . println(year+" isnotaleapyear。");
年= 2050;//method 3
if(year % 4 = = 0){
if(year % 100 = = 0){
if(year % 400 = = 0)
leap = true;
else
leap = false;
} else
leap = false;
} else
leap = false;
if(leap = = true)
system . out . println(year+"是闰年。);
else
system . out . println(year+"不是闰年。);
}
}
运行结果是
C:\>java LeapYear
1989年不是闰年。
2000年是闰年。
2050年不是闰年。
在这个例子中,方法1用一个逻辑表达式包含所有的闰年条件,方法2使用特殊形式的if-else语句,方法3使用花括号{}匹配if-else实现闰年判断。你可以按照程序对比这三种方法,了解它们之间的联系和区别,在不同的场合选择合适的方法。
4.1.2多分支报表开关
switch语句根据表达式的值执行许多操作之一,其一般格式如下:
switch(expression){
case value 1:statement 1;
break;
案例值2:语句2;
break;
………………
案例值n:state mendn;
break;
[默认值:defaultStatement]
}
1.表达式expression可以返回任何简单类型的值(如整数、实数和字符),多分支语句将表达式返回的值与每个case子句中的值进行比较。如果匹配成功,则执行case子句后的语句序列。
2.case子句中的值valueI必须是常量,并且所有case子句中的值都是不同的。
3.3.default子句是可选的。当表达式的值与。当它们都不匹配时,程序将在default之后执行该语句。如果表达式的值不同于任何case子句中的值。而且没有default子句,程序什么都不做,直接跳出switch语句。
4.4.break语句用于使程序在执行完一个case分支后跳出switch语句,即终止switch语句的执行。因为case子句只是作为一个标签,用来查找匹配的条目,从这里开始执行,所以后面的case子句不匹配,直接执行后面的语句序列。因此,在每个case分支之后,后续case分支语句的执行应该用break终止。在某些特殊情况下,当多个不同的case值必须执行相同的操作时,没有必要中断。
5.当5.case分支中包含多个执行语句时,可以使用花括号{}来代替。
6.switch语句的功能可以通过if-else来实现,但是在某些情况下,它使得switch语句更加简洁易读,提高了程序的执行效率。
7.示例:
例4.3。根据测试结果的等级打印出百分制分数段。
public class grade level {
public static void main(String args[]){
system . out . println(" \ n * * first situation * * ");
char grade = ' C ';//normal use
switch(grade){
case ' A ':system . out . println(grade+"是85 ~ 100 ");
break;情况‘B’:system . out . println(等级+”为70 ~ 84);
break;case ' C ':system . out . println(grade+"是60 ~ 69 ");
break;case ' D ':system . out . println(grade+"为< 60 ");
0条评论