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元起,快前往官网查看详情吧
分享名称:JAVA第三天(switch+循环)-创新互联
本文网址:http://www.scyingshan.cn/article/dshiod.html


咨询
建站咨询
