当前位置: 首页 > news >正文

分支结构和循环结构

分支结构

if语句

跟c语言类似,if语句的语法如下:

if (boolean表达式) {// 如果布尔表达式为true将执行的语句
}

如果需要在布尔表达式为false时执行语句,那么可以使用else语句,语法如下:

if (boolean表达式) {// 如果布尔表达式为true将执行的语句
} else {// 如果布尔表达式为false将执行的语句
}

如果需要在多个条件中选择一个执行,那么可以使用else if语句,语法如下:

if (boolean表达式1) {// 如果布尔表达式1为true将执行的语句
} else if (boolean表达式2) {// 如果布尔表达式2为true将执行的语句
} else if (boolean表达式3) {// 如果布尔表达式3为true将执行的语句
} else {// 如果以上布尔表达式都为false将执行的语句
}

switch语句

switch语句的语法如下:

switch(expression){case value ://语句break; //可选case value ://语句break; //可选//你可以有任意数量的case语句default : //可选//语句
}
  • switch 语句中的变量类型可以是: byte、short、int 或者 char(不能是long类型,float类型,double类型)。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。
  • 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
  • case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
  • switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。
  • switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断。如果 case 语句块中没有 break 语句时,匹配成功后,从当前 case 开始,后续所有 case 的值都会输出。例如:
      public class Test {public static void main(String args[]){int i = 1;switch(i){case 0:System.out.println("0");case 1:System.out.println("1");case 2:System.out.println("2");default:System.out.println("default");}}}
    
    以上代码编译运行结果如下:
      12default
    

循环结构

Java中主要有三种循环:

  • for循环
  • while循环
  • do...while循环

for循环

for循环的语法如下:

for(初始化; 布尔表达式; 更新) {//代码语句
}

while循环

while循环的语法如下:

while( 布尔表达式 ) {//代码语句
}

do...while循环

do...while循环的语法如下:

do {//代码语句
} while( 布尔表达式 );

与for循环不同的是,do...while循环至少会执行一次。具体应用场景有

  • 用户菜单交互
    import java.util.Scanner;public class MenuExample {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);double money = 1000.0;double moneyIO = 100.0;int choice;do {// 1. 先显示菜单System.out.println("\n=== 主菜单 ===");System.out.println("1. 查看余额");System.out.println("2. 存款");System.out.println("3. 取款");System.out.println("0. 退出");System.out.print("请选择操作: ");// 2. 获取用户输入choice = scanner.nextInt();// 3. 根据选择执行操作switch (choice) {case 1:System.out.println("您的余额是: 1000 元");break;case 2:System.out.println("成功存款"+moneyIO+"元");break;case 3:System.out.println("成功取款"+moneyIO+"元");break;case 0:System.out.println("感谢使用,再见!");break;default:System.out.println("无效选择,请重新输入!");}// 4. 判断,如果不是退出,则继续循环} while (choice != 0);scanner.close();}}
    

如果使用while循环,就需要在循环体前先显示一次菜单,然后再在循环体中switch-case语句后面再显示一次菜单,代码会显得重复冗余。

  • 数据输入校验
  • 游戏主循环,如猜数游戏
  • ……

增强for循环

增强for循环的语法如下:

for(元素类型 元素变量 : 遍历对象){//代码语句
}

break 和 continue区别

break用于跳出整个循环(如果有嵌套关系,会跳出内层循环,继续执行外层循环);
continue用于跳出该次循环,继续执行下一次循环。

  • break实例
      public class Test {public static void main(String[] args) {int [] numbers = {10, 20, 30, 40, 50};for(int x : numbers ) {// x 等于 30 时跳出整个循环if( x == 30 ) {break;}System.out.print( x );System.out.print("\n");}}}
    
    以上实例编译运行结果如下:
    10
    20
    
  • continue实例
      public class Test {public static void main(String[] args) {int [] numbers = {10, 20, 30, 40, 50};for(int x : numbers ) {// x 等于 30 时跳出整个循环if( x == 30 ) {break;}System.out.print( x );System.out.print("\n");}}}
    
    以上实例编译运行结果如下:
    10
    20
    40
    50
    
http://www.jsqmd.com/news/477742/

相关文章:

  • AudioSeal多场景落地:播客平台、有声书生产、AI客服语音版权管理方案
  • MBT:基于多频带迁移的语义分割域自适应新范式
  • [技术解析] 通用可迁移对抗性后缀:如何攻破对齐大语言模型的安全防线
  • 从理论到实践:牛顿法在电力系统潮流计算中的实现与代码解析
  • Xinference-v1.17.1实战体验:5分钟搭建,轻松调用开源大模型
  • 2026年3月石家庄注册公司专业服务机构推荐与解析 - 2026年企业推荐榜
  • Jmeter插件性能优化实战(下载、安装与配置全指南)
  • Qwen Pixel Art镜像部署教程:支持A10/A100/V100的GPU算力优化配置
  • 2026年3月杭州GEO服务公司选择标准与深度评测 - 2026年企业推荐榜
  • 【书生·浦语】internlm2-chat-1.8b企业落地:为制造业MES系统增加自然语言查询接口
  • 2026年福建膜结构停车棚厂家选择指南:看台膜结构、光伏车棚、 充电桩、电动车、汽车停车棚厂家推荐,合美闽用专利技术守护园区每一辆车 - 海棠依旧大
  • 2026年初武汉全屋定制选型指南:高性价比服务商深度评测 - 2026年企业推荐榜
  • Qwen2.5-VL-7B-Instruct效果展示:卫星遥感图地物分类+面积测算+变化检测分析
  • 从开箱到实战:爱芯元智AX620A爱芯派AI边缘计算平台全功能评测
  • 2026年3月福建膜结构停车棚厂家推荐榜:看台膜结构、光伏车棚、 充电桩停车棚、电动车停车棚、汽车停车棚厂家深度解析 - 海棠依旧大
  • 实战应用:基于快马平台快速打造可部署上线的完整24点游戏
  • Playwrite(Proxy和指纹库)
  • 双系统ubuntu2022.04.5LTS+vivado2024.2+vscode+miniconda3+GPU驱动+pytorch+hls4ml安装教程
  • Halcon深度学习实战:基于异常值检测的工业缺陷精准识别方案
  • 降AI工具选错等于白花钱?2026年过来人推荐这几款
  • 2026年最新降AI工具评测:比话和嘎嘎到底该选谁
  • 2026 聚焦:大型口碑好的音乐喷泉工程推荐排行榜单揭秘,热门的音乐喷泉坤湛喷泉专注行业多年经验,口碑良好 - 品牌推荐师
  • 效率提升:用快马AI自动生成代码,比手动visio绘图快十倍
  • 告别重复造轮子:用快马平台一键生成AIGC API高效调用模块
  • 多属性决策判决算法的异构网络垂直切换Matlab性能仿真
  • 半导体真空腔体喷淋头/气体分配盘加热器/温控基座密封件/阀门组件精密零件CNC加工厂家权威推荐 - 余文22
  • 嵌入式视觉伺服系统:基于RT1064与OpenMV的双光斑闭环追踪
  • Unity中高效分割Sprite的技巧与实战应用
  • 连接mysql8.0时报:KeyNotFoundException: 给定关键字不在字典中
  • 每天了解几个MCP SERVER:密码管理也能 MCP!Alby 比特币支付