循环语句的四个组成部分
1.初始化部分(init_statement)
2.循环条件部分(test_exp)
3.循环体部分(body_statement)
4.迭代部分(alter_statement)
1.语法格式
for (①初始化部分; ②循环条件部分(boolean类型); ④迭代部分){
③循环体部分;
}
2.执行过程:
①-②-③-④-②-③-④-②-③-④-…-②
3. 说明:
②循环条件部分为boolean类型表达式,当值为false时,退出循环
①初始化部分可以声明多个变量,但必须是同一个类型,用逗号分隔
④可以有多个变量更新,用逗号分隔
**说明:i在for循环中有效,出了for循环就无效!**通常条件下,循环结构结束一般是由于循环条件==false时,结束。
for语句例题1
编写程序从1循环到150,并在每行打印一个值,另外在每个3的倍数行
上打印出“foo”,在每个5的倍数行上打印“biz”,在每个7的倍数行上打印
输出“baz”。
变量在使用之前一定要进行赋值!
for语句例题2
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
比如: 12和20的最大公约数是4,最小公倍数是60。
说明: break关键字的使用
下面展示一些 ForTest1
。
/*
编写程序从1循环到150,并在每行打印一个值,另外在每个3的倍数行
上打印出“foo”,在每个5的倍数行上打印“biz”,在每个7的倍数行上打印
输出“baz”。
*/
public class ForTest1 {
public static void main(String[] args) {
for (int i = 1;i <= 150;i++){
System.out.print(i + " ");
if (i % 3 == 0) {
System.out.print("foo");
}
if (i % 5 == 0){
System.out.print("biz");
}
if (i % 7 == 0){
System.out.print("baz");
}
//进行换行
System.out.println();
}
}
}
下面展示一些 ForTest2
。
/*
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
比如: 12和20的最大公约数是4,最小公倍数是60。
说明: break关键字的使用
*/
import java.util.Scanner;
public class ForTest2 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("输入第一个正整数:");
int m = scan.nextInt();
System.out.println("输入第二个正整数:");
int n = scan.nextInt();
//获取最大公约数
//先得到两个数中的最小值
int min = (m < n) ? m : n;
//遍历
for (int i = min;i >= 1;i--){
if (m % i == 0 && n % i == 0){
System.out.println("最大公约数是" + i);
break;//一旦执行到break,就会跳出当前循环
}
}
//获取最大公倍数
int max = (m > n) ? m : n;
for (int i = max;i <= m * n;i++){
if (i % m == 0 && i % n == 0){
System.out.println("最小公倍数是" + i);
break;//一旦执行到break,就会跳出当前循环
}
}
}
}
下面展示一些 ForTest
。
/*
输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数
字立方和等于其本身。
例如: 153 = 1*1*1 + 3*3*3 + 5*5*5
*/
public class ForTest {
public static void main(String[] args) {
int m,n,j;
for (int i = 100;i < 1000;i++){
m = i / 100;
n = (i / 10) % 10;
j = i % 10;
if (i == m*m*m + n*n*n + j*j*j){
System.out.println("水仙花数:" + i);
}
}
}
}