电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 编程学习 >> Java >> 正文

【JAVA】条件分支if和else的使用详解_if和else的用法_选择判断语句用法

作者:佚名    文章来源:本站原创    点击数:    更新时间:2023/11/14

顺序结构没什么好讲的,就是从上到下的写代码,所以接下来,壹哥就直接带各位来学习分支结构里的条件分支。我们在前面说过,分支结构,或者叫做条件分支,其实有两种情况。一种是if...else...类型的条件分支,一种是switch...case...类型的条件分支,今天我们先来学习if和else的使用。

1. if基本语法

在Java代码中,如果我们要根据某个条件来决定是否执行一段代码,就可以考虑使用if语句。if语句的基本语法是:

if(条件表达式){
 //满足条件时要执行的语句 
} 

在上面的语法中,会根据if(条件表达式)里的计算结果(true或者false),由JVM决定是否执行{}里的代码块。如果为true,就执行,否则就不执行。

2. if的单分支语句

首先我们通过一个简单的需求,来学习if的单分支语句。所谓的单分支语句,就是说只有一种判断情况,条件为真就执行,否则就不执行。比如这个需求:“如果你年满18岁,就可以攒劲的节目”。

publicclassDemo01 {
 publicstaticvoidmain(String[] args) {
  // if语句
  
  //案例1:如果年龄大于等于18岁,就可以看攒劲的节目了
  System.out.println("请输入你的年龄");
  
  //获取Scanner对象
  Scanner sc=new Scanner(System.in);
  //获取年龄
  int age = sc.nextInt();
        //如果语句块{}里面只有一条执行语句,{}可以省略,但建议保留。
  if(age >= 18){
      System.out.println("本节目只对成年人开放,未成年人请在父母陪同下观看,节目正在缓冲......");
  }
     //案例2:如果身高大于180,且体重小于180,就可以当模特        
  System.out.println("请输入你的身高");
  int height = sc.nextInt();
  System.out.println("请输入你的体重");
  int weight = sc.nextInt();
        
     //条件表达式中,可以结合之前学习过的逻辑运算符//采用短路与&&,提高效率
  if(height > 180 && weight < 180){
      System.out.println("恭喜你,可以当模特了");
  }
 }
}

另外如果{}语句块里面只有一条执行语句,{}可以省略,但建议保留。因为如果我们采用缩进的格式,很容易把后面的语句都看成是if语句的执行块,所以不推荐忽略花括号的写法。

单分支语句应对的情况是很简单的,在实际开发中可能会很复杂,这就需要使用多分支语句来进行处理。

3. if的多分支语句

3.1 if...else结构

if...else...结构会根据条件表达式的结果进行判断,当表达式的结果为true,则执行语句块A;否则执行else后面的语句块B。基本语法结构如下:

if(逻辑条件){ 
     //满足逻辑条件执行的代码 
 }else{ 
     //不满足逻辑条件执行的代码 
 }

案例如下:

publicclassDemo01 {
 publicstaticvoidmain(String[] args) {
  // if多分支语句
  
  Scanner sc=new Scanner(System.in);
  
  //案例:如果用户名为admin、密码为123456,就跳转到首页,否则跳转到登录页面
  System.out.println("请输入用户名");
  String username = sc.next();
  System.out.println("请输入密码");
  String password = sc.next();
  //equals()比较方法
  if("admin".equals(username) && "123456".equals(password)){
      System.out.println("跳转首页");
  }else{
      System.out.println("跳转登录页面");
  }  
 }
}

我们要注意,在java中,"=="比较的是两个对象的内存地址是否相同,String类中的equals()方法比较的是内容是否相同。如果是基本数据类型,我们可以使用==进行比较;而对于String字符串,一般是使用equals()方法进行比较。

另外我们在使用equals()方法进行比较时,要采用类似"admin".equals(username)的写法,而不要采用username.equals("admin")的写法。因为username对象的值有可能为null,这样就可能会产生NullPointerException异常。

3.2 if多分支

if多分支就是可以利用多个if ... else if ...else...进行串联。多分支可以根据多个条件表达式的结果进行判断:

● 如果条件表达式1的结果为true,则执行语句块1;否则去判断条件表达式2;

● 如果条件表达式2的结果为true,则执行语句块2,否则去判断条件表达式3;

● ....

● 如果所有的条件表达式结果都为false,则执行语句块N+1;

● else是可选的,根据需要可以省略。

if多分支的语法结构如下:

if(逻辑条件1){ 
    //满足逻辑条件1执行的代码 
}else if(逻辑条件2){ 
    //隐藏条件(不满足条件1) 满足逻辑条件2执行的代码 
}else if(逻辑条件3){ 
    //隐藏条件(不满足条件1、2) 满足逻辑条件3执行的代码 
}else{ 
    //不满足以上所有逻辑条件执行的代码 
}

需求案例:请你根据手上的资金选择购买的手机品牌。如果你手里的钱大于10000,就买个苹果;如果大于7000, 就买个华为;如果大于5000,就买个小米;如果大于3000,就买个诺基亚;否则,乖乖地去打公共电话。

publicclassDemo01 {
 publicstaticvoidmain(String[] args) {
  // if多分支语句
  
  Scanner sc=new Scanner(System.in);
  
  //请你根据手上的资金选择购买的手机品牌。如果你手里的钱大于10000,就买个苹果;
  //如果大于7000, 就买个华为;如果大于5000,就买个小米;如果大于3000,就买个诺基亚;
  //否则,乖乖地去打公共电话。
  System.out.println("请输入余额");
  int money = sc.nextInt();
  if(money > 10000){
      System.out.println("苹果手机");
  }elseif(money > 7000){ //money <= 10000
      System.out.println("华为手机");
  }elseif(money > 5000){
      System.out.println("小米手机");
  }elseif(money > 3000){
      System.out.println("诺基亚手机");
  }else{
      System.out.println("打公共电话");
  }
 }
}

大家要注意,我们在串联使用多个if时,要特别注意判断顺序和边界条件的判断。

4. if嵌套

if嵌套的语法结构如下:

if(逻辑条件1){ 
     if(逻辑条件2){ 
         //满足逻辑条件1且满足条件2执行的代码 
     }else{ 
         //满足逻辑条件1但不满足条件2执行的代码 
     } 
 }else{ 
     //不满足逻辑条件1执行的代码 
 }

需求案例:学校举行跑步比赛,如果成绩在15秒以内,可以进入决赛,男的进入男子组决赛,女的进入女子组决赛。

publicclassDemo01 {
 publicstaticvoidmain(String[] args) {
  // if多条件嵌套
  Scanner sc=new Scanner(System.in);
  
  //学校举行跑步比赛,如果成绩在15秒以内,可以进入决赛,男的进入男子组决赛,女的进入女子组决赛
  System.out.println("请输入你的比赛成绩");
  double score = sc.nextDouble();
  if(score < 15){
      System.out.println("请输入你的性别");
      String sex = sc.next();
      if("男".equals(sex)){
          System.out.println("恭喜进入男子组");
      }else{
          System.out.println("恭喜进入女子组");
      }            
  }else{
      System.out.println("很遗憾你被淘汰了!!!");
  }
 }
}
Tags:JAVA,if,else,判断语句  
责任编辑:admin
  • 上一篇文章:
  • 下一篇文章: 没有了
  • 请文明参与讨论,禁止漫骂攻击。 昵称:注册  登录
    [ 查看全部 ] 网友评论
    热门文章
    • 此栏目下没有热点文章
    关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
    返回顶部
    刷新页面
    下到页底
    晶体管查询