Java流程控制for 标签的使用

目录

  • for
    • 语法结构
    • 举例
    • break
    • continue
    • return
  • 标签

for

for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。for循环在第一次反复之前要进行初始化,即执行初始表达式;随后,对布尔表达式进行判定,若判定结果为true,则执行循环体,否则,终止循环;最后在每一次反复的时候,进行某种形式的“步进”,即执行迭代因子。

  1. 初始化部分设置循环变量的初值
  2. 条件判断部分为任意布尔表达式
  3. 迭代因子控制循环变量的增减
  • for循环在执行条件判定后,先执行的循环体部分,再执行步进。
  • for循环结构的流程图如图所示:
    在这里插入图片描述

语法结构

for (初始表达式; 布尔表达式; 迭代因子) {循环体;
}

举例

for循环是一个非常常用的编程结构,它允许你重复执行一段代码,直到满足某个条件为止。

  • 假设我们要打印数字1到5,我们可以使用for循环来完成这个任务:
for(int i = 1; i <= 5; i++) {System.out.println(i);
}

在这里插入图片描述

现在,我来逐步解释这段代码:

  1. int i = 1; - 这是初始化部分。我们声明了一个整数变量i并给它赋初值1。
  2. i <= 5; - 这是循环的条件部分。只要这个条件为真(即i的值小于或等于5),循环就会继续执行。
  3. i++ - 这是循环的更新部分。每次循环结束时,i的值会增加1。
  4. { System.out.println(i); } - 这是循环的主体部分。每次循环,这部分的代码都会被执行。在这里,我们只是简单地打印出i的值。

所以,这段代码会执行5次,每次打印一个数字,从1到5。

break

break语句在for循环中的使用可以用来提前结束循环。以下是一个简单的例子,其中使用break来跳出循环:

假设我们要找出数字列表中的第一个偶数:

