zoukankan      html  css  js  c++  java
  • Java【第三篇】基本语法之--选择结构

    补充:Scanner类 

    package com.uncleyong;
    
    //1). 导入 Scanner 类
    import java.util.Scanner;
    
    public class TestScanner{
    
        public static void main(String [] args){
    
            //1. 在控制台输入整数
    
            //2). 创建 Scanner 对象
            Scanner scanner = new Scanner(System.in);
    
            //3. 调用 Scanner 对象的 nextInt() 方法读入输入的整数
            System.out.print("a=");
            int a = scanner.nextInt();
    
            System.out.println("您已经输入的整数 a: " + a);
    
        }
    }
    

    Java分支语句分类

    分支语句根据一定的条件有选择地执行或跳过特定的语句,分为两类:

      if-else 语句
      switch 语句

    if-else 语句

    if-else语句语法格式

    if(布尔表达式){
        语句或语句块;
    }
    if(布尔表达式) {
        语句或语句块;
    } 
    else if(布尔表达式){
        语句或语句块;
    }else {
        语句或语句块;
    }

    if-else语句应用举例

    package com.uncleyong;
    
    public class TestIf {
        public static void main(String[] args) {
            //若 age <= 8, 打印 "没上学"
            //若 age <= 14, 打印出 "小学生"
            //若 age <= 17, 打印 "初中生"
            //若 age <= 20, 打印 "高中生"
            //若 age <= 24, 打印 "大学生"
            //若都不满足, 打印 "大学毕业"
    
            int age = 5;
    
            if(age <= 8){
                System.out.println("没上学");
            }else if(age <= 14){
                System.out.println("小学生");
            }else if(age <= 17){
                System.out.println("初中学");
            }else if(age <= 20){
                System.out.println("高中生");
            }else if(age <= 24){
                System.out.println("大学生");
            }else{
                System.out.println("大学毕业");
            }
        }
    }

    嵌套if结构

    示例:

    如果今天周末

      如果天晴就出去玩

      如果下雨就家里看电视

    否则

      上班

    switch 语句

    switch语句语法格式

    switch(表达式){
        case 常量1:
            语句1;
            break;
        case 常量2:
            语句2;
            break;
        case 常量3:
        case 常量4:
        case 常量5:
            语句5;
            break;
        ……
        case 常量N:
            语句N;
            break;
        [default:
            语句;
            break;]
    } 
    

    上面:3、4、5执行相同的代码,就可以上面方式写

    switch语句应用举例

    package com.uncleyong;
    
    import java.util.Scanner;
    
    public class SwichScore {
        public static void main(String[] args) {
            /*
    			编写程序:从键盘上读入一个学生成绩,
    			存放在变量score中,根据score的值输出其对应的成绩等级:
    			score>=90           等级:A
    			70=<score<90     		等级: B
    			60=<score<70     		等级: C
    			score<60            等级:D
    		*/
            Scanner scanner = new Scanner(System.in);
            System.out.print("请输入学生的学习成绩, score=");
            int score = scanner.nextInt();
    
            switch(score/10){
                case 10:
                case 9:
                    System.out.println("A");
                    break;
    
                case 8:
                case 7:
                    System.out.println("B");
                    break;
    
                case 6:
                    System.out.println("C");
                    break;
    
                default:
                    System.out.println("D");
            }
    
        }
    }
    package com.uncleyong;
    
    public class SwichNum {
        public static void main(String[] args) {
            /* 使用switch语句改写下列if语句:
    	 	  int a = 3;
    		  int x = 100;
    		  if(a==1)
    				x+=5;
    			else if(a==2)
    				x+=10;
    			else if(a==3)
    				x+=16;
    			else if(a==4)
    				x+=34;
    	 	*/
            int a = 3;
            int x = 100;
            switch (a){
                case 1:
                    x += 5;
                    break;
                case 2:
                    x += 10;
                    break;
                case 3:
                    x += 16;
                    break;
                case 4:
                    x += 34;
            }
            System.out.println(x);
        }
    }
    

      

    switch语句有关规则

      switch(表达式)中表达式的返回值必须是下述几种类型之一:int, byte, char, short, 枚举, 字符串(JDK6及以前不支持字符串类型),不能为bool;

            char sex = 'm';
            switch (sex){}
    
            String gender = "male";
            switch (gender){}

      case子句中的值必须是常量,且所有case子句中的值应是不同的;
      default子句是任选的;
      break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,会执行下一个case分支,如果下一个是deault,会执行最后一个default分支。

    if和switch的区别

    switch结构
      只能进行等值的判断,且只能为整型、字符型、字符串

    if结构
      没有限制,适合某个连续区间的判断

    练习题(参考答案已放在Q群文件中)

    1、由键盘输入三个整数分别存入变量num1、num2、num3,对它们进行排序(使用 if-else if-else),并且从小到大输出。

    IfElseSort.java

    2、输入 2017 年的某个月份和日期, 例如 month=4, day=21
    经过程序计算, 打印出输入的月份和日期是 2017 年的第几天. 31+28+31+21

    SwichDay.java

    3、提示用户输入三角形的边a、b、c,范围必须在[1,100)之间

    判断三角形的类型:
    1.非三角形
    2.等边三角形
    3.直角三角形
    4.等腰三角形
    5.普通三角形

  • 相关阅读:
    WebClient设置Expect: 100-continue
    ActiveX控件注册不起作用的解决办法
    RadioButtonFor值为false.默认选中的问题
    Ueditor插入script标签
    Ueditor上传图片到本地改造到上传图片到七牛云存储
    让网页显示ajax的查询数据
    今天升级win10.vs调试程序各种崩溃
    visual assist x vs2012不智能提示
    几道 javascript 题,你全对了吗?
    Node.js中使用TCP套接字编程
  • 原文地址:https://www.cnblogs.com/uncleyong/p/9729185.html
Copyright © 2011-2022 走看看