当前位置: 首页 > 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 分支。

相关文章:

Java 条件语句

Java 条件语句概述 条件语句通过判断给定条件的真假来控制程序的执行。本小节将详细介绍 Java 中各类条件语句。 1. if 语句 1.1 语法 用于根据给定条件决定是否执行一段代码。if 块仅在关联的布尔表达式为 true 时执行。 if (条件) {// 当条件成立时执行此处代码 }大括号…...

用JMeter给要登录的操作做压力测试

压力测试的http请求路径如下图 应当添加http Header Manager,设置登录凭证...

算法的数学基础

组合数 从n个不同元素中取出m(m≤n)个不同元素的所有组合的个数:C(n, m) n! / [m!(n - m)!]n个物品所有可能的组合数(不考虑组合的大小m):Σ C(n, m) C(n, 0) C(n, 1) C(n, 2) … C(n, n) 2 n 2^n 2…...

flowable适配达梦数据库

文章目录 适配相关问题无法从数据库产品名称“DM DBMS”中推断数据库类型分析解决 构建ibatis SqlSessionFactory时出错:inStream参数为null分析解决 liquibase相关问题问题一:不支持的数据库 Error executing SQL call current_schema: 无法解析的成员访…...

VScode C语言学习开发环境;运行提示“#Include错误,无法打开源文件stdio.h”

C/C环境配置 参考: VS Code 配置 C/C 编程运行环境(保姆级教程)_vscode配置c环境-CSDN博客 基本步骤 - 安装MinGW-W64,其包含 GCC 编译器:bin目录添加到环境变量;CMD 中输入gcc --version或where gcc验证…...

DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地

对于个人开发者或尝鲜者而言,本地想要部署 DeepSeek 有很多种方案,但是一旦涉及到企业级部署,则步骤将会繁琐很多。 比如我们的第一步就需要先根据实际业务场景评估出我们到底需要部署什么规格的模型,以及我们所要部署的模型&…...

自制简单的图片查看器(python)

图片格式:支持常见的图片格式(JPG、PNG、BMP、GIF)。 import os import tkinter as tk from tkinter import filedialog, messagebox from PIL import Image, ImageTkclass ImageViewer:def __init__(self, root):self.root rootself.root.…...

RD-搭建测试环境

测试团队职责 环境验证:确保开发部署的测试环境可访问,页面/接口无阻塞问题; 配置检查**:核对数据库连接、接口域名、HT证书等关键配置; 数据准备**:导入基线数据,隔离测试与生产数据&#xff1…...

从零搭建微服务项目Base(第5章——SpringBoot项目LogBack日志配置+Feign使用)

前言: 本章主要在原有项目上添加了日志配置,对SpringBoot默认的logback的配置进行了自定义修改,并详细阐述了xml文件配置要点(只对日志配置感兴趣的小伙伴可选择直接跳到第三节),并使用Feign代替原有RestT…...

【深度学习】使用飞桨paddle实现波士顿房价预测任务

使用飞桨实现波士顿房价预测任务 由于开始学习深度学习,因此每次开始都熟悉一下深度学习模型的基本步骤: 在之前的学习中,我们学习了使用Python和NumPy实现波士顿房价预测任务的方法,本章我们将尝试使用飞桨paddle重写房价预测任…...

钉钉多维表:数据管理与协作的新篇章

在当今数字化时代,数据的高效管理和团队协作已成为企业竞争力的关键因素之一。钉钉多维表,作为一款基于钉钉平台的数据协作管理工具,正以其独特的功能和优势,引领着数据管理与协作的新潮流。本文将为您全面解析钉钉多维表的定义、特点、功能亮点、应用场景以及如何使用,让您轻松…...

高级推理的多样化推理与验证

25年2月来自波士顿大学、NotBadMath.AI、谷歌、哥伦比亚大学、MIT、Intuit公司和斯坦福大学的论文“Diverse Inference and Verification for Advanced Reasoning”。 OpenAI o1、o3 和 DeepSeek R1 等推理 LLM 在数学和编码方面取得重大进展,但仍发现 IMO 组合问题…...

深入理解 MySQL 8 C++ 源码:SELECT MOD(MONTH(NOW()), 2) 的函数执行过程

MySQL 作为最流行的关系型数据库之一,其内部实现机制一直是开发者探索的热点。本文将以一条简单的 SQL 查询 SELECT MOD(MONTH(NOW()), 2) 为例,深入分析 MySQL 8 源码中内置函数 MOD、MONTH 和 NOW 的执行过程,揭示其底层实现逻辑。 一、SQL…...

【算法系列】leetcode1419 数青蛙 --模拟

一、题目 二、思路 模拟⻘蛙的叫声。 当遇到 r o a k 这四个字符的时候,我们要去看看每⼀个字符对应的前驱字符,有没有⻘蛙叫出来。如果有⻘蛙叫出来,那就让这个⻘蛙接下来喊出来这个字符;如果没有则为异常字符串,直接…...

蓝桥杯 Java B 组之背包问题、最长递增子序列(LIS)

Day 4:背包问题、最长递增子序列(LIS) 📖 一、动态规划(Dynamic Programming)简介 动态规划是一种通过将复杂问题分解成更小的子问题来解决问题的算法设计思想。它主要用于解决具有最优子结构和重叠子问题…...

Git如何将一个分支的内容同步到另一个分支

在 Git 中,可以通过多种方法将一个分支的内容同步到另一个分支。以下是几种常用的方法: 1. 使用 merge 命令 这是最常见的方法,将一个分支的更改合并到另一个分支。 # 切换到目标分支 git checkout target-branch# 合并源分支的内容 git m…...

[C#]C# winform部署yolov12目标检测的onnx模型

yolov12官方框架:github.com/sunsmarterjie/yolov12 【测试环境】 vs2019 netframework4.7.2 opencvsharp4.8.0 onnxruntime1.16.3 【效果展示】 【调用代码】 using System; using System.Collections.Generic; using System.ComponentModel; using System.…...

51c大模型~合集69

我自己的原文哦~ https://blog.51cto.com/whaosoft/12221979 #7项基于SAM万物分割模型研究工作 1、CC-SAM: SAM with Cross-feature Attention and Context for Ultrasound Image Segmentation #ECCV2024 #SAM #图像分割 #医学图像 Segment Anything Model (SAM) 在自…...

2025寒假周报4

2025寒假天梯训练7-CSDN博客 眨眼间寒假训练就告一段落了,准备回校继续战斗了。这周练了3场OI赛制的篮球杯,感觉非常糟糕,不像天梯赛,天梯赛打起来非常舒适顺畅,一直都不喜欢OI赛制,打着非常不稳定..还需要…...

自学Java-AI结合GUI开发一个石头迷阵的游戏

自学Java-AI结合GUI开发一个石头迷阵的游戏 准备环节1、创建石头迷阵的界面2、打乱顺序3、控制上下左右移动4、判断是否通关5、统计移动步骤,重启游戏6、拓展问题 准备环节 技术: 1、GUI界面编程 2、二维数组 3、程序流程控制 4、面向对象编程 ∙ \bulle…...

AI试衣系统源码-一键换衣换装-支持姿态识别+纹理融合-批量生成-SAAS模式-电商创业利器

温馨提示:文末有资源获取方式在电商竞争日益激烈的今天,商品展示效果直接决定着转化率的高低。尤其是服装类目,传统的模特拍摄不仅成本高昂,而且周期长、效率低。针对这一市场难题,我们团队倾力打造了一款革命性的AI试…...

Mac彻底清理指南:Pearcleaner让你的系统重获新生

Mac彻底清理指南:Pearcleaner让你的系统重获新生 【免费下载链接】Pearcleaner A free, source-available and fair-code licensed mac app cleaner 项目地址: https://gitcode.com/gh_mirrors/pe/Pearcleaner 你是否曾发现Mac磁盘空间越来越小,但…...

云原生数据管道实现

云原生数据管道实现 1. 数据管道的概念与价值 数据管道是指将数据从源系统传输到目标系统的一系列处理步骤,包括数据提取、转换和加载(ETL)过程。在云原生环境中,数据管道变得尤为重要,因为企业需要处理和分析大量的数…...

RAID卡电池坏了别慌!手把手教你排查、更换及数据安全操作全流程(附性能影响分析)

RAID卡电池故障应急指南:从诊断到性能优化的完整解决方案 当服务器机房响起刺耳的警报声,运维人员的第一反应往往是查看监控面板——"RAID电池故障"几个红色大字赫然在目。这个看似不起眼的组件故障,实则牵动着整个存储系统的神经。…...

终极前端数据流架构指南:如何掌握大型应用状态管理

终极前端数据流架构指南:如何掌握大型应用状态管理 【免费下载链接】awesome-front-end-system-design Curated front end system design resources for interviews and learning 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-front-end-system-design …...

如何让Windows和Office永远告别激活烦恼?KMS智能激活方案全解析

如何让Windows和Office永远告别激活烦恼?KMS智能激活方案全解析 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为电脑屏幕上时不时弹出的"需要激活"通知而焦虑吗&…...

别再让系统意外关机了!手把手教你用滞回比较器设计一个抗干扰的掉电检测电路

滞回比较器实战:打造工业级抗干扰掉电检测电路 当你的嵌入式设备在工厂车间突然重启,或是车载系统在颠簸路段意外关机时,背后往往隐藏着电源系统的致命弱点——传统掉电检测电路在噪声环境下的脆弱表现。本文将带你从工程实践角度&#xff0c…...

开源情绪感知虚拟岛屿:脑机接口与生理信号交互实践

1. 项目概述:一个开源的情绪感知与交互虚拟岛屿最近在GitHub上闲逛,发现了一个挺有意思的项目,叫“open-vibe-island”。光看名字,你可能会觉得这是个游戏或者某种虚拟社交空间。但点进去深入研究后,我发现它的内核远比…...

从专利库到Zemax:一个6mm定焦镜头从零到交付的完整设计流程(含CodeV转换技巧)

从专利库到Zemax:一个6mm定焦镜头从零到交付的完整设计流程(含CodeV转换技巧) 光学设计工程师的日常工作中,最常遇到的挑战之一就是将理论指标转化为实际可制造的光学系统。本文将以一个6mm定焦镜头为例,完整展示从专利…...

git下载与安装教程

Git下载与安装教程 一、下载Git 访问官网 打开Git官方网站下载:Git - Install (注:官网界面可能更新,核心下载区域位置不变) 选择系统版本 Windows用户:点击"Download for Windows"按钮macOS用…...