javaswitchcase怎么判断范围_java⼩⽩从⼊门到精通(基础
⼆)
六:流程控制语句
1.作⽤:
⼀个程序他在执⾏的时候,各个语句的执⾏顺序对程序的结果是有直接影响的,所以我们必须很清楚每
条语句的执⾏流程。并且有些时候我们需要通过控制语句的执⾏流程来实现我们要完成的功能。
2.流程控制语句的分类:
-顺序结构
-选择结构
-循环结构
3.顺序结构
是程序中最简单的结构,是最基本的流程控制,没有特定的语法,按照代码的先后顺序依次执⾏,程序中很多代码都是这样执⾏的。简单来说:写在前⾯的先执⾏
4.选择结构(分⽀结构)
-有特定的语法,代码需要执⾏具体的逻辑运算进⾏判断,逻辑运算的结果有两个,真或假,所以就产⽣了选择,按照不同的选择去执⾏不同的代码。
-Java语⾔中提供了两种选择结构语句
if
switch
-选择结构之if语句:(使⽤是针对⼀个表达式结果是boolean类型的判断;针对⼀个范围的判断) (if 语句是可以随意嵌套的)
格式:a: if(关系表达式){
语句体;
}
执⾏流程:先判断关系表达式,看结果是真还是假—真执⾏语句体,假不执⾏
注意:关系表达式不管在怎么复杂,结果必须是boolean类型 if语句中的语句体如果只有⼀条语句体,{}可以不写(建议永远不要省);多条语句,{}必须写
b: if(){
语句体1;
}
else{
语句体2;
}
执⾏流程:先判断关系表达式,看结果是真还是假----如果是真执⾏语句体1;假执⾏语句体2。
注意: 此语句在某些情况下和三元运算符是可以相互转化的。三元运算符的操作都可以使⽤if语句来实现,反之不成⽴。
当if语句的语句体是⼀条输出语句的时候,就不成⽴。因为三元运算符是运算符,必须要有⼀个结果返回去。输出语句不能作为结果返回。eg:(i%2 == 0)?System.out.println("输⼊的是偶数"):System.out.println("输⼊的是奇数");
此写法错误
c: if(关系表达式1){
语句体1;
}
else if(关系表达式2){
语句体2;
}
else if(关系表达式3){
语句体3;
}
......
else{
语句体n+1;
}
执⾏流程:先判断关系表达式1,看结果是真是假-----如果是真执⾏语句体1;假就继续判断关系表达式2,看结果真假,以此类推。
如果没有⼀个关系表达式为真就执⾏语句体n+1;
注意:这个代码实现了基本要求,但是存在问题,程序将来是要给⽤户使⽤的,他有时候不按套路出牌,所以在测试程序的时候,⼀定要考虑⼀些问题:
正确数据,错误数据,边界数据
if语句的 格式⼀:单个判断 格式⼆:两个判断 格式三:多个判断例题
例题:使⽤键盘录⼊ x 的值,计算出 y 的值 x>5 y = 3x+1; 0<x<5 y = 3x; x<0 y=3x-1;
-选择结构之switch语句:
格式:
switch(表达式){
case 值⼀:
语句体1;
break;
case 值⼆:
语句体2;
break;
case 值三:
语句体3;
break;
...........
default:
语句体n+1;
break;
}
格式说明:
switch表⽰这是⼀个switch语句,表达式的取值:byte 、short 、 int 、 char 、枚举(jdk5以后) 、 String(jdk7以后)。
case后跟的是要和表达式进⾏⽐较得值,语句体可以是1条语句,也可以是多条语句
break表⽰跳出switch语句,(中断)结束switch语句
default语句表⽰所有情况都不符合的时候就执⾏default处的语句,它和if语句中的else作⽤相似。
执⾏流程:
先计算表达式的值和case后的值依次进⾏⽐较,⼀旦发现有对应的值,就执⾏对应的语句,执⾏过程中碰到break就结束了。
如果所有的case值都与之不匹配,就执⾏default后的语句体。执⾏完成后结束switch。
/*
⽤switch语句 键盘录⼊⼀个数据,根据数据的值,输出对应的星期
/*
Scanner sc = new Scanner(System.in);
System.out.println("请输⼊⼀个范围在1-7的数: ");
int day = sc.nextInt();
switch(day){
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("输⼊有误,请重新输⼊!"); break;
}
}
}
//break不能省,case穿透
int b = 5;
switch(a){
default:
b++;
break;
case 2:
b++;
break;
case 3:
b++;
break;
}
System.out.println(b);
int a = 2;
int b = 3;
switch(a){
default:
b++;
case 3:
b++;
case 4:
b++;
}
System.out.println(b);
}
}
注意: case后⾯只能是常量,不能是变量。多个case后⾯的值不能出现相同的。 default 可以省略,建议不要省略。 break 也可以省略,但是也不要省略。
default语句可以出现在switch语句中的任意位置。
/*
⽤switch语句模拟⼀个选择题
分析:
先出⼀道题,给出选择答案
java switch case string通过键盘选择你认为正确的答案
根据你的选择来判断是否选择正确
case 后可以是字符,但是Scanner却没有可以接受字符的⽅法
所以我们可以接受⼀个整数,然后把整数强转成字符。
*/
System.out.println("请选择你最喜欢的⼥明星:");
System.out.println("65:迪丽热巴");
System.out.println("66:杨幂");
System.out.println("67:佟丽娅");
System.out.println("68:杨颖");
/
/键盘录⼊
Scanner sc = new Scanner(System.in);
System.out.println("请选择: ");
int number = sc.nextInt();
char yourChose = (char)number;
switch(yourChose){
case'A':
System.out.println("你选的是迪丽热巴");
break;
case'B':
System.out.println("你选的是迪丽热巴");
break;
case'C':
System.out.println("你选的是迪丽热巴");
break;
case'D':
System.out.println("你选的是迪丽热巴");
break;
default:
System.out.println("没有该选项");
break;
}
}
}
练习:
/*
键盘录⼊字符串,判断是否有匹配的,如果有就输出该字符串,没有的话输出错误*/
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论