java键盘输入语句_java学习笔记(5) 控制语句、键盘输入

/*关于switch语句:

1、switch语句也属于选择结构,也属于分支语句

2、switch语句的语法结构

一个完整的switch语句应该这样编写:

switch(int或String类型的字面值或变量){

case int或String类型的字面值或变量:

java语句;

...

break;

case int或String类型的字面值或变量:

java语句;

...

break;

default :

java语句;

...

};

3、switch语句执行原理:

switch后面小括号当中的"数据"和case后面的"数据",进行一一匹配,匹配成功的分支执行。

按照从上到下的顺序依次匹配。

4、匹配成功的分支执行,分支当中最后有break语句,整个switch语句终止。

5、匹配成功的分支执行,分支当中最后没有break语句的话,直接进入下一个分支执行(不进行匹配)。

这种现象被称为case穿透现象。【提供break;语句可以避免穿透】

6、所有分支如果都没有匹配成功,如果有default语句的话,会执行default分支当中的语句。

7、switch后面和case后面只能是int或String类型的数据,不能探测其它类型!

*当然,byte、short、char也可以直接写到switch和case后面,因为他们可以进行自动类型转换。

byte、short、char可以自动转换为int类型。

*JDK6版本的话,switch和case后面只能探测int类型。

*JDK7以后版本包括JDK7版本,引入新特性,switch和case后面可以探测int或String类型的数据。

8、case可以合并:

int i = 10;

switch(i){

case 1: case 2: case 3: case 10:

java语句;

...

break;

default:

java语句;

}*/

public classSwitch01{public static voidmain(String[] agrs){/*类型错误

long a = 100L;

int b = a;*/

//和上面的报错原因相同//long x = 100L;//switch(x){}//解决编译错误

long x = 100L;switch((int)x){};byte b = 10;switch(b){};short s = 20;switch(s){};char c = 'A';switch(c){};char cc = 97;switch(cc){};//switch(true){}; 编译错误 不兼容的类型 无法转换为int

String username= "张三";switch(username){};/*较完整的switch语句*/

//接收用户的输入://输入1:星期一//输入2:星期二//...//输入7:星期日

java.util.Scanner o= newjava.util.Scanner(System.in);

System.out.print("请输入数字1-7:");int num =o.nextInt();switch(num){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("您输入的啥都不是");

}

System.out.println("======================");//case穿透

switch(num){case 1:

System.out.println("星期一");//break; 输入1、2都会穿透到3的分支

case 2:

System.out.println("星期二");//break; 输入1、2都会穿透到3的分支

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("您输入的啥都不是");

};

System.out.println("======================");//case合并

switch(num){case 1: case 2: case 3: case 4: case 5:

System.out.println("工作日");break;case 6: case 7:

System.out.println("休息日");break;default:

System.out.println("您输入的啥都不是");

};

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值