Switch case 和循环结构
1. switch case
switch ( ) {
case 常量选择1 :
break ;
case 常量选择2 :
break ;
case 常量选择3 :
break ;
default :
break ;
}
import java. util. Scanner;
class Demo4 {
public static void main ( String[ ] args) {
int choose = 0 ;
Scanner sc = new Scanner ( System. in) ;
System. out. println ( "欢迎来到骚磊米其林十二星餐厅" ) ;
System. out. println ( "1. 五顺斋烤鸭" ) ;
System. out. println ( "2. 重庆/四川火锅" ) ;
System. out. println ( "3. 擀面皮" ) ;
System. out. println ( "4. 烤羊排" ) ;
System. out. println ( "5. 佛跳墙(God Use VPN)" ) ;
choose = sc. nextInt ( ) ;
switch ( choose) {
case 1 :
System. out. println ( "五顺斋烤鸭 82RMB" ) ;
break ;
case 2 :
System. out. println ( "重庆/四川火锅 180RMB" ) ;
break ;
case 3 :
System. out. println ( "擀面皮 5RMB" ) ;
break ;
case 4 :
System. out. println ( "烤羊排 65RMB" ) ;
break ;
case 5 :
System. out. println ( "佛跳墙(God Use VPN) 998RMB" ) ;
break ;
default :
System. out. println ( "不好意思,您选择错误!!!" ) ;
break ;
}
}
}
1.2 switch - case使用注意事项
1. 在switch - case结构中,有且只能执行case,或者default之后的语句。如果存在在case 和default之外的语句,是无法执行的,对于Java而言是无效代码。
报错:unreachable code
2. 在switch - case结构中,如果存在case或者default选择缺少break操作。代码会继续运行到下一个break,或者大括号 }(switch case结尾大括号) 终止switch - case!!
3. 在switch - case结构中,不允许出现相同的case选项,代码无法进行操作选择,因为所有case选择是平级的
4. 在switch - case结构中,default可以省略,代码编译不会受到影响,没有语法错误。但是失去switch case自带的一种异常情况处理方式。
AJCG阿里巴巴Java开发规范中,是不推荐省略default
1.3 总结
1. switch case结构和if else if 结构类似,两者是可以互通
2. if else if结构中可以处理范围性数据,处理的数据区间更加广泛
3. switch case处理数据明确性更强,处理针对性选择比较合适
2.循环结构
2.1 为什么要用循环
代码中一定存在需要循环出现的情况,如果不使用循环,会导致以下一些问题
1. 阅读性极差!!!
2. 维护性极差!!!
3. 代码冗余!!!
2.2 while 循环
while ( ) {
}
class Demo8 {
public static void main ( String[ ] args) {
int i = 1 ;
int sum = 0 ;
while ( i <= 100 ) {
sum += i;
i += 1 ;
}
System. out. println ( "Sum : " + sum) ;
System. out. println ( ( 1 + 100 ) * 50 ) ;
}
}
2.3 do-while 循环
do {
} while ( ) ;
class Demo11 {
public static void main ( String[ ] args) {
char ch = 'A' ;
do {
System. out. println ( "ch : " + ch) ;
ch += 1 ;
} while ( ch <= 'Z' ) ;
}
}
2.4 循环和分支的嵌套
import java. util. Scanner;
class Demo13 {
public static void main ( String[ ] args) {
int choose = 0 ;
int total = 0 ;
Scanner sc = new Scanner ( System. in) ;
System. out. println ( "欢迎来到骚磊老酒馆" ) ;
System. out. println ( "1. 青岛啤酒 8RMB" ) ;
System. out. println ( "2. 野格 88RMB" ) ;
System. out. println ( "3. 江小白 25RMB" ) ;
System. out. println ( "4. 乌苏 6RMB" ) ;
System. out. println ( "5. 1664 18RMB" ) ;
System. out. println ( "6. 下单" ) ;
while ( choose != 6 ) {
choose = sc. nextInt ( ) ;
switch ( choose) {
case 1 :
System. out. println ( "1. 青岛啤酒 8RMB" ) ;
total += 8 ;
break ;
case 2 :
System. out. println ( "2. 野格 88RMB" ) ;
total += 88 ;
break ;
case 3 :
System. out. println ( "3. 江小白 25RMB" ) ;
total += 25 ;
break ;
case 4 :
System. out. println ( "4. 乌苏 6RMB" ) ;
total += 6 ;
break ;
case 5 :
System. out. println ( "5. 1664 18RMB" ) ;
total += 18 ;
break ;
case 6 :
System. out. println ( "6. 下单" ) ;
break ;
default :
System. out. println ( "选择错误" ) ;
break ;
}
}
System. out. println ( "本场消费 : " + total) ;
}
}
2.5 总结
1.循环过程中最核心的内容就是循环变量,需要对于循环变量的执行过程的数值变化完全掌握。如果无法明确循环的次数,循环变量的值,循环的过程,可以将循环代码中变量的变更记录下来
2.循环过程中需要注意无限循环问题,避免无限循环问题的出现,一定要保证循环条件的有效性或者代码中有跳出循环的机制
3.do-while 循环中,第一次循环体的执行是没有经过任何条件判断的,需要注意!!
4.while 和 do-while 循环结构是可以互换的
5.在 while 和 do-while 之间考虑使用,一般推荐 while 循环,但不代表 do-while 没有实际使用效果
3.收获
拼搏到无能为力,坚持到感动自己
1.掌握了 switch case 和2中循环结构【while】、【do while】
2.有一些问题可以用循环解决,但是如果有更高效的公式或方法,尽量不要使用循环,影响性能
3.学习了利用分支结构和循环的嵌套解决一些实际的问题
4.在 while 和 do while 两种循环结构中,while 相对更严谨,因为每一次循环体的执行都经过了条件判断