黑马程序员—程序流程控制 选择结构 switch 语句及练习

------- android培训java培训、期待与您交流! ----------    

class switchdemo //选择结构  switch 语句及练习
{
	public static void main(String[] args) //不加;不要忘了
	{
/*一:释义
		switch ()
		{
		case 取值:
		执行语句
		break;
		.
		.
		.
		default;
		break;
		}

		稍显复杂
		case  取值1: //标点:引出下面执行语句 case定义备选答案 后面取值就是答案内容;
		 执行语句 ;
		 break;// 跳出switch语句

		 /*三个为一个整体 1:case 取值 2:执行语句 3:break;

		 case  取值2://上面没有找到答案 继续取值2
		 执行语句 ;
		 break;// 跳出switch语句
          .
		  .
		  .
		  .

		default: //缺省(sheng)默认 所有答案都不对 就读这个默认情况
		执行语句 ; 
		break
二:switch 语句特点 四个

		特点一:被选择的表达式的值只接收四种类型:byte short int char(见下)  
		       一般情况只有int 和 char两种     byte和 short较少见
		特点二:case 和 default没有固定的顺序 default可以写在case前面 但是
		       不会先执行default 只有所有情况都不对才执行它 也就是执行的顺
			   序不会变 写的顺序可以变
		特点三:switch语句有两种结束情况 1到 break   2到switch语句最后的大括号
		特点四:如果与switch匹配的case和default没有对应的break,那么程序会继续
		       向下执行,运行可以执行的语句,直到遇到 break 或者switch结尾为止
			   (可以利用这个特点解决上个if练习中 季节的问题 见最下)

*/

		int m=2;   //必须先设定值啊 别忘;
		switch (m)
		{
			case 4://不要写成(x=4): 就错了 因为就值一个值 不用()
				System.out.println("a");
				break;// 跳出switch语句
			case 6:
				System.out.println("b");
				break;
			case 2:
				System.out.println("c");
				break;
			default:
				System.out.println("d");
			break; //可以省略 但..还是写吧
		}


//三:特点一的char示例

		int a=2,b=3;//不要丢了顿号
     	char ch='+';
		switch (ch)//定义char 类型数据 直接写定义好的ch就可
		{
			case '-':
				System.out.println(a-b);
				break;
			case '+':
				System.out.println(a+b);
				break;
	        case '*':
				System.out.println(a*b);
				break;
			case '/':	
				System.out.println(a/b);
				break;
			default:
				System.out.println("非法输入");
				break;
		}

/*
四:利用switch 语句解决前面if 语句的季节练习题

	       需求 :根据用户指定月份,打印该月份所属的季节。
           3,4,5 春季 6,7,8 夏季  9,10,11 秋季 12, 1, 2 冬季
*/
		
    int x=9;
		switch(x) //不加;

		/*  记录自己的错误 不删了
		{
			case x=3://不要写成x=3 上面已经说了 要记住
			case x=4:
			case x=5:
				System.out.println(x+"月是春季");
				break;

			
			case x=6:
			case x=7:
			case x=7:
				System.out.println(x+"月是夏季");
				break;

				
			case x=9:
			case x=10:
			case x=11:
				System.out.println(x+"月是秋季");
				break;

				
			case x=12:
			case x=1:
			case x=2:
				System.out.println(x+"月是冬季");
				break;
			default:
				System.out.println("you type in wrong!");
			
		}
		*/

		{
			case 3://不要写成x=3 上面已经说了 要记住
			case 4:
			case 5:
				System.out.println(x+"月是春季");
				break;

			
			case 6:
			case 7:
			case 8:
				System.out.println(x+"月是夏季");
				break;

				
			case 9:
			case 10:
			case 11:
				System.out.println(x+"月是秋季");
				break;

				
			case 12:
			case 1:
			case 2:
				System.out.println(x+"月是冬季");
				break;
			default:
				System.out.println("you type in wrong!");
	
/*五:注意 switch 与 if 的区别
		1:if判断区间比switch 简单 上例若是月份多就不好办了  
		2:对于结果是布尔型的 if 可判断 switch不行
		3:重要 开发时的选择 选哪个呢??
		  switch:如果具体数值不多 而且是byte short int char这四种类型 
		         就用switch 利用它一下子就将语句装入内存的特点 if也行
				 但是一条条的效率低
		  if    :结果是boolean型 或者区间时使用 适用范围广 比较高效 

		 PS:jdk7.0 已经将switch语句接收类型的范围扩大 可以判断字符串了
			jdk5.0 的时候也对switch进行了增强 可以对枚举类进行选择
		    第二天终于完了 ooo
*/
	 }
	}
}
   

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值