首页 > 代码库 > 流程控制(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)