Java学习教程,从入门到精通,Java for循环知识点(15)

1、Java for循环

在Java中,for循环是一种基本的循环控制结构,它允许你重复执行一段代码固定次数。for循环的语法如下:

for (初始化表达式; 循环条件; 迭代表达式) {// 循环体:要重复执行的代码块
}

这里是每个部分的详细解释:

  1. 初始化表达式(Initialization Expression):
    • 在循环开始之前执行,通常用于初始化一个或多个循环控制变量。
    • 可以是声明变量的表达式(如 int i = 0),也可以是已经声明的变量的赋值表达式(如 i = 0)。
  2. 循环条件(Loop Condition):
    • 在每次循环迭代之前评估。
    • 如果条件为 true,则执行循环体;如果为 false,则跳出循环。
  3. 迭代表达式(Iteration Expression):
    • 在每次循环迭代结束时执行。
    • 通常用于更新循环控制变量(如 i++i = i + 1)。
  4. 循环体(Loop Body):
    • 包含要重复执行的代码块。
    • 只要循环条件为 true,就会重复执行循环体。

示例

以下是一个简单的示例,展示了如何使用 for 循环来打印从 1 到 5 的数字:

public class ForLoopExample {public static void main(String[] args) {for (int i = 1; i <= 5; i++) {System.out.println("当前数字是: " + i);}}
}

在这个例子中:

  • 初始化表达式是 int i = 1,它声明并初始化了一个名为 i 的变量,其初始值为 1。
  • 循环条件是 i <= 5,这意味着只要 i 的值小于或等于 5,循环就会继续。
  • 迭代表达式是 i++,它在每次循环迭代结束时将 i 的值增加 1。
  • 循环体是 System.out.println("当前数字是: " + i);,它打印当前 i 的值。

注意事项

  • 初始化表达式、循环条件和迭代表达式都是可选的,但通常至少需要一个循环条件。
  • 如果省略了初始化表达式,循环变量必须在循环外部声明并初始化。
  • 如果省略了迭代表达式,循环可能会变成无限循环(除非在循环体内有某种形式的跳出语句,如 break)。
  • 可以在循环体内使用 continue 语句来跳过当前迭代并立即开始下一次迭代(如果有的话)。
  • 可以使用 break 语句来完全跳出循环。

当然可以。for 循环在Java编程中有广泛的应用,以下是一些实际应用的例子:

1. 计算1到100的和

public class SumExample {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}System.out.println("1到100的和是: " + sum);}
}

在这个例子中,我们使用 for 循环来计算从1到100的整数和。

2. 打印数组内容

public class PrintArrayExample {public static void main(String[] args) {int[] arr = {1, 2, 3, 4, 5};for (int i = 0; i < arr.length; i++) {System.out.println("数组元素[" + i + "]是: " + arr[i]);}}
}

这个例子展示了如何使用 for 循环来遍历和打印数组的每个元素。

3. 打印九九乘法表

public class MultiplicationTableExample {public static void main(String[] args) {for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {System.out.print(j + " * " + i + " = " + (i * j) + "\t");}System.out.println();}}
}

在这个例子中,我们使用嵌套的 for 循环来打印九九乘法表。

4. 判断闰年并计算1980年到指定年份的闰年数量

import java.util.Scanner;public class LeapYearExample {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入年份: ");int year = scanner.nextInt();int leapYearCount = 0;for (int i = 1980; i <= year; i++) {if (isLeapYear(i)) {leapYearCount++;System.out.print(i + "\t");if (leapYearCount % 4 == 0) {System.out.println();}}}System.out.println("从1980年到" + year + "年共有" + leapYearCount + "个闰年。");}public static boolean isLeapYear(int year) {return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);}
}

这个例子展示了如何使用 for 循环来判断闰年,并计算从1980年到指定年份的闰年数量。我们还使用了一个辅助方法 isLeapYear 来判断一个年份是否是闰年。

5. 字符串循环打印

public class StringLoopExample {public static void main(String[] args) {String message = "Hello, World!";for (int i = 1; i <= 5; i++) {System.out.println(message);}}
}

这个例子展示了如何使用 for 循环来重复打印相同的字符串。
这些例子展示了 for 循环在Java编程中的多种应用,包括计算、遍历数组、打印表格、判断条件以及字符串处理等。
Java中的for循环是一种非常强大的控制结构,它允许你根据指定的条件重复执行一段代码。在实际应用中,for循环可以用于多种场景,包括但不限于以下几种:

1. 遍历数组或集合

for循环常用于遍历数组或集合(如ArrayListHashSet等)中的元素。通过索引或迭代器,可以访问集合中的每个元素并对其进行处理。

// 遍历数组
int[] numbers = {1, 2, 3, 4, 5};
for (int i = 0; i < numbers.length; i++) {System.out.println(numbers[i]);
}
// 遍历ArrayList
ArrayList<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));
}
// 使用增强for循环遍历ArrayList(更简洁)
for (String fruit : list) {System.out.println(fruit);
}

