首页 > 代码库 > 流程控制(2017.1.8)分支语句:if-else(2017.1.9)
流程控制(2017.1.8)分支语句:if-else(2017.1.9)
1.顺序结构
2.分支结构;if-else,switch-case。
3.循环结构;while,do....while,for( ; ; ),foreach
If语句三种格式:
1.if(true){
执行代码块;}
2.if(条件表达式){
执行代码块;}
Else{
执行代码块;}
3.if(条件表达式){
执行代码块;}
Else if(条件表达式){
执行代码块;}
..........else{
执行代码块;}
总结:①执行if-else语句时,一定会选择其中一个路径执行;且仅会 选择一种路径执行。
②条件判断可以相互嵌套;
③如果多条件之间是“互斥”的,上下顺序是自由的;
如果多条件之间是“包含”的,范围小的写在范围大的上面。
④如果if-if else-else条件的执行语句块{}只有一条语句的话,那么这一对{}可以省略,但建议不省。
题20:if-else
Class TestIf1{
Public static void main(string[]args){
Int age=28;
If(age>18){system.out.println(“你已经成年了!”);
}else{system.out.println(“你还不能看电影!”);}
}}
题21:if-else if-else
Class TestIf2{
Public static void main(string[]args){
Int age=28;
If(age>130||age<0){
System.out.println(“你可能不是一个人”);}
Else if(age<30){system.out.println(“人家还很年轻,只有”+age+”岁的啦..么么哒”)}
Else{system.out.println(“别追了,我已经到家了”);}
} }
题22:从键盘输入小明的期末成绩,100分时奖励一辆宝马,(80,99]时奖励一个iphone5s手机,[60,80]时奖励一本参考书,60以下什么也不奖励。
Import.java.util.scanner;
Class TestIf3{
Public static void main(string[]args){
Scanner s=new scanner(system.in);
System.out.println(“请输入小明的期末成绩:”);
Int score=s.nextint( );
If(score>100||score<0){system.out.println(“您输入的数字有误”);}else{
If(score==100){system.out.println(“奖励一辆宝马”);}
Else if(score>80&&score<=90){system.out.println(“奖励一个iphone手机”);}
Else if(score>=60&&score<=80){system.out.println(“奖励一本参考书”);}
Else{system.out.println(“什么也不奖励”);}}
} }
题23:由键盘输入三个数分别是num1,num2,num3对它们进行排序(使用if-else if-else语句),从小到大排序。
Import.java.util.scanner;
Class TestIf4{
Public static void main(string[]args){
Scanner s=new scanner(system.in);
System.out.println(“请输入第一个数据”);
Int num1=s.nextInt();
System.out.println(“请输入第二个数据”);
Int num2=s.nextInt();
System.out.println(“请输入第三个数据”);
Int num3=s.nextInt();
System.out.println(“从小到大的排序为:”);
If(num1>num2){
if(num3>num1){
system.out.println(num2+”,“+num1+”,“+num3);
}else if(num3<num2){
system.out.println(
num3+”,”+num2+”,”+num1);
}else{
system.out.println(num2+”,“+num3+”,“+num1);}}
Else{
if(num3>num2){
system.out.println(num1+”,“+num2+”,“+num3);
}elseif(num3<num1){
system.out.println(
num3+”,”+num1+”,”+num2);
}else{
system.out.println(num1+”,“+num3+”,“+num2);}}}}
题24:指出输出结果
Int i=4;
Int j=1;
If(i>2){
if(y>2)
System.out.println(x+y);
System.out.println(“atguigu”);//输出atguigu
Else{
System.out.println(“x is”+x);}
1.1.7 分支语句:switch(2017.1.9)
switch格式:Switch(变量){
Case常量1:
语句1;
Break;
Case常量2:
语句2;
Break;
.........................
CaseN:
语句N;
Break;
Default:
语句;
Break;
}
总结:①根据变量的值,选择相应的case去判断,一旦满足case满足条件,执行case的相应语句。如果没有break或者已经到结尾的话,会继续执行其下的case语句。
②default是可选的,而且位置是灵活的。
③变量可以是哪些数据类型?char,byte,short,int,枚举,string.
④case条件:只能是值,不能是范围。
⑤当多个case语句处理的语句块一致时,可以统一来书写。
⑥一定情况下switch-case与if-else可以相互转化。
题25:对学生成绩大于60分的,输出“合格”;低于60分的,输出“输出不合格”。
Class TestSwitch1{
Public static void main(string[]args){
Int score=67;
Switch(score/10){
Case 10:
Case 9:
Case 8:
Case 7:
Case 6:
System.out.println(“合格”);
Break;
Case 5:
Case 4:
Case 3:
Case 2:
Case 1:
Case 0:
System.out.println(“不合格”);
Break;
Default:
System.out.println(“输入有误”);
Break;}
题26:编写程序,从键盘上输入2014年的“month”和“day”,要求通过程序输出输入的日期是2014年的第几天。
Class TestSwitch2{
Public static void main(string[]args){
Scanner s=new scanner(system.in);
System.out.println(“请输入哪一月”);
Int mouth=s.nexInt();
System.out.println(“请输入哪一日”);
Int day=s.nextInt();
Int sum=0//记录2014年某月某日是第几天
Switch(mouth){
Case 12:
Sum+=30;
Case 11:
Sum+=31;
Case 10:
Sum+=30;
Case 9:
Sum+=31;
Case 8:
Sum+=31;
Case 7:
Sum+=30;
Case 6:
Sum+=31;
Case 5:
Sum+=30;
Case 4:
Sum+=31;
Case 3:
Sum+=28;
Case 2:
Sum+=31;
Case 1:
Sum+=day;}
System.out.println(sum);}}
流程控制(2017.1.8)分支语句:if-else(2017.1.9)