Java学习之switch题集锦

来源:互联网 发布:手机淘宝店铺管理软件 编辑:程序博客网 时间:2024/06/16 16:33
package basis.day02;/** * switch语句改写 * @author LENOVO * */public class HomeWorkSwitch_01 {    public static void main(String[] args){        int a = 3;        int x = 100;//      if(a == 1)//          x += 5;//      else if(a == 2)//          x += 10;//      else if(a == 3)//          x += 16;//      else //          x +=34;                 //      //      System.out.println(x);      //116        /*         * 使用switch语句         */        switch(a){            case 1:                x += 5;                break;            case 2:                x += 10;                break;            case 3:                x += 16;                break;            default:                x += 34;                break;        }        System.out.println(x);    }}

几个case执行语句一致时,switch解决的简单方法:
其中灵活运用case穿透和break。

package basis.day02;import java.util.Scanner;/** * 从键盘读入一个学生成绩,存放在变量score中, * 根据score的值输出其对应的成绩等级 * 注:若是几个case中的执行语句一致,可以写到一起。 * (如:case 1: *     case 2: *     case 3: *          执行语句; *          break;) * 若是不写break,程序将从符合条件的语句一致执行到switch末尾 * @author LENOVO * */public class HomeWorkSwitch_02 {    public static void main(String[] args){        //创建Scanner类对象        Scanner sc = new Scanner(System.in);        System.out.println("请输入学生成绩:");        //从键盘获取学生成绩        int score = sc.nextInt();        switch(score / 10){            case 10:    //若score / 10  == 10 ,程序一直会执行到case 9 下的break。(从而达到 【90-100】A等级要求 )            case 9:                System.out.println("成绩等级为A");                break;            case 8:            case 7:                System.out.println("成绩等级为B");                break;            case 6:            case 5:                System.out.println("成绩等级为C");                break;            case 4:            case 3:            case 2:            case 1:            case 0:                System.out.println("成绩等级为D");                break;            default:                System.out.println("输入有误");                break;        }    }}

从控制台获取char型数据的方法:
先拿String,再调用String中的charAt(int index)方法

package basis.day02;import java.util.Scanner;/** * 使用switch把小写类型的char型转为大写。 * 只转换a,b,c,d,e.其他的输出"other". * @author LENOVO * */public class HomeWorkSwitch_03 {    public static void main(String[] args){        /*         *从控制台获取char型数据         *Scanner类中没有直接获取char型数据的方法         *通过调用nextLine()方法,该方法返回String型数据         *通过调用String类中charAt(int index),返回char型数据         *java中从控制台获取char类型基本都是通过先得到String型数据,再用charAt()获得char型         */        //char word = 'a';  //a97 A65        //从控制台获取char型数据        Scanner sc = new Scanner(System.in);    //System.in 返回 static InputStream                                                //Scanner调用Scanner(InputStream source)构造方法        System.out.println("请输入char型数据:");        //从控制台获取char型数据        char word = sc.nextLine().charAt(0);   //通过调用nextLine()方法,该方法返回String型数据                                               //通过调用String类中charAt(int index),返回char型数据        switch(word){            case 'a':                System.out.println((char)('a' - 32));                break;            case 'b':                System.out.println((char)('b' - 32));                break;            case 'c':                System.out.println((char)('c' - 32));                break;            case 'd':                System.out.println((char)('d' - 32));                break;            case 'e':                System.out.println((char)('e' - 32));                break;            default:                System.out.println("other");        }    }}
package basis.day02;import java.util.Scanner;/** * 对学生成绩大于60分的,输出“合格”。低于60分,输出“不合格”。 * @author LENOVO * */public class HomeWorkSwitch_04 {    public static void main(String[] args){        Scanner sc = new Scanner(System.in);        System.out.println("请输入学生成绩:");        //获取成绩        int score  = sc.nextInt();        //判断        switch(score / 60){            case 0:                System.out.println("不合格");                break;            case 1:                System.out.println("合格");                break;            default:                System.out.println("输入有误,请重新输入。");                break;        }    }}
package basis.day02;import java.util.Scanner;/** * 根据指定月份,打印该月份所属的季节,3,4,5春季 * 6,7,8夏季 9,10,11秋季12,1,2冬季 * 当多个case条件执行语句一致是可以按照以下方式写, * 若没有break,程序从符合条件处开始执行一致到break或者switch末尾 * @author LENOVO * */public class HomeWorkSwitch_05 {    public static void main(String[] args){        Scanner sc = new Scanner(System.in);        System.out.println("请输入月份(1-12)");        //从控制台获取月份        int month = sc.nextInt();        //判断        switch(month){            case 12:            case 1:            case 2:                System.out.println("冬季");                break;            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;            default:                System.out.println("输入有误,请重新输入");                break;        }    }}
2 0
原创粉丝点击