2. 重复执行固定次数的任务

当需要重复执行某个任务固定次数时,for循环非常有用。例如,计算一组数的和、打印多次相同的消息等。

// 计算1到100的和
int sum = 0;
for (int i = 1; i <= 100; i++) {sum += i;
}
System.out.println("Sum: " + sum);// 打印5次"Hello, World!"
for (int i = 0; i < 5; i++) {System.out.println("Hello, World!");
}

3. 嵌套循环处理二维数组或矩阵

嵌套for循环可以用于遍历二维数组或矩阵。外层循环遍历行,内层循环遍历列。

int[][] matrix = {{1, 2, 3},{4, 5, 6},{7, 8, 9}
};for (int i = 0; i < matrix.length; i++) {for (int j = 0; j < matrix[i].length; j++) {System.out.print(matrix[i][j] + " ");}System.out.println();
}

4. 字符串处理

在处理字符串时,for循环可以用于遍历字符串的每个字符,进行字符计数、查找特定字符等操作。

String str = "Hello, World!";
int vowelCount = 0;
for (int i = 0; i < str.length(); i++) {char ch = str.charAt(i);if (isVowel(ch)) {vowelCount++;}
}
System.out.println("Number of vowels: " + vowelCount);
// 辅助方法判断字符是否为元音
private static boolean isVowel(char ch) {ch = Character.toLowerCase(ch);return ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u';
}

5. 数值计算与模拟

在数值计算和模拟中,for循环常用于迭代计算过程,如求解方程、模拟物理过程等。

// 使用for循环计算斐波那契数列的前10个数
int n = 10;
long[] fibonacci = new long[n];
fibonacci[0] = 0;
fibonacci[1] = 1;
for (int i = 2; i < n; i++) {fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2];
}
for (long num : fibonacci) {System.out.print(num + " ");
}

这些例子展示了for循环在Java编程中的多种实际应用。通过理解这些应用,你可以更好地掌握for循环的使用方法和技巧,并将其应用于更复杂的编程任务中。

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

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

相关文章

安宝特分享 | AR技术引领:跨国工业远程协作创新模式

在当今高度互联的工业环境中&#xff0c;跨国合作与沟通变得日益重要。然而&#xff0c;语言障碍常常成为高效协作的绊脚石。安宝特AR眼镜凭借其强大的多语言自动翻译和播报功能&#xff0c;正在改变这一局面&#xff0c;让远程协作变得更加顺畅。 01 多语言翻译优势 安宝特A…

逗号运算符应用举例

在main.cpp里输入程序如下&#xff1a; #include <iostream> //使能cin(),cout(); #include <iomanip> //使能setbase(),setfill(),setw(),setprecision(),setiosflags()和resetiosflags(); //setbase( char x )是设置输出数字的基数,如输出进制数则用set…

vxe-table v4.8+ 与 v3.10+ 虚拟滚动支持动态行高,虚拟渲染更快了

Vxe UI vue vxe-table v4.8 与 v3.10 解决了老版本虚拟滚动不支持动态行高的问题&#xff0c;重构了虚拟渲染&#xff0c;渲染性能大幅提升了&#xff0c;行高自适应和列宽拖动都支持&#xff0c;大幅降低虚拟渲染过程中的滚动白屏&#xff0c;大量数据列表滚动更加流畅。 自适…

ICPC区域赛成都站【赛后回顾+总结】

传送门 前言赛后总结赛后回顾赛后感悟 前言 首先&#xff0c;这是本人本赛季第一场XCPC区域赛&#xff0c;也是本人算竞生涯中第一场XCPC区域赛&#xff08;之前只打过邀请赛和省赛&#xff09;。 赛后总结 然后赛后总结一下&#xff1a;我队天崩开局&#xff0c;我队出师不利…

c盘满了怎么清理垃圾而不误删?6招轻松清理C盘,快来试试

c盘满了怎么清理垃圾而不误删&#xff1f;相信平时工作生活中离不开电脑&#xff0c;随着使用电脑时间就了&#xff0c;C 盘的空间会不断被占据&#xff0c;进而致使系统运行变得迟缓&#xff0c;甚至出现卡顿现象。因此&#xff0c;定期清理 C 盘的是非常重要的。很多电脑小白…

excel的宏1

1宏和vba visual basic for applications 一种编程语言 2vba编写一系列指令的程序&#xff0c;就是宏 3完成重复性的数据任务 点击开发工具 使用设置的宏之后表格的变化 excel帮忙编写了一个代码 以上为自动编写的代码

Swarm-LIO: Decentralized Swarm LiDAR-inertial Odometry论文翻译

文章目录 前言一、介绍二、相关工作三、方法A. 问题表述B. 框架概述C. 群体系统的初始化D. 去中心化激光雷达-惯性状态估计 四. 实验A. 室内飞行B. 退化环境飞行C. 去中心化部署 五. 结论和未来工作 前言 原文&#xff1a;原文 准确的自我状态和相对状态估计是完成群体任务的关…

光耦合器的关键作用和创新---腾恩科技

