switch(表达式){
case值1:
语句体1;
break;
case值2:
语句体2;
break;
default:
语句体n+1;
break;
}
格式说明:
1.表达式取值为byte,short,int,char,JDK5以后可以是枚举,JDK7以后可以是字符串(String)
2.case:后面跟的是要和表达式进行比较的值
3.语句体:这个部分可以是一条或者多条语句
4.break:表示中断,结束的意思,可以控制switch语句的结束
5.default:当所有的值都和表达式不匹配的时候,就执行default控制的语句。其实他就相当于if语句的else
// 创建键盘录入
Scanner sc = new Scanner(System.in);
//接收到键盘录入的整数类值
System.out.println("请输入星期数阿拉伯:");
int number = sc.nextInt();
switch (number){
case 1://如果number 的值等于 case 值的话就打印下面的输出语句 然后退出 switch
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
需求:一年有12个月,分属于春夏秋冬4个季节,键盘录入一个月份,请用程序实现判断该月份属于哪个季节,并输出。
春:3、4、5
夏:6、7、8
秋:9、10、11
冬:1、2、12
多个case后面的值不可以重复,重复则编译报错。
// 春:3、4、5
// 夏:6、7、8
// 秋:9、10、11
// 冬:1、2、12
// 创建键盘录入
Scanner sc = new Scanner(System.in);
//接收到键盘录入的整数类值
System.out.println("请输入季节数字:");
int number = sc.nextInt();
switch (number){
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;
case 8:
System.out.println("夏天");
break;
case 9:
System.out.println("秋天");
break;
case 10:
System.out.println("秋天");
break;
case 11:
System.out.println("秋天");
break;
case 12:
System.out.println("冬天");
break;
// 春:3、4、5
// 夏:6、7、8
// 秋:9、10、11
// 冬:1、2、12
// 创建键盘录入
Scanner sc = new Scanner(System.in);
//接收到键盘录入的整数类值
System.out.println("请输入季节数字:");
int number = sc.nextInt();
switch (number){
case 1:
case 2:
case 12:
System.out.println("冬天");
break;
case 3:
case 4:
case 5:
System.out.println("春天");
break;
case 6:
case 7:
case 8:
System.out.println("夏天");
break;
case 9:
case 10:
case 11:
System.out.println("秋天");
break;
循环结构的组成:
初始化语句:用于表达循环开启时的起始状态,简中说就是循环开始时候什么样
条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去循环体语句:用丁表示循环反复执行的内容,简单说就是循环反复执行的事情
条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去
循环结构对应的语法:
初始化语句:这里可以是一条或多条语句,这些语句可以完成一些初始化操作
条件判断语句:
这里使用一个结果值为boolean类型的表达式,这个表达式能决定是否执行循环体。例如:a<3
循环体语句:这里可以是任意语句,这些语句将反复执行
条件控制语句:这里通常是使用一条语句来改变变量的值,从而达到控制循环是否继续向下执行的效果。常见的i+t,i-这样的操作。
for循环语句格式:
for(初始化语句;条件判断语句;条件控制语句){
循环休语句;}
执行流程:
1.执行初始化语句
2.执行条件判断语句,看其结果是true还是false如果是false,循环结束
如果是true,继续执行
3.执行循环体语句
4.执行条件控制语句
5.回到2过程继续
代码很重复 所以现在使用到for循环一行代码解决
//for循环语句格式:
//for(初始化语句;条件判断语句;条件控制语句){
//循环休语句;}
for(int i = 1;i<=5;i++){
//int i = 1; 初始化语句
//i<=5; 条件判断 判断i是否小于等于5 true 就打印循环体语句 false就结束循环
//i++ 条件控制语句 进行加1操作 循环一次加1 然后进行判断
System.out.println(2022);
}
需求:在控制台输出1-5和5-1数据分析:
1.反复进行输出动作,使用循环结构
for(初始化语句;条件判断语句;条件控制语句){
循环体语句;}
2.从1开始到5结束,设置初始化从i=1开始for (int i=l;条件判断语句;条件控制语句){
循环体语句;}
3.从1开始到5结束,设置条件判断语句i<=5 for (int i=1;i<=5;条件控制语句)
{
循环体语句;}
4.从1到5,每次增加设置条件控制每次+1 for ( int i=1;i<-5; i++)
{
循环体语句;}
5.循环体中打印对应的数据
for (int i=1; i<=5;条件控制语句){
System.out.println(" i"+i)}
//打印1-5数据
//第一次 i = 1
//第二次 i = 1 + 1
//第三次 i = 2 + 1
//第四次 i = 3 + 1
//第五次 i = 4 + 1
// i 的值小于等于 5 就会打印出 i的值
for(int i = 1;i<=5;i++){
System.out.println("I:"+i);
}
//打印5-1数据
//第一次 i = 5
//第二次 i = 5 - 1
//第三次 i = 4 - 1
//第四次 i = 3 - 1
//第五次 i = 2 - 1
// i 的值大于等于 1 就会打印出 i的值
for(int i = 5;i>=1;i--){
System.out.println("I:"+i);
}
需求:求1-5之间的数据和,并且将求和的结果在控制台输出分析:
1、求和的最终结果必须保存起来,需要定义一个int类型变量
sum,用于保存求和的结果,初始值为0
int sum=0;
2、从1开始到10结束的数据,使用循环结构完成
for(int i =1 ; i<-5;i++){
}
3、将反复进行的事情写入循环结构内部,此处反复进行的事情是将数据i加到用于保存最终求和的变量sum中
for(int i =l ; i<=5;i++){sum+1=1;
}
4、当循环执行完毕时,将最终数据打印出来
System.out.println("求1-5的总和");
int sum = 0;// 定义一个变量int 类型
for(int i = 1;i<=5;i++){
sum+=i; //sum = sum + i
}
System.out.println("sum = "+sum);
}
1、对1-10的数据求和与1-5的数据求和几乎完全一样,仅仅是结束条件不同
2、对1-10的偶数求和,需要对求和操作添加限制条件
3、限制条件是偶数才参与运算,因此条件应该是判断是否是偶数
System.out.println("求0-10的偶数之和");
int sum = 0;//初始值=0
for(int i = 0;i<=10;i++){
if(i%2==0){ //if判断i这数是否对2取余等于0如果等于0那么这个数一定是偶数 进行记录
sum+=i; // sum = sum + i
}
}
System.out.println("sum = "+sum);
需求:在控制台输出所有的“水仙花数”
什么是水仙花数就是三位数,但是不是全部的三位数都是水仙花数。100-999之间
水仙花数的个位的立方+十位的立方+百位的立方=这个水仙花数例如:
100的个位0十位0百位1=O*(O+0OO+111=1不是水仙花数371的个位7十位1百位3=111+777++33*3水仙花数
三位数的个位数如何求:
371%10=1;
三位数的十位数如何求:
371通过除以10得到结果=37371/10=372.37通过对10取余可以得到余数为7 37%10=73.综合371/10%10=7;
三位数的百位数如何求:371/100=3;
//打印水仙花数
for(int i = 100;i<=999;i++){
int ge = i%10;//得到个位数
int shi = i/10%10;//得到十位数
int bai = i/100; // 得到百位数
if(ge*ge*ge + shi*shi*shi + bai*bai*bai == i){//进行判断 三位数的立方乘积是否等于i
System.out.println("水仙花数 : "+i);
}
}