【JAVA学习笔记- 分支语句】

1908阅读 1评论2012-02-06 -小Y头-
分类:Java

本章目标:

       掌握分支语句

              if-else语句

              switch语句

 

程序结构

       从结构化程序设计角度出发,程序有三种结构:

              顺序结构

              选择结构

              循环结构

      

       前面两种就不多说了,重点是第三种——循环结构:

              它有两种结构:当型和直到型

                     当型:当P条件成立时(T),反复执行A,直到P为“假”时,才停止循环

 

                      直到型:先执行A,再判断P,若为T,再执行A,如此反复,直到P为“假”

  

分支语句

       分支语句实现程序流程控制的功能,即根据一定的条件有选择的执行或跳过特定的语句

 

       Java分支语句分类:

              If-else语句

              Switch语句

      

       if语句有三种形式:

              形式1

                     if(boolean类型表达式)

                            语句A;

              功能:当表达式值为false时,执行语句A,否则跳过语句A

  

              形式2

                     if(boolean类型表达式)

                            语句A;

                     else

                            语句B

              功能:表达式为true,执行A;表达式为false,执行B

 

举例1:小明考试得了59分,是否及格?

 public class Demo01

{

       public static void main(String args[])

       {

              int score = 59;

              if(score>=60)

                     {

                            System.out.println(“成绩及格");

                     }

                     else

                     {

                            System.out.println(“成绩不及格");

                     }

      }

}

思考:现在小明的父母想知道自己孩子在学校中的排名,90~100是前100名,80~89是前200名,70~79是前300名,60~69是前400名,60分以下是400名开外。

  public class Demo02

{

       public static void main(String args[])

       {

              float score = 95;

              if(score>=60)

              {

                     if(score>=90&&score<=100)

                    {

                            System.out.println("等级为前100名。");

                     }

                     else

                     {

                            if(score>=80&&score<90)

                            {

                                   System.out.println("等级为前200名。");

                            }

                            else

                            {

                                   if(score>=70&&score<80)

                                  {

                                          System.out.println("等级为前300名。");

                                   }

                                   else

                                   {

                                          System.out.println("等级为前400名。");

                                   }

                            }

                    }

              }

              else

              {

                     System.out.println("等级为400名开外。");

              }

       }

};

大家会发现,虽然程序功能已经实现了,但是if语句嵌套过多,而且程序代码庞大,那么有没有更简洁的代码呢?是有的!

 

if语句——形式3

       if(Boolean类型表达式1)

              语句1

       else if(表达式2)

              语句2

       else if(表达式3)

              语句3

       ……    ……

       else if(表达式n)

              语句n

       else

              语句n

 

代码:
public class Demo3 { public static void main(String args[]) { float score=55; if(score>=90&&score<=100) { System.out.println(“成绩为前100名"); } else if(score>=80&&score<90) { System.out.println(“成绩为前200名"); } else if(score>=70&&score<80) { System.out.println(“成绩为前300名"); } else if(score>=60&&score<70) { System.out.println(“成绩为前400名"); } else { System.out.println(“成绩为400开外"); } } }

这个代码时候简洁很多呢~

 

 

如果纯粹的是多分支判断,则在java中提供了另外一种语句——switch

 

switch语句语法格式:

       switch(boolean表达式){

case const1:

              statement1;

              break;

       case const2:

              statement2;

              break;

       …… ……

       [default:

statement default;

break;]

}

      

       代码:              public class Demo4

             {

                     public static void main(String args[])

                     {

                            int i=1;

                            switch(i)

                            {

                                   case 1:

                                          System.out.println(“条件1满足。");

                                          break;            //表示退出switch语句

                                   case 2:

                                          System.out.println(“条件2满足。");

                                          break;

                                   case 3:

                                          System.out.println(“条件3满足。");

                                          break;

                                   case 4:

                                          System.out.println(“条件4满足。");

                                          break;

                                   default:      //如果一切条件都满足不了,则执行default语句

                                          System.out.println(“没有任何条件满足。”);

                                        break;

                                 }

            }

}

大家试下,如果去掉了break会出现什么情况?如果没有default语句,又会出现什么情况?

 

 

       三目运算符

              java语言提供了一个简单的条件赋值语句或条件表达式。

              问题:当判断条件不论是“真”或“假”,均给同一变量赋值时,能否简化语句书写?

              一般形式:boolean表达式1?表达式2:表达式3

 

       代码:

        public class Demo05

       {

              public static void main(String args[])

              {

                     int i=20;

                     int j=50;

                     int max;

                     if(i>j)

                     {

                            max=i;

                     }

                       else

                     {

                         max=j;

                      }

                      System.out.println(“最大值MAX=”+max);

               }

}

              

              我们可以把红色部分代码省略掉

 

上一篇:java 循环语句
下一篇:【JAVA学习笔记- Java里如何实现多继承】

文章评论