switch

1、switch表示关键字,表示switch分支

2、表达式代表一个值

3、break代表退出switch

4、先和case进行匹配,若匹配就执行,不匹配那就接着匹配后面的,若都没有匹配,就去执行default(默认)。

细节:重要

若第一个匹配成功那么,我们可以知道,他会执行语句块1,在看他有没有break,要是有的话,我们就这道他就会调出循环,要是没有的话,他就会继续值行语句块2,此时应该注意到,他没有进行case2语句的比较,是直接执行的哦。后续按照这样的规则继续执行,也要看语句的后面有没有break。假如第一个就匹配成功了,且后面的语句都没有break,那么就会将所有的语句都执行了。

1、表达式的数据类型,应该和case后面的常量类型一致,或者可以使自动转换成可以相互比较的类型,比如输入的是字符,而常量是int;

2、switch(表达式)中的表达式的返回值必须是(byte,short,int,char enum【枚举】,String)不能是double

3.case中的值必须是常量而不能是变量,或者是常量表达式。defalut

4、default是可选的,也可以没有。当没有case可选,那就执行default。

5、break语句是跳出循环的。(结束switch语句的)

我一定要拿到offer!!!都会学会,也都会学好。从没有break的哪里开始穿透。(一步步执行)

 

import java.util.Scanner;
public class Change{
 
	public static void main(String[] args){	
		Scanner myscanner = new Scanner(System.in);
		System.out.println("请输入月份");//先对输入的信用分进行一个有限的判断。
		char week = myscanner.next().charAt(0);
		switch(week){
		
		case 'a' :   System.out.println("星期1");break;
		case 'b' :   System.out.println("星期2");break;
		case 'c' :   System.out.println("星期3");break;
		case 'd' :   System.out.println("星期4");break;
		case 'e' :   System.out.println("星期5");break;
		case 'f' :   System.out.println("星期6");break;
		case 'g' :   System.out.println("星期天");break;
		default :   System.out.println("闹着玩呢");break;
		
		}
		System.out.println("想要甜甜的恋爱");
   	}

}

小练习:

import java.util.Scanner;
public class Change{
 
	public static void main(String[] args){	
		/*
		对于成绩大于60的,输出合格,低于60的,输出不合格;
		//如果成绩在【60-100】,(int)(score/60)= 1;
		强制转换要记住啊。
		使用if - else-判断最开始的条件。尽量多想一点哦。

				 */ 
		Scanner myscanner = new Scanner(System.in);
		System.out.println("请输入您的成绩成绩");//先对输入的信用分进行一个有限的判断。
		double score = myscanner.nextDouble();
		switch((int)(score/60){
			case 1 :
				System.out.println("合格");
					break;
			case 0 :
				System.out.println("不合格");
					break;	
						
		
		}
		System.out.println("结束了,我什么时候才能工作");
   	}

}
import java.util.Scanner;
public class Change{
 
	public static void main(String[] args){	
		/*
		对于成绩大于60的,输出合格,低于60的,输出不合格;
		//如果成绩在【60-100】,(int)(score/60)= 1;
		强制转换要记住啊。
		使用if - else-判断最开始的条件。尽量多想一点哦。

				 */ 
		Scanner myscanner = new Scanner(System.in);
		System.out.println("请输入月份");//先对输入的信用分进行一个有限的判断。
		int month = myscanner.nextInt();
		if (month >= 1 && month <= 12) {
			
		
		switch(month){
			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;
			case 8 :
				System.out.println("这是夏季");
				    break;
			case 9 :
				System.out.println("这是秋季");
			        break; 
			case 10 :
				System.out.println("这是秋季");
				    break;
			case 11 :
				System.out.println("这是秋季");
				    break;
					
			case 1 :
				System.out.println("这是冬季");
			       break;
			case 2 :
				System.out.println("这是冬季");
			       break;
			case 12 :
				System.out.println("这是冬季");
				   break;
		}
		}else{
				System.out.println("出错了");
				//这里可以用switch语句的default。也可以进行简化的。

		}
		
   	}

}

简化的不写了。00 

switch  和if  的比较,使用哪一种呢,

1、如果判断的具体数值不多,而且符合byte、short int 、char、enum String这6中类型,虽然两个语句都可以使用,建议使用switch。

2、如对区间判断,对结果为Boolean类型判断,使用if比较好。 

要有自己的思想,要有自己的思想。要有自己的想象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值