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

Java 条件语句

Java 条件语句概述

条件语句通过判断给定条件的真假来控制程序的执行。本小节将详细介绍 Java 中各类条件语句。

1. if 语句

1.1 语法

用于根据给定条件决定是否执行一段代码。if 块仅在关联的布尔表达式为 true 时执行。

if (条件) {// 当条件成立时执行此处代码
}

大括号内的内容为语句块。

1.2 实例
public class IfStatement1 {public static void main(String args[]) {int age = 18;if (age >= 18) {System.out.println("在中国你已经成年");}}
}

age >= 18true 时,执行 if 语句块。若语句块内只有一条语句,可省略花括号,但不推荐。

2. if … else … 语句

2.1 语法

结合 else 使用,当布尔表达式为 false 时,执行 else 语句块。

if (条件) {// 如果条件成立,执行此处代码
} else {// 如果条件不成立,执行此处代码
}
2.2 实例
public class IfElseStatement1 {public static void main(String args[]) {int age = 15;if (age >= 18) {System.out.println("在中国你已经成年");} else {System.out.println("在中国你还未成年");}}
}

age >= 18false 时,执行 else 语句块。

补充

可使用条件表达式(三目运算符)表达式1? 表达式2 : 表达式3 简化 if else 语句。

public class IfElseStatement2 {public static void main(String args[]) {int age = 15;System.out.println(age >= 18? "在中国你已经成年" : "在中国你还未成年");}
}

3. if … else if … else 语句

3.1 语法

结合 else if 实现更复杂的程序分支结构。

if (条件1) {// 如果条件1成立,执行此处代码
} else if (条件2) {// 如果条件1不成立,并且条件2成立,执行此处代码
} else {// 如果条件1、条件2都不成立,执行此处代码
}
3.2 实例
// 根据给定分数向屏幕打印评级
public class IfElseIfStatement {public static void main(String args[]) {int score = 70;if (score >= 90) {System.out.println("优秀");} else if (score >= 70) {System.out.println("良好");} else if (score >= 60) {System.out.println("及格");} else {System.out.println("不及格");}}
}

程序遇到符合条件的分支就执行该分支语句块,不再执行其他分支。

3.3 嵌套 if … else 语句

可在 ifelse if 语句中嵌套使用 ifelse if 语句。

public class IfElseStatement1 {public static void main(String[] args) {int age = 25;int sex = 1;  // 此处用sex变量表示性别,1:男  2:女if (age >= 20) {System.out.println("在中国你已经成年");if (sex == 2) {System.out.println("并且到了法定的结婚年龄");}if (sex == 1 && age >= 22) {System.out.println("并且到了法定的结婚年龄");}} else {System.out.println("在中国你还未成年");}}
}

4. switch 语句

4.1 语法

可理解为简写版的多个 if.. else 语句。

switch () {case1:语句1.1...语句n.1break;case2:语句2.1...语句2.nbreak;default:语句n.1...语句n.n
}

规则:

  • switch 语句中的变量类型可以是 byteshortintchar 或者 String
  • 可拥有多个 case 语句,每个 case 后跟要比较的值和冒号。
  • case 语句中的值数据类型必须与变量相同,且只能是常量或字面常量。
  • 变量值与 case 语句值相等时,执行该 case 后的语句,直到 break 跳出。
  • 若无 break,程序继续执行下一条 case 语句,直到出现 break
  • 可包含 default 分支,一般为最后一个分支,无匹配时执行,无需 break
4.2 实例
public class SwitchStatement1 {public static void main(String args[]) {int i = 2;switch (i) {case 1:System.out.println("i的值为1");break;case 2:System.out.println("i的值为2");break;default:System.out.println("i的值既不等于1,也不等于2");}}
}

从 JDK5 开始,可与枚举值一起使用;从 JDK8 开始,可与 String 值一起使用。

5. 小结

Java 中条件语句主要有 if 语句和 switch 语句。

  • 场景选择:多个 == 判断用 switch 语句更清晰;复杂条件表达式用 if 语句更合适。
  • if 语句使用建议
    • 每个分支用 {} 括起来。
    • 多个 if... else 时,将可能性大的分支排在前面。
    • 避免 if... else 嵌套层级过深。
  • switch 语句使用建议
    • 每个分支不要漏写 break
    • 总是写上 default 分支。
http://www.lryc.cn/news/540668.html

相关文章:

  • 用JMeter给要登录的操作做压力测试
  • 算法的数学基础
  • flowable适配达梦数据库
  • VScode C语言学习开发环境;运行提示“#Include错误,无法打开源文件stdio.h”
  • DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
  • 自制简单的图片查看器(python)
  • RD-搭建测试环境
  • 从零搭建微服务项目Base(第5章——SpringBoot项目LogBack日志配置+Feign使用)
  • 【深度学习】使用飞桨paddle实现波士顿房价预测任务
  • 钉钉多维表:数据管理与协作的新篇章
  • 高级推理的多样化推理与验证
  • 深入理解 MySQL 8 C++ 源码:SELECT MOD(MONTH(NOW()), 2) 的函数执行过程
  • 【算法系列】leetcode1419 数青蛙 --模拟
  • 蓝桥杯 Java B 组之背包问题、最长递增子序列(LIS)
  • Git如何将一个分支的内容同步到另一个分支
  • [C#]C# winform部署yolov12目标检测的onnx模型
  • 51c大模型~合集69
  • 2025寒假周报4
  • 自学Java-AI结合GUI开发一个石头迷阵的游戏
  • buuctf-[极客大挑战 2019]Knife题解
  • Spring MVC 对象转换器:初级开发者入门指南
  • 语音直播交友app出海:语音直播交友系统软件源码搭建国际化发展技术层面分析
  • Web Scraper,强大的浏览器爬虫插件!
  • EasyRTC:基于WebRTC与P2P技术,开启智能硬件音视频交互的全新时代
  • go 定时任务 gocron timer
  • uniapp引入uview组件库(可以引用多个组件)
  • MySQL主从架构
  • 科普mfc100.dll丢失怎么办?有没有简单的方法修复mfc100.dll文件
  • 论文笔记:How Much Can Time-related Features Enhance Time Series Forecasting?
  • Qt学习(六) 软件启动界面 ,注册表使用 ,QT绘图, 视图和窗口绘图,Graphics View绘图框架:简易CAD