switch (表达式) {
case 1:
语句体1;
break;
case 2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
执行流程:
首先计算出表达式的值
其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
减肥计划,输入数字几(相当于星期几),输出相应的减肥方案。
import java.util.Scanner; //导入键盘录入包 public class Demo1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //创建对象 System.out.println("请输入星期数"); int week = sc.nextInt(); //接收对象 switch (week) { 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("输入有误"); } } }1.3case穿透
需求:判断是工作日还是休息日
import java.util.Scanner; //导入键盘录入包 public class Demo2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //创建对象 System.out.println("请输入星期数"); int week = sc.nextInt(); //接收对象 switch (week) { 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("输入有误"); } } }二.for循环(已知循环多少次) 2.1for循环语句
循环格式:
for (初始化语句;条件判断语句;条件控制语句) {
循环体语句;
}
for(int i = 1;i<=5;i--) {
System.out.println("今天天气不错");
}
2.2循环for案例 2.2.1需求:输出1-5和5-1的数据(快捷键5.fori 5.forr)
public class ForTest01 {
public static void main(String[] args) {
//需求:输出数据1-5
for(int i=1; i<=5; i++) {
System.out.println(i);
}
System.out.println("--------");
//需求:输出数据5-1
for(int i=5; i>=1; i--) {
System.out.println(i);
}
}
}
需求:求1-100的偶数和(快捷键数字+.fori)
public class test02 { public static void main(String[] args) { int sum = 0; for (int i = 100; i >0; i--) { if(i%2==0) { sum+=i; } } System.out.println(sum); } }2.2.3
需求输出“水仙花”(一个三位数,个位、十位、百位的数字立方和等于原数 )
public class test03 { public static void main(String[] args) { for (int i = 100; i< 1000; i++) { int ge = i % 10; int shi = i / 10 % 10; int bai = i / 100 % 10; int he = ge * ge * ge +shi * shi * shi + bai * bai * bai; if (he == i) { System.out.println(i); } } } }
2.2.4
需求:每行打印两行水仙花(print:打印在一行,println:打印一个换一行)
public class test04 { public static void main(String[] args) { int count = 0; for (int i = 100; i< 1000; i++) { int ge = i%10; int shi = i/10%10; int bai = i/100; if(i == ge*ge*ge+shi*shi*shi+bai*bai*bai){ System.out.print(i+" "); count++; if(count%2==0){ System.out.println();//只起到换行的作用,不用打印数字 } } } } }三.while循环(不知道需要循环多少次) 3.1循环格式
初始化语句;
while (条件判断语句) {
循环体语句;
条件控制语句;
}
while循环执行流程:
①执行初始化语句
②执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续
3.3循环案例需求:世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度?
public class ye9 { public static void main(String[] args) { int count = 0; double paper = 0.1; while(paper< 8848860){ paper = paper*2; count++; } System.out.println("需要折叠"+count+"次比珠穆朗玛峰还高"); } }四.do while循环(了解) 4.1格式
初始化语句;
do {
循环体语句;
条件控制语句;
}while(条件判断语句);
① 执行初始化语句
② 执行循环体语句
③ 执行条件控制语句
④ 执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
⑤ 回到②继续
4.3案例需求:在控制台输出5次"HelloWorld"
public class DoWhileDemo {
public static void main(String[] args) {
//for循环实现
for(int i=1; i<=5; i++) {
System.out.println("HelloWorld");
}
System.out.println("--------");
//do...while循环实现
int j = 1;
do {
System.out.println("HelloWorld");
j++;
}while(j<=5);
}
}
三种循环的区别
for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)
for循环和while的区别
条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了
条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用
死循环(无限循环)的三种格式
for死循环格式 :
for(;;){
}
while死循环格式 :
while(true){
}
do..while死循环格式 :
do{
}while(true);
案例
public static void main(String[] args) {
for(;;){
System.out.println("我停不下来了~");
}
while(true){
System.out.println("我停不下来了~");
}
do{
System.out.println("我停不下来了~");
}while(true);
System.out.println("看看我能被执行吗?~"); // 无法访问的语句
}
}
跳转控制语句(break)
跳出循环,结束循环
跳转控制语句(continue)
跳过本次循环,继续下次循环
注意: continue只能在循环中进行使用!
案例1
需求:电梯不停问题
public class test7 { public static void main(String[] args) { for (int i = 1; i<= 20; i++) { if(i==4||i==13){ System.out.println("没有这层跳楼吧"); continue; //跳过这次循环,继续进行 } System.out.println(i+"层到了"); } System.out.println("到顶层了"); } }
案例2
需求60岁退休,能活80岁
public class test6 { public static void main(String[] args) { for (int i = 20; i<= 80; i++) { if (i == 65) { System.out.println(i + "终于退休了"); break; //结束循环 } System.out.println(i+"苦逼打工人"); } System.out.println("开始休息了"); } }
案例3
需求优化减肥计划
import java.util.Scanner; public class ye10 { public static void main(String[] args) { lo : while (true) { Scanner sc = new Scanner(System.in); System.out.println("请输入星期数"); System.out.println("(如果不想查看,请输入0)"); int week = sc.nextInt(); switch (week) { case 0: break lo; //结束指定的循环 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("输入有误"); } } } }
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