switchi case和循环结构
1、switch case
1.1结论概述
这里使用的switch - case结构是一个可以在很多开发语言中通用使用的
演示使用的数据类型是int类型,并且要求在没有讲述其他可以使用类型之前
只能使用int
switch (/* 变量 */) {
case常量选择1:
// 处理方式1 ;
break ;
case常量选择2 :
// 处理方式2;
break;
case常量选择3:
// 处理方式3;
break;
default:
// 最终处理方式;
break;
}
执行流程:
代码运行到switch case结构
首先取出switch之后小括号中变量保存的数据
匹配switch大括号以内的case选择,找到对应的常量选择匹配。
如果找到了对应的匹配选择,执行对应的处理方式。
如果没有找到匹配选择,执行default里面的处理方式。
这里【break】关键字用于结束switch case运行
*/
1.2 switch - case使用注意事项
1. 在switch - case结构中,有且只能执行case,或者default之后的语句。如果存在在case和default之外的语句,是无法执行的,对于Java而言是无效代码。
2.在switch - case结构中,如果存在case或者default选择缺少break操作。代码会继续运行到下一个break,或者大括号}(switch case结尾大括号)终止switch - case
3.在switch - case结构中,不允许出现相同的case选项,代码无法进行操作选择,因为所有case选择是平级的
4.在switch - case结构中,default可以省略,代码编译不会受到影响,没有语法错误。但是失去switch case自带的一种异常情况处理方式。
1.3总结
1. switch case结构和if else if结构类似,两者是可以互通
2. if else if结构中可以处理范围性数据,处理的数据区间更加广泛
3. switch case处理数据明确性更强,处理针对性选择比较合适
2、循环结构
2.1为什么要用循环
代码中一定存在需要循环出现的情况,如果不使用循环,会导致以下一些问题1.阅读性极差 2.维护性极差 3.代码冗余
2.2while循环
while(/* 循环条件true or false */) {
//循环体
// (循环条件变更)
}
执行流程:
当前程序运行到while循环结构时,首先判断while之后的小括号里面的循环条件是否为true,如果为true,执行循环体,在回到循环条件判断,直到循环条件为false,终止循环
class Demo {
public static void main(String[] args) {
//循环使用的变量,int类型,变量名i初始化为1
inti = 1
//保存1 ~ 100相加之和的变量sum
intsum = 0;
//利用while循环
while(i <= 100) {
sum+=i;
i+=1;
}
System.out.println("Sum : "+sum);
}
2.3 do - whlie循环
do{
// 循环体
// (循环条件变更)
} while (/* 循环条件判断 */);
执行流程:
当程序执行到do - while循环结构时,首先执行一次循环体(循环条件变更),再来判断while中循环条件判断是否为true,如果为true,继续执行,如果为false,终止循环。
注意】
1. while(condition);
这里英文分号
2.执行do - while需要明确第一次循环会不会存在隐患
使用do - while循环展示小写字母a ~ z
class Demo
{public static void main(String[] args) {
/* char类型的变量,变量名ch,初始化数据为'a' */
charch = 'a';
do{
System.out.println("ch : "+ch);
ch += 1;
// ch++; ++ch;
} while (ch <= 'z');
}
}
2.4虚幻和分支的嵌套
使用do - while循环,完成一个点菜系统
1.完成用户的点菜功能
2.点菜之后输出总价
3.用户指定方式退出
import java.util.Scanner;
class Demo {
public static void main(String[] args) {
/* 这里需要一个变量int类型,作为用户的选择变量名choose */
int choose = 0;
/* 计算得到总价格,int类型,变量名为total */
int total = 0;
/*准备一个Scanner类型的变量,用于从键盘上获取用户输入的数据*/
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.下单");
do {
choose=sc.nextInt();
switch(choose) {
case1:
System.out.println("1.青岛啤酒8RMB");
total+=8;
break;
case2:
System.out.println("2.野格88RMB");
total+=88;
break;
case3:
System.out.println("3.江小白25RMB");
total+=25;
break;
case4:
System.out.println("4.乌苏6RMB");
total+=6;
break;
case5:
System.out.println("5. 166418RMB");
total+=18;
break;
case6:
System.out.println("6.下单");
break;
default:
System.out.println("选择错误");
break;
}
} while (choose != 6);
System.out.println("本场消费: "+total);
}
}
总结
1. 循环过程中最核心的内容就是循环变量,需要对于循环变量的执行的过程中数值变量完全掌握!!!如果无法明确循环的次数,循环变量的值,循环的过程,可以将循环代码中变量的变更过程记录。
2.循环过程中需要注意无限循环问题,控制无限循环问题的出现。一定要保证循环条件有效性或者代码中存在一个跳出循环的机制。
3. do while循环中,第一次循环体的执行是没有经过任何的条件判断的,需要注意!
【已知,可控】
4. while和do while循环结构是可以进行互换的。
5.然后在while和do while之间考虑使用的情况下,一般推荐使用while循环。但是不代表do while没有实际的使用效果。