千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > java中的分支结构-if...else...类型

java中的分支结构-if...else...类型

来源:千锋教育
发布人:qyf
时间: 2023-03-21 17:12:00 1679389920

java中的分支结构-if...else...类型

  1. if基本语法

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

  if(条件表达式){

  //满足条件时要执行的语句

  }

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

  2. if的单分支语句

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

  public class Demo01 {

  public static void main(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{

  //不满足逻辑条件执行的代码

  }

  案例如下:

  public class Demo01 {

  public static void main(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,就买个诺基亚;否则,乖乖地去打公共电话。

  public class Demo01 {

  public static void main(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("苹果手机");

  }else if(money > 7000){ //money <= 10000

  System.out.println("华为手机");

  }else if(money > 5000){

  System.out.println("小米手机");

  }else if(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秒以内,可以进入决赛,男的进入男子组决赛,女的进入女子组决赛。

  public class Demo01 {

  public static void main(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("很遗憾你被淘汰了!!!");

  }

  }

  }

  5.if语句很费效率吗?

  ●在Java中,if语句本身并不是特别费效率。if语句的效率通常取决于它所包含的代码和逻辑。

  ●当if语句的判断条件非常简单且快速时,它对程序性能的影响通常可以忽略不计。然而,如果if语句的条件比较复杂,例如需要进行多次计算或调用方法,则会影响程序的性能。

  ●此外,如果if语句的条件经常变化,那么编译器很难对它进行优化,这可能会导致性能下降。

  ●综上所述,如果if语句的条件简单,代码执行效率高,那么它并不会明显地影响程序性能。但如果if语句的条件较为复杂或频繁变化,则需要仔细考虑如何优化程序以提高性能。

  6.java中的else

  在Java中,else if是用于在if语句后添加额外的条件分支的一种语法结构。它允许您检查多个条件,并在每个条件为真时执行相应的代码块。

  代码示范:

  if (score >= 90) {

  System.out.println("优秀");

  } else if (score >= 80) {

  System.out.println("良好");

  } else if (score >= 70) {

  System.out.println("中等");

  } else if (score >= 60) {

  System.out.println("及格");

  } else {

  System.out.println("不及格");

  }

  ●在这个例子中,我们检查了一个score变量的值,并根据它的值输出不同的文本。如果score大于或等于90,输出"优秀",否则检查它是否大于或等于80,如果是,输出"良好",以此类推。如果所有条件都不满足,最后执行else语句中的代码块。

  ●需要注意的是,在if语句中,只有第一个条件分支被执行。如果第一个条件分支不成立,则继续检查下一个else if语句中的条件分支,直到找到一个满足条件的分支或者执行else语句。

  ●总之,else if语句是Java中用于添加多个条件分支的一种语法结构,它允许您检查多个条件,并在每个条件为真时执行相应的代码块。

  看到现在你知道if和else这对好基友该如何使用了吗?大家看完一定要多多练习,这样才能总结知识点。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT