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

java学习--for循环、if判断、switch、while、do-while

在 Java 中,for循环、if判断、switchwhiledo-while都是用于控制程序流程的核心结构,分别适用于不同的场景。以下是详细讲解:

1. if 判断:条件分支

作用:根据条件的真假执行不同的代码块,是最基础的分支控制语句。语法

if (条件表达式) {// 条件为true时执行的代码
} else if (条件表达式2) { // 可选// 条件1为false,条件2为true时执行
} else { // 可选// 所有条件都为false时执行
}

特点

  • 条件表达式必须是布尔类型(true/false)。
  • 多个else if可以串联,用于多条件判断。
  • 若代码块只有一行,可省略大括号(但不推荐,易出错)。

示例

int score = 85;
if (score >= 90) {System.out.println("优秀");
} else if (score >= 60) {System.out.println("及格");
} else {System.out.println("不及格");
}
// 输出:及格

2. switch:多值匹配分支

作用:根据一个变量(或表达式)的取值,匹配多个分支并执行对应代码,替代多条件if-else,代码更简洁。语法

switch (变量/表达式) {case 值1:// 变量等于值1时执行break; // 可选,跳出switch(不写会穿透到下一个case)case 值2:// 变量等于值2时执行break;...default: // 可选// 所有case都不匹配时执行
}

特点

  • 支持的变量类型:byteshortintchar,以及枚举(Enum)、字符串(String,Java 7+)。
  • break的作用:执行完当前 case 后跳出switch,否则会继续执行下一个 case(称为 “穿透”)。
  • default可选,位置灵活(通常放最后)。

示例

String day = "周二";
switch (day) {case "周一":case "周二":case "周三":case "周四":case "周五":System.out.println("工作日");break;case "周六":case "周日":System.out.println("休息日");break;default:System.out.println("无效日期");
}
// 输出:工作日(利用穿透简化多个值的相同逻辑)

3. while 循环:条件满足时重复执行

作用:当条件为true时,反复执行循环体,直到条件为false时停止。语法

while (循环条件) {// 循环体(要重复执行的代码)
}

特点

  • 先判断,后执行:首次条件为false时,循环体一次都不执行。
  • 循环条件必须是布尔类型,且循环体内需有改变条件的逻辑(否则会无限循环)。

示例

int count = 0;
// 打印1~5
while (count < 5) {count++; // 改变条件的逻辑(避免死循环)System.out.println(count);
}
// 输出:1 2 3 4 5

4. do-while 循环:至少执行一次的循环

作用:与while类似,但先执行一次循环体,再判断条件,确保循环体至少执行一次。语法

do {// 循环体
} while (循环条件); // 注意末尾有分号

特点

  • 先执行,后判断:无论条件是否成立,循环体至少执行一次。
  • 其他特性与while一致(需在循环体内改变条件)。

示例

int num;
do {num = (int) (Math.random() * 10); // 生成0~9的随机数System.out.println("随机数:" + num);
} while (num != 5); // 直到随机数等于5才停止
// 输出:至少打印一次,直到出现5为止

5. for 循环:已知循环次数的场景

作用:适用于明确循环次数的场景,将 “初始化、循环条件、迭代逻辑” 集中声明,结构更清晰。语法

for (初始化语句; 循环条件; 迭代语句) {// 循环体
}

执行顺序

  1. 执行一次初始化语句(通常定义循环变量)。
  2. 判断循环条件:若为true,执行循环体;若为false,退出循环。
  3. 执行迭代语句(通常更新循环变量)。
  4. 重复步骤 2 和 3。

特点

  • 初始化语句仅执行一次,迭代语句在每次循环体结束后执行。
  • 支持空语句(如for (;;)表示无限循环)。
  • Java 5 + 支持 “增强 for 循环”(foreach),用于遍历数组或集合。

示例 1:普通 for 循环

// 打印1~5的平方
for (int i = 1; i <= 5; i++) {System.out.println(i * i);
}
// 输出:1 4 9 16 25

示例 2:增强 for 循环(遍历数组)

String[] fruits = {"苹果", "香蕉", "橙子"};
for (String fruit : fruits) { // 遍历数组中每个元素,赋值给fruitSystem.out.println(fruit);
}
// 输出:苹果 香蕉 橙子

总结:适用场景对比

结构核心作用典型场景
if单条件 / 多条件分支判断根据分数评级、权限判断等
switch多值匹配分支菜单选择、日期 / 月份判断等固定值场景
while未知循环次数,条件满足时循环等待用户输入、处理动态数据直到结束
do-while至少执行一次的循环游戏初始化、用户交互确认(先执行再判断)
for已知循环次数,或遍历数组 / 集合固定次数的迭代、数组 / 集合遍历

选择时需根据具体需求:分支判断用if/switch,循环用while/do-while/for,其中for在次数明确时更简洁,do-while适合必须执行一次的场景。

http://www.dtcms.com/a/559016.html

相关文章:

  • 网页型网站thinkphp网站开发服务器
  • 门户网站seo做网站的公司有前途吗
  • 辽 icp 大连 网站建设淘宝怎么才能发布网站建设
  • [VT-Refine] 仿真平台 | Isaac Gym引擎 | easysim-envs配置
  • 外贸网站网站推广学院网站建设意义
  • linux sed:功能强大的流式文本处理器
  • 行业类网站应如何建设企业简介ppt范文大全免费
  • 全站仪为什么要建站shopify建站流程
  • 玉树wap网站建设微信公众号编辑教程
  • logo制作在线seo自动点击排名
  • 合肥高端网站建设公司wordpress网站好优化吗
  • 制作网站的工具wordpress附件类型
  • 建设工程企业资质工作网站网站正在建设中英文表述
  • 浅谈博星卓越网站建设qfd 网站开发
  • 淄博网站推广公司动漫网站开发 sh框架
  • 设计网站需求做ppt高手_一定要常去这八个网站
  • python 模块和包-之十一
  • Caesar(攻防世界)
  • Easyx图形库应用(题外话之大文件传输)
  • Dotnet使用Aspire抓取MCP两端交互数据
  • 模板建站oem代理网站设计 西安
  • 网站建设模板之家免费下载企业集团网站源码
  • 网站建设 设计创意河池环江网站建设
  • 网站实现步骤及方法是娄底高端网站建设
  • 网站建设翻译插件西安旅游
  • 网站设计网页版有没有好玩的网页游戏
  • [性能测试]
  • 网站以前在百度能搜索不到了如何选择定制酒
  • 汇邦团建网站谁做的成都优化推广公司
  • 平谷网站建设域名怎么解析到网站