Java——循环语句

目录

一  for循环语句

1.for循环的格式

2.执行流程

3.案例练习

4.变式训练

5.知识拓展

二  while循环语句

1.while循环的格式

2.执行流程

3.案例练习

4.变式训练

5.易错知识点

三  do-while循环语句

1.do-while语句的格式

2.执行流程

3.案例练习

4.变式训练


Java的循环语句分为三种,分别为for循环,while循环,do-while循环。

一  for循环语句

1.for循环的格式

 for(初始化语句;条件判断语句;条件控制语句){

 循环体语句;

}

2.执行流程

①.执行初始化语句

②.执行条件判断语句,看其结果是true还是false

        如果是false,循环结束

        如果是true,继续循环

③.执行循环体语句

④.执行条件判断语句

⑤.回到②继续执行

案例:求1-5之间的整数和,并把求和结果在控制台输出。

public class Operator{
    public static void main(String args[]) {
        int sum = 0; //求和的最终结果必须保存起来,需要定义一个变量
        //用于保存求和的结果,初始值为0.
        for(int i =1;i <= 5 ; i++)   //从1开始到5结束的数据,使用循环结构完成
        {
            sum+=i;
        }
        System.out.println("1-5之间的整数和为"+sum);
    }
}
3.案例练习

在控制台输出所有的“水仙花数”(什么是水仙花数?①水仙花数是一个三位数②水仙花数的个位,十位,百位的数字立方和等于原数)

public class Operator{
    public static void main(String args[]) {
        for(int i = 100;i<1000;i++){
            int ge = i%10;  //一个三位数取余10就是该三位数的个位。
            int shi = i/10%10; //一个三位数除10就是该三位数的百位和十位组成的两位数
                               //然后再%10则是该三位数的十位
            int bai = i/100;   //一个三位数/100则是该三位数的百位
            if(ge*ge*ge+bai*bai*bai+shi*shi*shi==i)
                System.out.println(i+"是水仙花数!!!");
        }
    }
}

 运行结果:

4.变式训练

每行打印两个水仙花数

public class Opertor {
    public static void main(String[] args) {
        int count = 0;// 定义一个记录行个数的变量,用于控制换行
        for (int i=100;i<1000;i++){
            int ge = i%10;
            int shi = i/10%10;
            int bai = i/100;
            if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){
                System.out.print(i+"是水仙花数  ");
                count++;  // 记录数自动加1
                if(count%2==0){  // 用记录数来判断是否是偶数个
                    System.out.println();  //换行
                }
            }
        }
    }
}

运行结果:

 5.知识拓展

①.for循环语法格式中: for(初始化语句;条件判断语句;条件控制语句){ 循环体语句;}中,"初始化语句","条件判断语句","条件控制语句"三者可以同时为空——for( ; ;){循环体语句;}表示无限循环直到资源耗尽。

②.for循环语法格式中: for(初始化语句;条件判断语句;条件控制语句){ 循环体语句;}中,"条件判断语句"可以为空——for(初始化语句; ;条件控制语句){ 循环体语句;},表示无限循环直到资源耗尽。

③.for循环语法格式中:for(初始化语句;条件判断语句;条件控制语句){ 循环体语句;}中,如果"循环体语句"不打大括号,则表示循环for循环下面的第一条语句。

二  while循环语句

 1.while循环的格式

初始化语句;

while(条件判断语句){

循环体语句;

条件控制语句;

}

2.执行流程

①.执行初始化语句

②.执行条件判断语句,看其结果是true还是false

               如果是false,循环结束

               如果是true,继续循环

③.执行循环体语句

④.执行条件控制语句

⑤.回到②继续

 3.案例练习

需求:世界最高山峰是珠穆朗玛峰(8844.43m=8844430mm),假如我有一张足够大的纸,它的厚度是0.1mm,请问我折叠多少次,可以折成珠穆朗玛峰的高度?

/*
因为要反复折叠,所以要使用循环,但是不知道要折叠多少次,
这种情况更适合用while循环
 */
public class Operator {
    public static void main(String[] args) {
        int count = 0;//记录次数
        double paper = 0.1;
        while (paper<8848000){
            paper = paper*2;
            count++;
        }
        System.out.println("要折"+count+"次");
    }
}

运行结果:

