java基础——控制语句(选择语句)

人生之路不会是一帆风顺的,我们会遇上顺境,也会遇上逆境,在所有成功路上折磨你的,背后都隐藏着激励你奋发向上的动机,人生没有如果,只有后果与结果,成熟,就是用微笑来面对一切小事。

导读:本篇文章讲解 java基础——控制语句(选择语句),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

🏡个人主页 :@ 守夜人st
🚀系列专栏:Java
…持续更新中敬请关注…
🙉博主简介:软件工程专业,在校学生,写博客是为了总结回顾一些所学知识点

✈️推荐一款模拟面试,刷题,从基础走向大场面试👉 开启你的刷题之路吧

活动地址:CSDN21天学习挑战赛

控制语句

控制语句的出现可以让我们的程序具有逻辑性和条理性。


控制语句包括哪几类?


选择语句
循环语句
跳转语句

选择语句:也可以叫做分支语句

if语句

if 语句的语法格式:

第一种写法:

if(布尔表达式){

Java语句;

}

注意:当分支中只有一个大括号{}时,{}可以省略,但是为了代码的可读性,不建议省略。

第二种写法:

if(布尔表达式){      //分支1
  Java语句;
}else{                          //分支2
  Java语句;
}

注意:对于if语句来说,在任何情况下只能有一个分支执行,不可能存在两个或多个分支执行,,只要有一个分支执行了,if语句也就结束了。

第三种写法:

if(布尔表达式1{
  Java语句;
}else if(布尔表达式2{
  Java语句;
}else if(布尔表达式3{
  Java语句;
}、、、

布尔表达式结果为true才能执行,且要按照从上至下的顺序执行,结果为false则跳到下一个分支判断。

第四种写法:

if(布尔表达式1{
  Java语句;
}else if(布尔表达式2{
  Java语句;
}else if(布尔表达式3{
  Java语句;
}、、、else{
  Java语句;
}

分析if语句的时候可以由外至内,不管语句如何嵌套,由外至内才能分析清楚代码块所实现的功能。

案例分析

package com.shouyerenst;

import java.util.Scanner;

public class IfTest {
    /*
      业务要求:
      1.从键盘上键入接收一个人的年龄
      2.年龄要求为[0 - 150],其他值表示非法,需要提示非法信息
      3.根据人的年龄来动态判断这个人属于生命的那个阶段?
      [0-5]婴幼儿
      [6-10]少儿
      [11-18]少年
      [19-35]青年
      [36-55]中年
      [56-150]老年
      4.请使用if语句完成上述业务逻辑
     */
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
    
        System.out.print("请输入年龄:");
    
        int age = s.nextInt();
        //初始代码块
        /* if(age < 0 || age > 150){
         System.out.println("对不起,您输入的年龄不合法");
         }else {
         //System.out.println("输入年龄合法");
         if (age <= 5){
         System.out.println("婴幼儿");
         }else if (age <=10){
         System.out.println("少儿");
         }else if (age <= 18){
         System.out.println("少年");
         }else if (age <= 35){
         System.out.println("青年");
         }else if (age <= 55){
         System.out.println("中年");
         }else {
         System.out.println("老年");
         }
         }*/
        
        //初次改良
        /*if (age < 0 || age > 150) {
            System.out.println("对不起,您输入的年龄不合法");
        } else if (age <= 5) {
            System.out.println("婴幼儿");
        } else if (age <= 10) {
            System.out.println("少儿");
        } else if (age <= 18) {
            System.out.println("少年");
        } else if (age <= 35) {
            System.out.println("青年");
        } else if (age <= 55) {
            System.out.println("中年");
        } else {
            System.out.println("老年");
        }*/
        
        //再次改良
        String str = "老年";
        if (age < 0 || age > 150) {
            System.out.println("对不起,您输入的年龄不合法");
            return;
        } else if (age <= 5) {
            str = "婴幼儿";
        } else if (age <= 10) {
            str = "少儿";
        } else if (age <= 18) {
            str = "少年";
        } else if (age <= 35) {
            str = "青年";
        } else if (age <= 55) {
            str = "中年";
        } else {
            str = "老年";
        }
        
        System.out.println(str);
    }
}

要点:

  • break;语句不是必须的,default语句也不是必须的。
  • switch语句支持String和int类型,JDK8之前不支持String。
  • switch语句执行原理:那”值“与”值1“比较如果相同,则执行该分支下的Java语句,遇到break;语句,switch语句结束。
  • 如果”值“与”值1“不相等,则会继续向下与”值2“比较,遇到break语句switch就结束了
  • 如果一个分支被执行但是没有break语句,,就会继续执行下一个分支,直到遇到break语句,这也就是case穿透现象
  • 所有的case都没有匹配成功,最后的default分支会被执行。

switch语句

语法格式:

switch(){
  case1:
  java语句;
  、、、
  break;
  }case2:
  java语句;
  、、、
  break;
  }case3:
  java语句;
  、、、
  break;
  default:
  java语句;
  }

案例分析:

package com.shouyerenst;

import java.util.Scanner;

        /*具体案例
        1.系统接收一个学生的考试成绩,根据考试成绩输出对应等级
        2.等级:
        优:[90——100]
        良:[80——90)
        中:[70——80)
        及格:[60——70)
        不及格:[0——60)
        要求成绩是一个合法的数字在[0——100]之间,可以带小数
        使用switch语句完成
        */
public class switchTest {
    public static void main(String[] args) {
        
        System.out.print("请输入学生成绩:");
        Scanner s = new Scanner(System.in);
        double score = s.nextDouble();
        
        if(score < 0 || score >= 100){
            System.out.println("您输入的成绩不合法");
            return;
        }
        
        int grade = (int) (score / 10);
        String str = "不及格";
        switch (grade){
            case 10: case 9:
                str = "优";
                break;
            case 8:
                str = "良";
                break;
            case 7:
                str = "中";
                break;
            case 6:
                str = "及格";
        }
        System.out.println("该学生的成绩为:"+str);
        
    }
}

算法对程序员来说及其重要,语言和开发平台不断变化,但是万变不离其宗的是那些算法和理论,刷算法最最最直白的原因就是找一个好的工作,那刷题一定是必不可少的
现在算法刷题平台还是蛮多的,给大家介绍一个我认为与大厂关联最深的平台——牛客网 跳转链接

在这里插入图片描述


感觉不错的话,动手点个赞吧!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/125499.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!