选择结构switch;循环结构while,do...while,for;跳转语句break,continue,return
2022/7/7 6:20:13
本文主要是介绍选择结构switch;循环结构while,do...while,for;跳转语句break,continue,return,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
e. 选择结构switch
语法
switch(表达式){ case 常量1: 语句块1; break; case 常量2: 语句块2: break; ... case 常量n; 语句块n; break; default: default语句块; break; }
表达式对应一个值;表达式的返回值必须是:(byte,short,int,char,String)
case 常量1:当表达式的值等于常量1,就执行 语句块1;
break 表示退出 switch
如果和 case常量1匹配,就执行语句块1,如果没有匹配,就继续匹配 case 常量2
如果一个都没有匹配上,则执行default。
流程图
注意问题
- case 和 default 可以放在任意位置,不影响结果
- break 用来跳出switch 语句,继续执行后续代码
- 如果没有写 break ,程序会顺序执行到switch结尾,除非遇到 break
案例
int i = 2; switch(i){ 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 0: System.out.println("人工服务"); break; default: System.out.println("输入错误"); break; }
* 练习
练习1
Scanner输入年份判断是否为闰年。
import java.util.Scanner; public class Practice02 { public static void main(String[] args) { //输入年份判断是否为闰年 //创建变量接收用户输入年份 Scanner input = new Scanner(System.in); System.out.println("输入需要查询的年份:"); int num = input.nextInt(); //判断是否为闰年 if(num % 4 == 0 && num % 100 != 0 || num % 400 ==0){ System.out.println(num + "年是闰年"); }else { System.out.println(num + "年不是闰年"); } } }
练习2
输入今天星期几,如果是周六就输入温度,温度高于等于30度去游泳,温度高于等于20度低于30度就去跑步,温度低于20度在家写代码;如果不是周六,好好工作。
import java.util.Scanner; public class Practice03 { //编写一个main方法 public static void main(String[] args) { //创建一个变量接收输入星期几 Scanner input = new Scanner(System.in); System.out.println("请输入今天星期几(1~7)"); int num = input.nextInt(); //判断是否周六 if(num == 6){ //接收输入温度 System.out.println("请输入今日温度"); int tem = input.nextInt(); //判断温度在哪个区间 if(tem >=30){ System.out.println("周六太热了去游泳吧!!"); }else if(tem >= 20){ System.out.println("周六温度在20~30之间去跑步吧!!"); }else { System.out.println("周六温度在20度以下在家写代码!!"); } }else { System.out.println("不是周六,好好工作!!"); } } }
练习3
输入月份,输出对应的天数。
import java.util.Scanner; public class Practice04 { public static void main(String[] args) { //根据用户输入的月份,输出当月对应的天数 //思路:Scanner 输入月份 //1,3,5,7,8,10,12月有31天 //4,6,8,11月有30天 //2月需要判断年份是否闰年,若是闰年则2月有29天,平年则2月有28天 //月份错误 //创建一个变量接收月份 Scanner input = new Scanner(System.in); System.out.println("请输入月份(1~12):"); int month = input.nextInt(); //判断月份,对应天数 /*if (month >= 1 && month <= 12){ if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8|| month == 10 || month == 12){ System.out.println(month + "月有31天"); } else if (month == 2) { //2月需要判断是否闰年 System.out.println("请输入年份:"); int year = input.nextInt(); if (year % 4 == 0 && year % 100 != 0 || year % 400 ==0) { System.out.println(year + "月有28天"); } else { System.out.println(year + "月有29天"); } }else { System.out.println(month + "月有30天"); } }else { System.out.println("输入的月份不存在"); }*/ switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: System.out.println(month + "月有31天"); break; case 4: case 6: case 9: case 11: System.out.println(month + "月有30天"); break; //这里的 break 一定要记得 case 2: System.out.println("2月请输入年份"); int year = input.nextInt(); //判断是否闰年 if(year % 4 == 0 && year % 100 != 0 || year % 400 ==0){ System.out.println(year + "年是闰年,2月有29天"); }else { System.out.println(year + "年是平年,2月有28天"); } break; default : System.out.println("您输入的月份不存在"); break; } } }
4.3、循环结构
作用:用来解决重复性问题
循环结构四要素:循环变量初始化,循环条件,循环体,循环变量迭代
a) while 循环
反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不成立,while循环结束。
语法
定义循环变量; while(循环条件) { 循环体; 循环变量迭代; }
先判断,再执行
流程图
案例
打印 1~100 之间的奇数
int num = 1; while (num <= 100) { System.out.println(num); num+2; }
练习
老师检查作业是否合格,不合格安排学习任务,上午阅读教材,学习理论部分,下午上机编程,掌握代码部分
学习后继续检查,直到合格为止
import java.util.Scanner; public class Pratice05 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("老师检查是否合格?yes/no:"); String qualified = input.next(); while (qualified.equals("no")) { System.out.println("不合格,上午阅读教材,学习理论部分,下午上机编程,掌握代码部分"); System.out.println("老师检查是否合格?yes/no:"); qualified = input.next(); } System.out.println("恭喜合格啦!"); } }
输入一个整数,将其翻转输出。如输入123456,输出654321.
import java.util.Scanner; public class Practice06 { public static void main(String[] args) { //输入一个整数,将其翻转输出 Scanner input = new Scanner(System.in); System.out.println("请输入一个整数:"); int number = input.nextInt(); int result = 0; while (number != 0) { result = result * 10 + number % 10; number /= 10; } System.out.println("翻转后变成:" + result); } }
假设五个人参加考试,最后得出总分、最高分、最低分、平均分,要求成绩从控制台输入
import java.util.Scanner; public class Practice07 { public static void main(String[] args) { //假设五个人参加考试,最后得出总分、最高分、最低分、平均分,要求成绩从控制台输入 //思路:循环输入五人的成绩 Scanner input = new Scanner(System.in); //定义好需要的变量 int sum = 0,max = 0,min = 0,avg = 0; int num = 1; //循环输入成绩 while (num <= 5) { System.out.println("输入第" + num + "个人的成绩:"); int score = input.nextInt(); //总分 sum += score; //最高分,最低分 if (num == 1) { max = score; min = score; }else { max = max > score ? max : score; min = min < score ? min : score; } num++; } //平均分 avg = sum / 5; System.out.println("总分:" + sum + ",最高分:" + max + ",最低分:" + min + ",平均分:" + avg); } }
b) do...while 循环
执行条件,先执行一次循环体,再判断循环条件。
语法
循环变量初始化 do{ 循环体; 循环变量迭代; } while(循环条件);
流程图
案例
经过几天学习,老师给了张浩一道测试题,先让他上机编写程序完成,然后老师检查是否合格。如果不合格,则继续编写。
import java.util.Scanner; public class DoWhile01 { public static void main(String[] args) { //经过几天学习,老师给了张浩一道测试题 //先让他上机编写程序完成 //然后老师检查是否合格。如果不合格,则继续编写。 Scanner input = new Scanner(System.in); String quil; do { System.out.println("上机编写程序"); System.out.println("老师批改是否合格(yes/no)"); quil = input.next(); } while(quil.equals("no")); System.out.println("恭喜合格"); } }
c) for 循环
语法
for(循环变量初始化;循环条件;循环变量迭代) { 循环体; }
流程图
案例
* 代码调试功能
DEBUG:找虫子,找到代码错误的位置
(一般在编译和运行都不报错,却找不到错误时使用)
步骤:
- 在你觉得可能有错误的地方打断点(代码左边显示行数处点击一下),一般打在代码开始的位置
- 点击绿色虫子图案的按钮,运行到断点的位置
- 点击F6,单步进入,运行每行代码,观察数据输出
- 观察程序运行情况,找到程序的BUG
4.4、跳转语句
1)、return
作用:return 使用在方法,表示跳出所在的方法
如果使用在 main 方法中,表示退出程序
案例
import java.util.Scanner; public class Return01 { public static void main(String[] args) { //不满足条件时返回 //输入用户名 Scanner input = new Scanner(System.in); System.out.println("请输入用户名:"); String userName = input.next(); //判断用户名 if(!userName.equalsIgnoreCase("admin")){ System.out.println("用户名错误"); return; } //输入密码 System.out.println("请输入密码:"); String pwd = input.next(); //判断密码 if(!pwd.equalsIgnoreCase("88888888")){ System.out.println("密码错误"); return; } System.out.println("登录成功"); } }
拓展知识点
equalsIgnoreCase("字符串")
比较两个字符串,忽略大小写
2)、break
当break出现在循环语句中,作用是跳出循环语句,执行后面的代码
案例
当变量x的值为3时,使用break语句跳出循环。
int x = 1; while (x <= 4) { System.out.println("x = " + x); if (x == 3) { break; //跳出循环 } x++; }
打印结果只到了 x = 3;并没有出现"x = 4"
3)、continue
continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。
案例
求1~100的奇数和
//用continue跳过偶数 int sum = 0; // 定义变量sum,用于记住和 for (int i = 1; i <= 100; i++) { if (i % 2 == 0) { // i是一个偶数,不累加 continue; // 结束本次循环 } sum += i; // 实现sum和i的累加 } System.out.println("sum = " + sum);
写代码要习惯注释
这篇关于选择结构switch;循环结构while,do...while,for;跳转语句break,continue,return的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升