zoukankan      html  css  js  c++  java
  • 038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结

    038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结

    本文知识点:案例演示switch结构并对switch结构进行总结

    案例演示switch结构

    mark

    程序代码:
    下图中的代码没有格式缩进,如何解决?
    mark

    在eclipse的代码编辑区,右击,source→format
    mark

    代码就完成格式缩进了,看起来清爽很多
    mark

    执行程序,会发现有问题:
    发现输入4,包括周四之后的所有语句都输出了。
    mark

    原因何在?
    答案很简单,没有添加break语句。

    那解决办法也很简单,在case4的输出语句后添加上break,再测试,输入4,此时发现,程序只输出了周四,之后就结束了,再没有输出其他case4之后的语句。break的作用就在于此。
    mark

    所以,我们该给每个case之后都添加上break语句。

    public static void main(String[] args) {
    	System.out.println("请输入数字1-7,表示周一到周天");
    	Scanner sc = new Scanner(System.in);
    	int n = sc.nextInt();
    	switch (n) {
    	case 1:
    		System.out.println("周一");
    		break;
    	case 2:
    		System.out.println("周二");
    		break;
    	case 3:
    		System.out.println("周三");
    		break;
    	case 4:
    		System.out.println("周四");
    		break;
    	case 5:
    		System.out.println("周五");
    		break;
    	case 6:
    		System.out.println("周六");
    		break;
    	case 7:
    		System.out.println("周天主日,分别为圣的日子,敬拜上帝");
    		break;
    	default:
    		System.out.println("输入的数据超出了1-7的范围!");
    	}
    }
    

    程序执行结果没有问题。
    mark

    mark

    如果输入的不是整型会如何?

    如果输入的数据不是要求的整型(n初始化的时候是int类型),则产生输入不匹配异常:InputMismatchException
    mark

    改写程序——不用整数匹配,而改用字符串进行switch表达式与case常量的匹配

    改写程序的代码及其运行结果:

    public static void main(String[] args) {
    	System.out.println("请输入表示星期的英文单词,表示周一到周天");
    	Scanner sc = new Scanner(System.in);
    	String week = sc.next();
    	switch (week) {
    	case "MONDAY":
    		System.out.println("周一");
    		break;
    	case "TUESDAY":
    		System.out.println("周二");
    		break;
    	case "WEDNESDAY":
    		System.out.println("周三");
    		break;
    	case "THURSDAY":
    		System.out.println("周四");
    		break;
    	case "FRIDAY":
    		System.out.println("周五");
    		break;
    	case "SATURDAY":
    		System.out.println("周六");
    		break;
    	case "SUNDAY":
    		System.out.println("周天主日,分别为圣的日子,敬拜上帝");
    		break;
    	default:
    		System.out.println("单词输入错误!");
    	}
    }
    

    注意:字符串类型的匹配注意要区分大小写
    mark

    单词全部大写输入正确无误后,程序执行结果无误。
    mark

    mark

    如何随便输入,都能保证是大写?
    添加一行代码:

    week = week.toUpperCase();  //把字符串中的字符全部改为大写
    

    添加这行代码后,运行程序,发现即使输入小写,也完全没有问题
    mark
    mark

    插一句,改为大写字母的代码为什么可以这样写?

    String week = sc.next();
    week = week.toUpperCase();  //把字符串中的字符全部改为大写
    

    因为String 本身是类,week是类对象,对象通过对象名.方法名的形式调用方法。

    这一点,目前不必深究,后面学到面向对象会详细讲解。

  • 相关阅读:
    NodeJS旅程 : module 不可忽略的重点
    NodeJS旅程 : Less
    NodeJS旅程 : express
    新的旅程:NodeJS
    活用命令模式
    20145226《信息安全系统设计基础》第0周学习总结
    20145226夏艺华 《Java程序设计》第1周学习总结
    学习 MySQL-DBA常用SQL汇总
    关于旗舰店直通车的由来
    学习 Mysql
  • 原文地址:https://www.cnblogs.com/xlfcjx/p/13678193.html
Copyright © 2011-2022 走看看