java 条件判断语句

简介: java 条件判断语句

if语句

if结构

格式1:if(关系表达式)

               {     语句体    }


执行流程:1.先判断关系表达式;

                 2.如果关系表达式符合要求,那么就执行语句体;

                 3.  如果不符合要求,那么不执行语句体;

                 4.  执行后面的其他代码;


public class First {
  public static void main(String [] args)
  {
  int a=1;
  int b=2;
  if(a+b==3)  //先判断a+b是否等于3
    {           
        //如果a+b等于3的话,执行if语句体里的语句块
    System.out.println("先执行if语句的内容");   
  }
  System.out.println("然后执行if语句块外面的内容");
  if(a+b==4)        //先判断a+b是否等于4
  {
    //因为a+b的值不等于4,所以下下面这个语句块不会执行
    System.out.println("这是不满足条件的if语句块");  
  }
  }
  } 


下图是上面代码的输出内容:


8f17fb131b344ec8b8380b366eaf59e5.png


if,else结构

格式2:if(关系表达式)

               {     语句体 1   }

             else

               {     语句体2    }

执行流程:1.先判断关系表达式;

                 2.如果关系表达式符合要求,那么就执行语句体1;

                 3.  如果不符合要求,那么执行语句体2;

                 4.然后再继续执行其他代码;


public class First {
  public static void main(String [] args)
  {
  int a=1;
  int b=2;
  if(a+b==3)  //先判断a+b是否等于3
    {           
        //如果a+b等于3的话,执行if语句体里的语句块1
    System.out.println("执行语句体1的内容");    
  }
  else 
  {
    //因为语句体1符合要求,所以语句体2就不会继续执行了
    System.out.println("执行语句体2的内容");
  }
  //继续往下执行
  System.out.println("然后执行if语句块外面的内容");
  if(a+b==4)        //先判断a+b是否等于4
  {
    //因为a+b的值不等于4,所以下面这个语句块3不会执行
    System.out.println("执行语句体3的内容");  
  }
  else
  {
    //因为语句体3不符合要求,所以会执行语句体4
  System.out.println("执行语句体4的内容");  
  }
  }
  } 


下面是上面代码的输出内容:

ee98a6e622024ea59ef02c1af5b0ff26.png


if,else if,else结构

格式3:if(关系表达式1)

               {     语句体 1   }

             else if(关系表达式2)

               {     语句体2    }


     else

                 {      语句体3      }

执行流程:1.先判断关系表达式1;

      2.如果关系表达式1符合要求,那么就执行语句体1;

                 3.如果不符合要求,那么继续判断关系表达式2是否符合要求

                       如果符合要求,执行语句体2;

   4.如果关系表达式1,2都不符合要求,那么执行和关系表达式3;

                 5.然后继续执行;


public class First {
  public static void main(String [] args)
  {
  int a=1;
  int b=2;
  if(a+b==3)  //先判断a+b是否等于3
    {           
        //如果a+b等于3的话,执行语句体1的内容
    System.out.println("执行语句体1的内容");    
  }
  //如果上面的a+b==3不符合要求,那么判断a+b==4是否符合要求
  else if(a+b==4) 
  {
    //如果上面的a+b==4符合要求,那么执行语句体2的内容
    System.out.println("执行语句体2的内容");
  }
  else 
  {
    //如果a+b==3,a+b==4都不符合要求,那么执行语句体3的内容
    System.out.println("执行语句体3的内容");
  }
  //继续往下执行
  System.out.println("然后执行if语句块外面的内容");
  }
  } 

因为语句体1就已经符合要求了,所以输出结果只有语句体1的内容,语句体2,3的内容就不会执行啦,下面是输出结果:


027a07a3b76e4cf6bdd9e9035f8fea80.png


switch语句

格式:switch(表达式)

       {case   常量a :

                     语句体1;

                     break;


      case   常量b :

                       语句体2;

                       break;

         ............

     default:

                       语句体n ;                  

                       break;

         }


case:翻译为“案例,情况”。


常量a,b:这里的常量可以是我们在控制台输入的值(或字母等),这里就可以用到Scanner数据输入了。