int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9};for(int i = 0; i < numbers.length; i++) {if(numbers[i] % 2 == 0) { // 如果数字是偶数System.out.println("第一个偶数是: " + numbers[i]);break; // 找到第一个偶数后,跳出循环}
}

在这里插入图片描述- 代码定义了一个整数数组numbers,它包含9个元素,即1到9的整数。

  • 然后,代码使用for循环遍历这个数组。在每次循环中,它检查当前元素(numbers[i])是否是偶数(即该元素除以2的余数为0)。如果是偶数,它会打印出一条消息,指出找到了第一个偶数,然后使用break语句跳出循环。

continue

public class Testforcontinue {public static void main(String[] args) {for(int i = 1; i <= 10; i++) {if(i % 2 != 0) { // 如果i是奇数continue; // 跳过当前循环,进入下一次循环}System.out.println(i * i); // 打印i的平方}}
}

在这里插入图片描述

  • 打印1到10之间所有偶数的平方。代码中使用了for循环和continue语句来实现这个功能。

  • for(int i = 1; i <= 10; i++) 这行代码定义了一个从1开始,到10结束的循环,每次循环i的值增加1。

  • 在循环体中,if(i % 2 != 0) 这行代码检查当前的i是否为奇数。如果是奇数,就执行continue;语句,这会导致循环直接跳到下一个迭代,不执行后面的代码。

  • 如果i是偶数(即i % 2 == 0),那么程序会执行System.out.println(i * i); 这行代码,打印出i的平方。

这样,程序就会打印出1到10之间所有偶数的平方,分别是4、16、36、64、100。

return

public class CalculateCircleArea {public static double calculateCircleArea(double radius) {double area = Math.PI * radius * radius;return area;}public static void main(String[] args) {double radius = 5.0;double area = calculateCircleArea(radius);System.out.println("半径为 " + radius + " 的圆的面积是 " + area);}
}

在这里插入图片描述

在这个例子中,calculateCircleArea方法接受一个radius参数,然后使用公式 πr²计算圆的面积。然后,使用return语句返回计算得到的面积。在main方法中,我们调用calculateCircleArea方法并打印返回的面积。

在上述代码中,return语句具有以下意义:

  1. 返回值return用于从方法中返回一个值。在这个例子中,calculateCircleArea方法计算了一个圆的面积,并通过return语句返回这个值。
  2. 终止方法执行:一旦return语句被执行,方法中的剩余代码将不再执行。在这个例子中,一旦计算出面积并赋值给area变量,return语句就会被执行,从而结束calculateCircleArea方法的执行。
  3. 控制流return语句不仅返回一个值,还控制了方法的执行流程。它告诉JVM(Java虚拟机)方法已经完成其任务,并可以返回到调用该方法的代码行。
  4. 类型匹配:由于return语句返回一个double类型的值,所以方法的返回类型必须是double或其兼容类型。在这个例子中,calculateCircleArea方法的返回类型是double,确保了返回值的正确性。
  • return语句在Java中是一个非常重要的关键字,它不仅用于从方法中返回值,还用于控制方法的执行流程和终止方法的执行。

标签

当你在多层循环中,你可能需要从内层循环跳到外层循环,或者从外层循环跳到内层循环。Java提供了一种使用标签的方法来实现这个功能。

标签可以看作是一个标记,它告诉Java编译器在哪里开始或结束一个特定的代码块。这样,当你在代码中遇到一个breakcontinue语句,并且后面跟着一个标签时,Java就会知道要跳转到哪个代码块。

例如,假设你有以下的嵌套循环:

outerLoop:
for (int i = 0; i < 10; i++) {innerLoop:for (int j = 0; j < 10; j++) {if (i == 5 && j == 5) {break outerLoop; // 当满足条件时,跳出outerLoop标签标记的循环}}
}

在这个例子中,当i == 5 && j == 5时,break outerLoop;语句会告诉Java跳出outerLoop标签标记的循环,即跳出外层循环。如果没有标签,break语句只会跳出内层循环。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/657409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习鸿蒙基础(2)

arkts是声名式UI DevEcoStudio的右侧预览器可以预览。有个TT的图标可以看布局的大小。和html的布局浏览很像。 上图布局对应的代码&#xff1a; Entry //入口 Component struct Index {State message: string Hello Harmonyos //State 数据改变了也刷新的标签build() {Row()…

C++ 数论相关题目,博弈论,SG函数,集合-Nim游戏

给定 n 堆石子以及一个由 k 个不同正整数构成的数字集合 S 。 现在有两位玩家轮流操作&#xff0c;每次操作可以从任意一堆石子中拿取石子&#xff0c;每次拿取的石子数量必须包含于集合 S &#xff0c;最后无法进行操作的人视为失败。 问如果两人都采用最优策略&#xff0c;…

PEI是聚醚酰亚胺(Polyetherimide)主要应用于哪些行业领域?

聚醚酰亚胺&#xff08;Polyetherimide&#xff0c;PEI&#xff09;由于其优异的性能&#xff0c;被广泛应用于多个工业领域。以下是PEI主要应用的一些行业领域&#xff1a; 1.航空航天工业&#xff1a; PEI的高温稳定性和机械性能使其在航空航天领域中成为一种理想的材料。它用…

系统架构设计师-21年-下午题目

系统架构设计师-21年-下午题目 更多软考知识请访问 https://ruankao.blog.csdn.net/ 试题一必答&#xff0c;二、三、四、五题中任选两题作答 试题一 (25分) 说明 某公司拟开发一套机器学习应用开发平台&#xff0c;支持用户使用浏览器在线进行基于机器学习的智能应用开发…

抵御.360勒索病毒威胁:解密文件的有效方法与预防措施

导言&#xff1a; 近来&#xff0c;网络犯罪的一种新型形式——.360勒索病毒&#xff0c;备受关注。这种病毒通过加密用户文件&#xff0c;要求支付赎金以获取解密密钥。本文91数据恢复将深入介绍.360勒索病毒的特点&#xff0c;同时提供一些有效的恢复方法&#xff0c;并分享…

OpenAI最近推出了ChatGPT的一个新功能,@GPT

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

人工视觉仍然需要图像采集卡

最初&#xff0c;图像采集卡被用作模拟视频数字转换器和图像缓冲器&#xff0c;但如今它们能够执行复杂的任务&#xff0c;例如图像处理。图像采集卡的设计不断发展&#xff0c;旨在提高系统性能并减少计算机处理需求。 除了图像采集之外&#xff0c;图像采集卡还执行机器视觉…

酒店|酒店管理小程序|基于微信小程序的酒店管理系统设计与实现(源码+数据库+文档)

酒店管理小程序目录 目录 基于微信小程序的酒店管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员模块的实现 (1) 用户信息管理 (2) 酒店管理员管理 (3) 房间信息管理 2、小程序序会员模块的实现 &#xff08;1&#xff09;系统首页 &#xff0…

kettle通过severice_name连接oracle数据源踩坑

最近在研究kettle做数据抽取核对&#xff0c;按照官网安装kettle后无法连接oracle 坑1&#xff1a;kettle 连接oracle的数据库名指的是sidname 而非severicename&#xff0c;前期一直使用severicename 如下始终报错 注意区分下&#xff1a; SID:一个数据库可以有多个实例&…

力扣hot100 组合总和 回溯 剪枝 组合

Problem: 39. 组合总和 文章目录 思路复杂度&#x1f496; Code 思路 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( n ) O(n) O(n) &#x1f496; Code class Solution{List<List<Integer>> res new ArrayList<>();int x;// 全局targetin…

webassembly003 TTS BARK.CPP-02-bark_tokenize_input(ctx, text);

bark_tokenize_input函数 bark是没有语言控制选项的&#xff0c;但是官方的版本无法运行中文bark_tokenize_input会调用bert_tokenize函数&#xff0c;bark_tokenize_input函数对中文分词失效&#xff0c;也就是导致不支持中文的原因。 void bark_tokenize_input(struct bark_…

IP 层转发分组的过程

目录 IP 层转发分组的过程 1.1 基于终点的转发 1.2 最长前缀匹配 转发表中的 2 种特殊的路由 主机路由 (host route) 默认路由 (default route) 路由器分组转发算法 1.3 使用二叉线索查找转发表 IP 层转发分组的过程 1.1 基于终点的转发 分组在互联网中是逐跳转发的。…

Walrus 实用教程|Walrus + Gitlab,打通CI/CD 自动化交付!

Walrus file 是 Walrus 0.5 版本推出的新功能&#xff0c;用户可以通过一个非常简洁的 YAML 描述应用或基础设施资源的部署配置&#xff0c;然后通过 Walrus CLI 执行 walrus apply或在 Walrus UI 上进行import&#xff0c;将 Walrus file 提交给 Walrus server&#xff0c;由 …

AP5191 DC-DC宽电压LED降压恒流驱动器 摩托电动汽车驱动芯片

产品描述 AP5191是一款PWM工作模式,高效率、外围简 单、内置功率MOS管&#xff0c;适用于4.5-150V输入的高 精度降压LED恒流驱动芯片。输出功率150W&#xff0c; 电流6A。AP5191可实现线性调光和PWM调光&#xff0c;线性调 光脚有效电压范围0.55-2.6V. AP5191 工作频率可以通过…

visual studio2022专业版安装步骤

目录 一、Visual studio下载二、创建C#项目——Hello World三、专业版秘钥激活 一、Visual studio下载 首先进入下载官网 先下载2022专业版&#xff0c;等等后面还需要选环境 我勾选了以下几个和c#开发有关的&#xff0c;后面缺什么还可以再安装所有以少勾了问题也不大 然后…

c学习:sqlite3数据库操作

目录 获取sqlite3源码 c调用步骤 常用接口函数说明 例子 打开数据库&#xff0c;新建表&#xff0c;插入数据&#xff0c;查询数据&#xff0c;关闭数据库 查询数据需要在回调函数中获取 获取sqlite3源码 先下载c的sqlite3源码&#xff0c;https://www.sqlite.org/inde…

植物病害检测YOLOV8,OPENCV调用

【免费】植物病害检测&#xff0c;10种类型&#xff0c;YOLOV8训练&#xff0c;转换成ONNX&#xff0c;OPENCV调用资源-CSDN文库 植物病害检测&#xff0c;YOLOV8NANO&#xff0c;训练得到PT模型&#xff0c;然后转换成ONNX&#xff0c;OPENCV的DNN调用&#xff0c;支持C,PYTH…

《Numpy 简易速速上手小册》第5章:Numpy高效计算与广播(2024 最新版)

文章目录 5.1 向量化计算5.1.1 基础知识5.1.2 完整案例&#xff1a;股票数据分析5.1.3 拓展案例 1&#xff1a;多维数组运算5.1.4 拓展案例 2&#xff1a;复杂函数的向量化应用 5.2 广播机制5.2.1 基础知识5.2.2 完整案例&#xff1a;二维数据与一维数据运算5.2.3 拓展案例 1&a…

vxe-table表格合并行和虚拟滚动冲突

项目一直用的vxe-table 2.0版本&#xff0c;支持表格的虚拟滚动&#xff0c;最近要做表格合并行功能&#xff0c;虚拟滚动便失效了&#xff0c;强行虚拟滚动&#xff0c;合并行会有错行现象。 vxe-table2.0给出的解释是&#xff1a;合并行不能和虚拟滚动一起使用。 目前找到两种…

华为VRP系统简介

因为现在国内主流是华为、华三、锐捷的设备趋势&#xff0c;然后考的证书也是相关的&#xff0c;对于华为设备的一个了解也是需要的。 一、VRP概述 华为的VRP(通用路由平台)是华为公司数据通信产品的通用操作系统平台&#xff0c;作为华为公司从低端到核心的全系列路由器、以太…