要折27次
4.变式训练

要求用户输入一个02之间的整数,如果用户输入0输出你出的是石头,如果用户输入1就输出你出的是剪刀,如果用户输入的是2就输出你出的是布,然后再问是否要继续出拳,如果回答“y”就重复以上过程,否则结束程序。

import java.util.Scanner;

public class Exec04 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String m ="y";
        while(m.equals("y")){
            System.out.println("请输入一个0-2之间的整数");
            int n = sc.nextInt();
            if(n==1){
                System.out.println("你出的是剪刀");
            }
            else if(n==2){
                System.out.println("你出的是布");
            }else if(n==0){
                System.out.println("你出的是石头");
            }else {
                System.out.println("您输入的数字有误!!!");
            }
            System.out.println("是否要继续出拳?  y/n?");
            m = sc.next();
            }
        }
    }

运行结果:

5.易错知识点

 ①. 无限循环:当循环条件永远为真时,会导致无限循环。这可能是由于循环条件没有正确设置或没有在循环内部修改循环变量导致的。为避免无限循环,确保循环条件最终会变为假。

②.未初始化循环变量:在进入while循环之前,确保循环变量已经正确初始化。如果循环变量未初始化,可能会导致循环无法正常执行或产生意外的结果。

③.遗漏break或continue语句:在while循环中,break语句用于跳出循环,continue语句用于跳过当前循环的剩余部分并立即进入下一次循环。如果在循环内遗漏了这些语句,可能会导致循环无法正常结束或无法跳过某些部分。

三  do-while循环语句

1.do-while语句的格式

初始化语句;

do{

循环体语句;

条件控制语句;

}while(条件判断语句);

2.执行流程

①执行初始化语句

②执行循环体语句

③执行条件控制语句

④执行条件判断语句,看其结果是true还是false

                如果是false,循环结束

                如果是true,继续执行

⑤回到②继续

3.案例练习

使用do-while循环语句遍历1-10

public class Opeartor {
        public static void main(String[] args) {
            int start = 1;
            int end = 10;

            do {
                System.out.println(start);
                start++;
            } while (start <= end);
        }
    }

运行结果

1
2
3
4
5
6
7
8
9
10
4.变式训练

计算5的阶乘5!

public class Factorial {
    public static void main(String[] args) {
        int n = 5;
        int factorial = 1;

        do {
            factorial *= n;
            n--;
        } while (n > 0);

        System.out.println("5! = " + factorial);
    }
}

运行结果

5!=120

  • 28
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,我可以为你介绍一下如何使用 Java 编写程序实现文件拷贝。 Java 提供了非常方便的 I/O 类来处理文件读写操作。文件拷贝的基本思路是读取源文件中的数据,然后将数据写入到目标文件中。下面是一个简单的文件拷贝程序示例: ```java import java.io.*; public class FileCopy { public static void main(String[] args) throws IOException { // 源文件路径 String srcFilePath = "C:/temp/source.txt"; // 目标文件路径 String destFilePath = "C:/temp/dest.txt"; // 创建输入流和输出流 FileInputStream fis = new FileInputStream(srcFilePath); FileOutputStream fos = new FileOutputStream(destFilePath); // 定义缓冲区,每次读取 1024 个字节 byte[] buffer = new byte[1024]; int len; // 循环读取源文件中的数据,并将数据写入到目标文件中 while ((len = fis.read(buffer)) != -1) { fos.write(buffer, 0, len); } // 关闭输入流和输出流 fis.close(); fos.close(); System.out.println("文件拷贝完成!"); } } ``` 在上面的示例中,我们首先定义了源文件路径和目标文件路径。然后创建了输入流和输出流,用于读取源文件和向目标文件写入数据。我们定义了一个缓冲区,每次从输入流中读取 1024 个字节,并将这些字节写入到输出流中。最后,我们关闭输入流和输出流,并输出一条完成信息。 需要注意的是,上面的代码中使用了 try-catch 语句来捕获可能出现的 IOException 异常。这是因为在文件读写过程中可能会出现异常,比如文件不存在、文件无法读取等等。为了保证程序的健壮性,我们需要使用 try-catch 语句来处理这些异常。 希望这个简单的示例可以帮助你了解如何使用 Java 编写文件拷贝程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值