break:表示中断,结束的意思,用来结束switch语句。如果不加break的话,那么程序不知道你要结束这个程序,会把本行下面的语句一起执行了,直到出现break为止,我们下面会给出图片。所以,切记要加break。


default:v用于表示所有情况不匹配时,执行语句体n


下面我们来通过代码来进行学习:


import java.util.*;
public class First {
public static void main(String [] args)
  {
      Scanner sc = new Scanner(System.in);
      System.out.println("请输入月份:");
      int month = sc.nextInt();
      switch(month) {
      //当我们在控制台输入case后面的值,会出现对应的输出语句
      case 3:System.out.println("春季");break;
      case 4:System.out.println("春季");break;
      case 5:System.out.println("春季");break;
      case 6:System.out.println("夏季");break;
      case 7:System.out.println("夏季");break;
      case 8:System.out.println("夏季");break;
      case 9:System.out.println("秋季");break;
      case 10:System.out.println("秋季");break;
      case 11:System.out.println("秋季");break;
      case 12:System.out.println("冬季"); break;
      case 1:System.out.println("冬季");break;
      case 2:System.out.println("冬季");break;
      default:System.out.println("输入不正确!") ;
      break;
      }
    }
  } 


下面我们在控制台输入3,回车后会出现下面结果:


306461acfc654163a6691ad21689794e.png


当然输入其他的也会出现对应的结果。


下面是如果我们在case11以后,都没有加break控制台的输出结果:


21fda40fd30a43c0a81d377c61b4514d.png


就像这样系统只知道你没有终止,他会继续往下执行


如果我们在case11,case12,case1没加break,在case2加了break会出现下面的结果:


d56d8950c4664757862b451ab3c1af4a.png


所以,当我们用switch语句时,切记要加break。


case穿透


现在我们看上面的代码,感觉很麻烦,有的虽然输入的值不一样,但是输出是一样的,这时候,为了简化我们的代码,我们可以使用case穿透。具体代码如下:


import java.util.*;
public class First {
public static void main(String [] args)
  {
      Scanner sc = new Scanner(System.in);
      System.out.println("请输入月份:");
      int month = sc.nextInt();
      switch(month) {
      //当我们在控制台输入case后面的值,会出现对应的输出语句
      case 3:
      case 4:
      case 5:System.out.println("春季");break;
      case 6:
      case 7:
      case 8:System.out.println("夏季");break;
      case 9:
      case 10:
      case 11:System.out.println("秋季");break;
      case 12:
      case 1:
      case 2:System.out.println("冬季");break;
      default:System.out.println("输入不正确!") ;
      }
    }


这样代码不就更加简洁了嘛 !


本篇内容就到这里啦,感谢观看。

目录
相关文章
|
7月前
|
Java C++ 开发者
【技术贴】if-else VS switch:谁才是Java条件判断的王者?
【6月更文挑战第14天】本文探讨了Java中if-else与switch语句的选择问题。if-else基于布尔逻辑,适合处理复杂逻辑,而switch在处理多分支特别是枚举类型时更高效。if-else在条件动态变化或复杂逻辑时更合适,switch则因其跳转表机制在固定选项中表现优秀。性能上,switch在大量选项时占优,但现代JVM优化后两者差异不大。选择时应考虑场景、可读性和维护性,灵活运用。理解两者特点,才能写出优雅高效的代码。
449 0
|
8月前
|
Java
Java switch case 语句
Java switch case 语句
58 0
|
8月前
|
Java
【Java从入门到精通】Java switch case 语句
【Java从入门到精通】Java switch case 语句
93 0
|
Java
Java switch case语句
Java switch case语句
113 0
|
Java
Java中的if与switch选择结构语句应用
if和switch都是用来做分支语句的判断,具体使用哪个,要看需求选择
132 1
Java中的if与switch选择结构语句应用
Java中的条件语句---if语句
Java中的条件语句---if语句
152 0
Java中的条件语句---if语句
|
Java
Java switch case 语句
Java switch case 语句
282 0
Java入门教程(19)——break 语句和 continue 语句
break 语句和 continue 语句的介绍及应用
106 0
Java入门教程(19)——break 语句和 continue 语句