java学习日志6——选择语句:三目运算,if···else,switch

有时候选择的条件过多就需要我们用到一个语句:选择语句

三目运算

变量=条件判断?表达式1:表达式2

根据条件判断成立时执行表达式1,失败时执行表达式2

我们通过代码来看:

public   class   Test {
       public   static   void  main (String args[]){
           
              int  a=2;                                //定义常量a
              int  b=9;                                //定义常量b
              int  max=0;                              //定义一个最大值
                
           max=a>b?a:b;                            //三目运算
           
           System.   out .println(   "最大值为"  +max);
     }
}

执行结果:

最大值为9

三目运算其实就相当于另一种的if···else运算


if···else:当需要满足某种特定的条件时,就说用到if和if···else语句
当if中的表达式成立,执行if下{}中的语句,否则执行else {}中的程序

我们通过代码来看:

public   class   Test {
       public   static   void  main (String args[]){
           
              int  a=2;                                //定义常量a
              int  b=9;                                //定义常量b
           
              if  (a>b) {                                         //当a>b成立时,执行if里面的输出语句
                System.   out .println(   "a>b正确"  );
           }   else  {
                System.   out .println(   "a>b错误"  );        //当if中()里的语句不正确时,执行else里面的输出语句
           }
     }
}

执行结果:

a>b错误

当有多个选择条件时,可以使用if···else的嵌套语句
当if()中的表达式成立时,执行if下面{}中的语句,否则执行else if{}中的语句,知道最后一个,如果上面()中的表达式都不成立,则执行else下{}中的语句

我们通过代码来看

public   class   Test {
       public   static   void  main (String args[]){
           
              int  a=2;                                //定义常量a
              int  b=9;                                //定义常量b
              int  c=15;                               //定义常量c
              if  (a>b) {                                         //当a>b成立时,执行if里面的输出语句
                System.   out .println(   "a>b正确"  );
           }   else   if (a>c) {
                System.   out .println(   "a>c正确"  );        //当if中()里的语句不正确时,执行else里面的输出语句
           }   else   if  (c>b) {
                System.   out .println(   "c>b正确"  );
           }   else  {
                System.   out .println(   "都不正确"  );
           }
     }
}


执行结果:

c>b正确

当选择的条件太多的时候,为了让阅读代码的人更方便,可以使用switch语句

当case的值与switch()中表达式的值相等时,执行当前case下的语句,否则继续判断下一个case,如果没有一个case的值与表达式中的值相等时,则执行default 中的语句

注意:这的break是跳出当前语句,这个一定要写!否则程序会执行每一个语句。

我们通过代码来看


public   class   Test {
       public   static   void  main (String args[]){
           
              int  a=2;                                //定义常量a
              switch  (a) {                            //如果case的值和a相等,则执行当前case下的语句
              case  1:{
                System.   out .println(   "a=1" );
           }
                
                   break ;                                  //当前case下的语句执行完毕,跳出这个段程序
              case  3:{
                System.   out .println(   "a=3" );
           }
           
                   break ;
              case  2:{
                System.   out .println(   "a=2" );
           }
           
              break ;
              case  5:{
                System.   out .println(   "a=5" );
           }
           
              break ;

              default :
                   break ;
            }
     }    
}


执行结果:

a=2

再看下面的代码:

public   class   Test {
       public   static   void  main (String args[]){
           
              int  a=2;                                //定义常量a
              switch  (a) {                            //如果case的值和a相等,则执行当前case下的语句
              case  12:{
                System.   out .println(   "a=12" );
           }
                
                   break ;                                  //当前case下的语句执行完毕,跳出这个段程序
              case  3:{
                System.   out .println(   "a=3" );
           }
           
                   break ;
              case  23:{
                System.   out .println(   "a=23" );
           }
           
              break ;
              case  5:{
                System.   out .println(   "a=5" );
           }
           
              break ;

              default :{
                System.   out .println(   "没有满足的条件"   );
           }
                   break ;
           }
     }    
}
     

执行结果:



没有满足的条件


下面我们来看看没有break,这段语句会怎么样

       public   static   void  main (String args[]){
           
              int  a=2;                                //定义常量a
              switch  (a) {                            //如果case的值和a相等,则执行当前case下的语句
              case  12:{
                System.   out .println(   "a=12" );
           }
                
              case  2:{
                System.   out .println(   "a=2" );
           }
           
              case  23:{
                System.   out .println(   "a=23" );
           }
           
              case  5:{
                System.   out .println(   "a=5" );
           }
           
              default :{
                System.   out .println(   "没有满足的条件"   );
           }
           }
     }    
}

执行结果:


a=2
a=23
a=5
没有满足的条件

a=2之前的语句没有执行,当case的值等于2时输出“a=2”,正常的情况到这里这段语句就已经执行完成了,但是a=2后面的语句被一次执行了一次,所以一定要注意加break。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值