循环: 循环允许您多次重复执行一段代码块。
例如,一个银行应用可以循环遍历所有的银行交易并检查一些条件。
在java语言中,while 循环是一种迭代结构,用于在指定条件为真时重复执行一段代码块。while循环在每次迭代开始时检查条件是否为真,如果为真,则执行循环体内的代码,然后再次检查条件,依此类推,直到条件为假为止。
以下是while循环的基本语法:
while (condition) {
// 循环体内的代码
}
在上面的代码中,condition是一个布尔表达式,用于定义循环的终止条件。只要条件为真,循环体内的代码将会被执行。
下面是一个简单的例子,演示了如何使用while循环来打印数字1到5:
public class WhileLoopExample {
public static void main(String[] args) {
int i = 1; // 初始化计数器
while (i <= 5) { // 设置循环条件
System.out.println(i); // 打印当前计数器的值
i ; // 增加计数器的值
}
}
}
在上面的例子中,while循环不断地检查 i <= 5 条件是否为真,如果为真,则打印当前的i值并递增i,直到i的值大于5,循环终止。
需要注意的是,如果条件一开始就是假的,那么while循环内的代码块可能都不会执行。
除了while循环,Java还提供了其他类型的循环结构,如for循环和do-while循环,用于不同的迭代需求。
1.while循环while循环语句根据给定的条件为真,重复执行目标语句。
示例:
class Demo {
public static void main(String[ ] args) {
int x = 3;
while(x > 0) {
System.out.println(x);
x = x-1;
}
}
}
while循环检查条件x > 0。如果条件为真,则执行循环体内的语句。然后再次检查条件并重复执行。
让我们再次看一下代码:
x = x - 1; 非常重要,因为如果没有它,条件永远不会变为假,循环会无限运行。 每次循环运行时,x减去1。
在循环过程中常常需要将变量 减一或加一,Java提供了 递增和递减 运算符。这些运算符是一种简化将变量值增加或减少一的方法。
例如,语句x = x - 1; 可以简化为 x--。
class Demo {
public static void main(String[ ] args) {
int x = 3;
while(x > 0) {
System.out.println(x);
x--;
}
}
}
下面代码的输出是什么?
int x = 8;
x--;
x--;
System.out.println(x);
类似地,递增运算符 用于将变量值增加一。
语句x = x 1; 可以简化为 x 。
这是一个输出1到10的循环示例:
class Demo {
public static void main(String[ ] args) {
int x = 1;
while(x <= 10) {
System.out.println(x);
x ;
}
}
}
有些循环需要将 变量的值增加或减少一个不同的数值。
例如,让我们仅输出从0到10的偶数的循环。
class Demo {
public static void main(String[ ] args) {
int x = 0;
while(x <= 10) {
System.out.println(x);
x=x 2;
}
//输出:0 2 4 6 8 10
}
}
x = x 2; 这个操作还有一个更简洁的写法,可以写作 x =2;
以下代码运行后 x 的值是多少?
int x = 2;
x = 1;
x *= 2;
x -= 2;
在循环中可以进行计算和其他操作。
例如,让我们计算从1到100的数字的总和并输出它:
class Demo {
public static void main(String[ ] args) {
int sum = 0;
int num = 0;
while(num <= 100) {
sum = num;
num ;
}
System.out.println(sum);
//输出:5050
}
}
每次循环运行时,我们将num的值加到sum中,然后将num的值增加1。
在循环结束时,sum保存了我们计算的结果。
请注意,最后的打印语句在 while 的范围之外。
以下循环将将运行多少次?
int x = 0;
int y = 5;
while (x < y) {
System.out.println("Hello");
x ;
}
2.do-while循环
在Java语言中,do-while循环是一种迭代控制结构,它允许你在执行 循环体之前 至少执行一次循环条件检查。这与while循环不同,while 循环在执行循环体之前会先检查循环条件。
do-while循环的语法如下:
do {
// 循环体
} while (循环条件);
在执行 do 后的循环体之后,程序会在 while 后的循环条件处进行检查。如果循环条件为真(即满足条件),则循环将继续执行,否则循环将终止。
以下是一个简单的例子,展示了如何使用 do-while 循环来读取用户输入,直到用户输入了一个非负数为止:
import java.util.Scanner;
public class DoWhileExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number;
do {
System.out.print("请输入一个非负整数:");
number = scanner.nextInt();
} while (number < 0);
System.out.println("您输入的非负整数是:" number);
}
}
在此示例中,程序会先执行循环体,然后在循环条件中检查输入的数字是否小于0。如果小于0,循环将继续,继续提示用户输入,直到输入的数字为非负数为止。
需要注意的是,do-while 循环至少会执行一次循环体,因此它适用于需要至少执行一次的情况。
do-while 是 while 循环的另一种的变体。
例如:
class Demo {
public static void main(String[ ] args) {
int x = 1;
do {
System.out.println(x);
x ;
} while(x < 5);
//输出:1 2 3 4
}
}
请注意,条件出现在循环的末尾,因此循环中的语句在测试之前执行一次。 即使条件为 false,代码也会执行一次。 另外,请注意在 while 条件后面的分号。
while 和 do-while 的区别在于 do-while 保证至少会执行一次,即使条件为 false。
以下是关于while循环的总结:
- 只要条件为真,while循环中的代码才会运行。
- 和 -- 运算符用于将变量的值增加和减少一。
- Java提供了简写运算符来对变量执行数学运算,例如 x = x * 9; 可以写作 x *= 9。
- do-while循环类似于while循环,但它保证至少会执行一次。
在下一课中,我们将学习另一种循环类型!
求和:数字1到10的总和是55。
你的数学老师要求你计算从1到N的数字的总和,其中N是一个给定的数。
任务:从输入中获取一个整数N,并输出从1到N的数字的总和,包括N。
示例输入: 10
示例输出: 55
下面是使用Java语言编写的代码示例来解决这个问题:
import java.util.Scanner;
public class Program {
public static void main(String[] args) {
//your code goes here
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();
int sum = 0;
for (int i = 1; i <= N; i ) {
sum = i;
}
System.out.println(sum);
}
}