网站首页 > 基础教程 正文
for 循环
在Java中,for循环是一种常用的循环结构,用于重复执行一段代码块,通常在已知循环次数或满足特定条件的情况下使用。下面我会为您详细介绍for循环的语法、用法以及一个实例来帮助理解。
语法:基本的for循环结构
for (初始化语句; 条件表达式; 更新语句) {
// 循环体,重复执行的代码块
}
- 初始化语句:在循环开始前执行的语句,一般用于初始化计数器或设置循环的起始条件。
- 条件表达式:在每次循环迭代前求值,如果结果为true,继续循环;如果为false,退出循环。
- 更新语句:在每次循环迭代后执行的语句,一般用于更新计数器或改变循环的条件。
示例:
让我们通过一个例子来演示for循环的用法。假设我们要打印出从1到5的数字:
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); 将会在每次循环迭代时执行,打印出从1到5的数字。
这就是一个简单的for循环的例子。您可以根据需要调整初始化、条件和更新语句,以及循环体中的代码,实现不同的循环逻辑。
出了 while 循环和 do-while 循环,另一种循环是 for 循环。
看起来像这样:
class Demo {
public static void main(String[ ] args) {
for(int x=1; x<5; x++) {
System.out.println(x);
}
//输出:1 2 3 4
}
}
for循环有三个组成部分:
- 第一个部分在我们进入循环时运行一次,并初始化变量。
- 第二个部分是循环的条件。
- 第三个部分在每次循环运行时都会运行。
注意在循环的各个部分之后有分号 (;)。
在for循环中,你可以使用任何类型的条件和增量语句。
下面的示例仅打印0到10之间的偶数值:
for (int i = 0; i <= 10; i++) {
if (i % 2 == 0) {
System.out.println(i);
}
}
class Demo {
public static void main(String[ ] args) {
for(int x=0; x<=10; x+=2) {
System.out.println(x);
}
}
}
希望这可以帮助你理解for循环的使用!
在我们知道需要循环运行的次数时,for循环是最好的选择。
1.break 语句
记得之前我们在switch语句中使用的break语句吗?它也可以用来终止循环。
示例:
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // 当 i 等于 5 时终止循环
}
System.out.println(i);
}
在上述示例中,当i的值等于5时,break语句会终止循环,输出结果为:
0
1
2
3
4
class Demo {
public static void main(String[ ] args) {
int x = 1;
while(x < 10) {
System.out.println(x);
if(x == 4) {
break;
}
x++;
}
//输出:1 2 3 4
}
}
当变量 x 的值达到 4 时,这将结束循环。
break 它在for循环中同样适用:
class Demo {
public static void main(String[ ] args) {
for(int x=1; x<10; x++) {
System.out.println(x);
if(x == 4) {
break;
}
}
}
}
这里有一个使用break的示例用法:
例如,你正在制作一个计算器,并且需要从用户那里获取数字进行相加,直到用户输入"stop"时停止。
在这种情况下,可以使用break语句来在用户输入等于"stop"时结束循环。
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0;
while (true) {
System.out.print("Enter a number (or 'stop' to exit): ");
String input = scanner.nextLine();
if (input.equals("stop")) {
break; // 当用户输入为"stop"时终止循环
}
int number = Integer.parseInt(input);
sum += number;
}
System.out.println("Sum: " + sum);
scanner.close();
}
}
在上述示例中,当用户输入为"stop"时,break语句会结束循环,计算器将给出输入数字的和。
2.continue语句
另一个控制语句是continue,它使得循环跳过当前迭代,直接进入下一次迭代。
示例:
for (int i = 0; i < 5; i++) {
if (i == 2) {
continue; // 当 i 等于 2 时跳过当前迭代
}
System.out.println(i);
}
在上述示例中,当i的值等于2时,continue语句会跳过当前迭代,输出结果为:
0
1
3
4
class Demo {
public static void main(String[ ] args) {
for(int x=10; x<=40; x+=10) {
if(x == 30) {
continue;
}
System.out.println(x);
}
}
}
上述代码根据continue语句的指示跳过了数值30。
continue的一个示例用法: 一个航空售票系统需要计算所有购票的总费用。3岁以下儿童的机票是免费的。我们可以使用while循环遍历旅客列表,并计算他们机票的总费用。在这种情况下,continue语句可以用来跳过儿童。
import java.util.ArrayList;
import java.util.List;
public class TicketingSystem {
public static void main(String[] args) {
List<Passenger> passengerList = new ArrayList<>();
passengerList.add(new Passenger("John", 28));
passengerList.add(new Passenger("Sarah", 2));
passengerList.add(new Passenger("Mike", 36));
double totalCost = 0;
int passengerCount = 0;
while (passengerCount < passengerList.size()) {
Passenger passenger = passengerList.get(passengerCount);
if (passenger.getAge() < 3) {
passengerCount++;
continue; // 跳过年龄小于3岁的乘客
}
totalCost += calculateTicketCost(passenger);
passengerCount++;
}
System.out.println("Total cost of tickets: #34; + totalCost);
}
private static double calculateTicketCost(Passenger passenger) {
// 根据乘客的特定需求进行票价计算
return 100.0; // 假设票价为100美元
}
}
class Passenger {
private String name;
private int age;
public Passenger(String name, int age) {
this.name = name;
this.age = age;
}
public int getAge() {
return age;
}
}
在上述示例中,我们使用了continue语句来跳过年龄小于3岁的乘客。这样,计算总票价时将不计算他们的费用。
学习要点:
很棒的进展!这是一个总结:
- for循环的语法如下:
for (initialization; condition; update) {
// code to be executed
}
- initialization在循环开始前执行,用于初始化变量。
- condition是一个布尔表达式,决定循环是否继续执行。
- update在每次循环结束后执行,用于更新循环变量的值。
- 循环体中的代码将重复执行,直到condition的结果为false。
- break语句可用于提前结束循环。
- continue语句可用于跳过当前迭代,直接进行下一次迭代。
以上是使用for循环以及break和continue语句的一些要点。这些工具将帮助你更有效地控制和处理循环结构中的逻辑。继续努力!
- break语句用于终止循环。
- continue语句用于跳过当前迭代,进入下一次迭代。
编程题:
阶乘:使用for循环进行计算,并从数字1开始循环。
一个数N的阶乘等于1 * 2 * 3 * ... * N。 例如,5的阶乘是1 * 2 * 3 * 4 * 5 = 120。
创建一个程序,从输入中获取一个数字,并输出该数字的阶乘。
import java.util.Scanner;
class Demo{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
int factorial = 1;
for (int i = 1; i <= number; i++) {
factorial *= i;
}
System.out.println(factorial);
}
}
上述程序中,我们使用Scanner类从用户输入获取一个数字。然后,我们使用for循环计算该数字的阶乘,并将结果输出到控制台。
输入一个数字,程序将计算该数字的阶乘并输出结果。
使用for循环计算并输出1到1000的数字之和。
public class SumCalculator {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 1000; i++) {
sum += i;
}
System.out.println("The sum of numbers from 1 to 1000 is: " + sum);
}
}
在这个程序中,我们使用for循环从1到1000遍历所有数字,并将每个数字累加到总和中。最终,我们将计算得到的总和输出到控制台。
执行该程序,将输出1到1000的数字之和。在这种情况下,输出结果为500500。
猜你喜欢
- 2025-01-02 Java for循环
- 2025-01-02 C语言for循环语句使用形式总结
- 2025-01-02 VBA基本语法之For循环结构,都有什么含义,具体该怎么使用?
- 2025-01-02 实例 | 快速掌握200SMART FOR-NEXT指令使用技巧
- 2025-01-02 「绍棠」 vuejs中常用的js循环遍历对象的方法列举-案例
- 2025-01-02 C|代码优化:减少函数调用、内存引用,循环展开及提高并行度
- 2025-01-02 停止使用 .forEach:使用 for...of 循环改造你的代码
- 2025-01-02 LABVIEW学习笔记之for循环
- 2025-01-02 Java里的for循环怎么用
- 2025-01-02 西门子博途SCL高级语言之FOR循环
- 01-09Oracle数据库面试题汇总
- 01-09Oracle AWR解析-Report Summary
- 01-09想要成为数据分析师,这些Excel必备知识点你得掌握
- 01-09java开发中常用Oracle函数实例总结比较,当真不少
- 01-09DriveWorks其实是这么回事
- 01-09EXCEL做数据分析,学会这些就入门了
- 01-09一场pandas与SQL的巅峰大战(六)
- 01-09Oracle数据库知识 day01 Oracle介绍和增删改查
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)