Java中switch语句的练习(以判定月份所属季节为例),及其中的循环输入问题解析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/z912167269/article/details/60144149

下面针对switch语句的特点、格式及初级练习中的一点小技巧,做如下解析:

一、switch语句特点:

1.switch语句选择的类型只有四种:byteshortintchar

2.case之间与default没有顺序。先判断所有的case,没有匹配的case执行default

3.switch语句停止的条件是遇到了break关键字或者结束switch语句的大括号

4.如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运

行可以执行的语句,直到遇到break或者switch结尾结束。

5.switch case中的值必须要与switch表达式的值具有相同的数据类型。而且case后跟的值必须是常量,不能跟变量。


二、格式:

switch(表达式)

{

case 取值1:

执行语句;

break

case 取值2:

执行语句;

break

…...

default:

执行语句;

break

}

三、例题练习:

/**
需求:根据用于指定的月份,打印该月份所属的季节.
一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句.
345 spring   678 summer 9 10 11  autumn  12 1 2 winter
*/
import java.util.*;
class A{
	public static void main(String[] args){
		System.out.println("请输入月份:");//Scanner sc=new Scanner(System.in);int year=sc.nextInt();
		Scanner sc=new Scanner(System.in);
		int month=sc.nextInt();  //先定义一个变量month,调用输入格式
		while(month<1||month>12){  //通过循环判断不用重复输入的范围
                System.out.println("该月份不存在,请重新输入1-12月:");
		month=sc.nextInt();
		}  //以上是重复输入的循环程序
		switch(month){
			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;
			case 12:
			case 1:
			case 2:
			System.out.println("该月份为冬季");
			break;
			default:
			//month=sc.nextInt(); 这一句有问题,如何实现再输入再执行上面判断?(见代码开端)
			break;}
	}
	}
(注:Code中的注释需要仔细理解!)

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页