光耦合器或光隔离器已成为电路中必不可少的器件&#xff0c;它允许信号在无需直接电接触的情况下跨不同电压域传输。这种隔离能力对于保护低压元件免受高压电路的潜在损坏至关重要。本文将仔细研究光耦合器在当今技术中发挥的独特作用&#xff0c;并探讨其在各种应用中不断扩展…

linux:回车换行+进度条+git理解与使用以及如何解决免密码push问题

目录 特殊符号 Linux小程序---进度条 1.\n和\r的理解 2.缓冲区 3.设计简单的倒计时 4.设计简单的进度条 git-版本控制器 1.理解什么是版本控制器? 2.git的使用 3.git的其他说明 总结上传过程 特殊符号 1.(取消显化) 的作用:执行指令,但指令本身不会显化; 举个例子:我…

vscode摸鱼学习插件开发

不知道大家在摸鱼的时候&#xff0c;会不会想要学习&#xff1f; 或者有没有考公人&#xff0c;下班要学习的&#xff1f; 上班时间摸鱼&#xff0c;下班时间不够学习&#xff1f; 为此&#xff0c;我决定开发一个vscode插件&#xff0c;来刷粉笔题 粉笔插件名称&#xff1a;…

如何解决RabbitMQ消息的重复消费问题

什么情况下会导致消息的重复消费——在消费者还没成功发送自动确认机制时发生&#xff1a; 网络抖动消费者挂了 解决方案 每条消息设置一个唯一的标识id幂等方案&#xff1a;【Redis分布式锁、数据库锁&#xff08;悲观锁、乐观锁&#xff09;】 面试官&#xff1a;如何解决…

Kafka 与传统 MQ 消息系统之间有三个关键区别?

大家好&#xff0c;我是锋哥。今天分享关于【Kafka 与传统 MQ 消息系统之间有三个关键区别&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; Kafka 与传统 MQ 消息系统之间有三个关键区别&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 …

软件测试基础知识最强总结(2024版)

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、什么是软件&#xff1f; 软件是计算机系统中的程序和相关文件或文档的总称。 二、什么是软件测试&#xff1f; 说法一&#xff1a;使用人工或自动的手段…

智慧用电监控装置:引领0.4kV安全用电新时代

在智能科技日新月异的今天&#xff0c;电力安全与管理正迎来一场前所未有的革新。为0.4kV以下TT、TN系统打造的智慧用电在线监控装置不仅重新定义了电力监控的边界&#xff0c;更为建筑安全用电筑起了一道坚不可摧的防线。 装置集成了单、三相交流电精确测量、四象限电能计量、…

【GL09】(算法)卡尔曼滤波

一、简介 卡尔曼滤波&#xff08;Kalman Filter&#xff09;是一种有效的递归滤波器&#xff08;自回归滤波器&#xff09;&#xff0c;它能够从一系列的包含统计噪声的测量中估计动态系统的状态。卡尔曼滤波广泛应用于信号处理、控制理论、自动驾驶、金融等领域。 基本公式&am…

IIC学习总结

一、基本概念 IIC&#xff08;Inter-Integrated Circuit&#xff09;其实是IICBus简称&#xff0c;所以中文应该叫集成电路总线&#xff0c;它是一种串行通信总线&#xff0c;使用多主从架构。 二、模块结构 I2C串行总线一般有两根信号线&#xff0c;一根是双向的数据线SDA&…

go 聊天系统项目-1

1、登录界面 说明&#xff1a;这一节的内容采用 go mod 管理【GO111MODULE‘’】的模块&#xff0c;从第二节开始使用【GO111MODULE‘off’】GOPATH 管理模块。具体参见 go 包相关知识 1.1登录界面代码目录结构 代码所在目录/Users/zld/Go-project/day8/chatroom/ 1.2登录…

qt QCheckBox详解

QCheckBox 是 Qt 框架中的一个控件&#xff0c;用于创建复选框&#xff0c;允许用户进行选择和取消选择。它通常用于表单、设置界面和任何需要用户选择的场景。 QCheckBox继承自QAbstractButton类&#xff0c;因此继承了按钮的特性。它表示一个复选框&#xff0c;用户可以通过…

使用Postman发送POST请求的指南

作为一名软件测试工程师&#xff0c;掌握如何使用Postman发送POST请求是非常重要的技能。POST请求通常用于向服务器发送数据&#xff0c;以创建或更新资源。本文将详细介绍如何在Postman中发送POST请求&#xff0c;帮助你高效地进行接口测试。 什么是POST请求&#xff1f; PO…

2024年meme币走势分析:最后两个月的市场趋势与机会 #交易所#dapp#KOL社区合作

2024年即将步入尾声&#xff0c;meme币市场经历了显著的波动。对于加密市场来说&#xff0c;年底的走势尤为关键&#xff0c;尤其是meme币这种受市场情绪影响较大的加密资产。本文将从市场环境、宏观经济因素、投资者情绪、技术分析等方面分析meme币在2024年最后两个月的潜在走…