Java-03循环语句

这篇具有很好参考价值的文章主要介绍了Java-03循环语句。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

tip:[start]学习编程语言语法是次要的,思维是主要的。如何把头脑中的想法变成简洁的代码,至关重要。——闫学灿tip:[end]

  • 学习循环语句只需要抓住一点:代码执行顺序!

while循环

  • 可以简单理解为循环版的if语句。if语句是判断一次,如果条件成立,则执行后面的语句;while是每次判断,如果成立,则执行循环体中的语句,否则停止。
public class Main {
    public static void main(String[] args) {
        int i = 0;
        while (i < 10) {
            System.out.println(i);
            i ++ ;
        }
    }
}
  • 练习:求1~100中所有数的立方和。
public class Main {
    public static void main(String[] args) {
        int i = 1, sum = 0;
        while (i <= 100) {
            sum += i * i * i;
            i ++ ;
        }
        System.out.println(sum);
    }
}
  • 练习:求斐波那契数列的第n项。
    • f(1) = 1
    • f(2) = 1
    • f(3) = 2
    • ...
    • f(n) = f(n-1) + f(n-2)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        int a = 1, b = 1, i = 1; // f(1), f(2)
        while (i < n) { // 会存储f(n), f(n+1)
            int c = a + b; //f(3)
            a = b; // f(2)
            b = c; // f(3)
            i ++ ; // 准备计算f(4)
        }

        System.out.println(a);
    }
}
  • 死循环:循环永久执行,无法结束。我们要避免写出死循环。
public class Main {
    public static void main(String[] args) {
        int x = 1;
        while (x == 1)
            System.out.println("!");
    }
}

do while循环

  • do while循环不常用。

  • do while语句与while语句非常相似。唯一的区别是,do while语句限制循环体后检查条件。不管条件的值如何,我们都要至少执行一次循环

public class Main {
    public static void main(String[] args) {
        int x = 1;
        while (x < 1) {
            System.out.println("x!");
        }

        int y = 1;
        do {
            System.out.println("y!");
        } while (y < 1);
    }
}

for循环

  • 基本思想:把控制循环次数的变量从循环体中剥离。

  • init-statement可以是声明语句、表达式、空语句,一般用来初始化循环变量;

  • condition是条件表达式,和while中的条件表达式作用一样;可以为空,空语句表示true;

  • expression一般负责修改循环变量,可以为空。

for (init-statement; condition; expression) {
    statement
}
public class Main {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i ++ ) {  // 循环体中只有一条语句时,可以不加大括号
            System.out.println(i);
        }
    }
}
  • 练习:求1~100中所有数的立方和。
public class Main {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <= 100; i ++ )
            sum += i * i * i;
        System.out.println(sum);
    }
}
  • 练习:求斐波那契数列的第n项。
    • f(1) = 1
    • f(2) = 1
    • f(3) = 2
    • ...
    • f(n) = f(n-1) + f(n-2)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        int a = 1, b = 1;
        for (int i = 1; i < n; i ++ ) {
            int c = a + b;
            a = b;
            b = c;
        }

        System.out.println(a);
    }
}
  • init-statement可以定义多个变量,expression也可以修改多个变量。
  • 例如求 1 * 10 + 2 * 9 + 3 * 8 + 4 * 7 + 5 * 6:
public class Main {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1, j = 10; i < j; i ++, j -- ) {
            sum += i * j;
        }

        System.out.println(sum);
    }
}

跳转语句

break

  • 可以提前从循环中退出,一般与if语句搭配。

  • 例题:判断一个大于1的数是否是质数:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        boolean isPrime = true;
        for (int i = 2; i < n; i ++ )
            if (n % i == 0) {
                isPrime = false;
                break;
            }

        if (isPrime)
            System.out.println("yes");
        else
            System.out.println("no");
    }
}

continue

  • 可以直接跳到当前循环体的结尾。作用与if语句类似。

  • 例题:求1~100中所有偶数的和。文章来源地址https://www.toymoban.com/news/detail-750695.html

public class Main {
    public static void main(String[] args) {
        int sum = 0;

        for (int i = 1; i <= 100; i ++ ) {
            if (i % 2 == 1) continue;
            sum += i;
        }

        System.out.println(sum);
    }
}

多层循环

  • 将1~100打印到一个10 * 10的矩阵中:
public class Main {
    public static void main(String[] args) {
        for (int i = 0, k = 1; i < 10; i ++ ) {
            for (int j = 0; j < 10; j ++, k ++ ) {
                System.out.printf("%d ", k);
            }
            System.out.println();
        }
    }
}
  • 练习:打印1~100中的所有质数
public class Main {
    public static void main(String[] args) {
        for (int i = 2; i <= 100; i ++ ) {
            boolean isPrime = true;
            for (int j = 2; j < i; j ++ ) {
                if (i % j == 0) {
                    isPrime = false;
                    break;
                }
            }
            if (isPrime)
                System.out.println(i);
        }
    }
}

到了这里,关于Java-03循环语句的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java-03循环语句

    tip:[start]学习编程语言语法是次要的,思维是主要的。如何把头脑中的想法变成简洁的代码,至关重要。——闫学灿tip:[end] 学习循环语句只需要抓住一点:代码执行顺序! 可以简单理解为循环版的if语句。if语句是判断一次,如果条件成立,则执行后面的语句;while是每次判断

    2024年02月05日
    浏览(40)
  • 2023年03月青少年软件编程C语言二级真题答案——持续更新.....

    请编写一个程序实现以下功能:从一个字符串中,提取出所有的数字字符即0-9,并作为数求和。 时间限制:1000 内存限制:65536 输入 一行字符串,长度不超过100,字符串中不含空格。 输出 字符串中所有数字字符作为数的和 样例输入 Lsd2f02k3ja3sdf223 样例输出 17

    2023年04月13日
    浏览(64)
  • 考研C语言刷编程题篇之分支循环结构基础篇(一)

    目录 第一题 第二题  方法一:要循环两次,一次求阶乘,一次求和。 注意:在求和时,如果不将sum每次求和的初始值置为1,那么求和就会重复。 方法二: 第三题 方法一:用数组遍历的思想  方法二用折半查找的思想 折半查找的思想  第四题 方法一:用两个变量,两个数

    2024年01月21日
    浏览(50)
  • 用ARM进行汇编语言编程(4)带有分支的循环和条件指令执行

    ARM 编程模拟器网站地址: 在arm里也有和高级语言一样的for和while循环,可以根据条件来判断是否执行 首先我们创建一个data标签,然后在里面写一个分支,存放一些数值,然后使这些存放的数值依次相加 然后我们要将list加载到内存里 然后使用直接寻址,将r0寄存器里的值放

    2024年02月06日
    浏览(49)
  • 头歌:《C语言程序设计编程实践任务》循环结构程序设计 教学团队:祁文青

    任务:求1000以内所有的水仙花数。若一个 3 位整数的各位数字的立方之和等于这个整数,称之为“水仙花数”。 注: 前面题目写过,取余可以提取刀整数的末尾数字,只要逐步提取出来判断就行。 不能改变x的值(如x10),否则循环一直无法达到x1000,会陷入死循环。 任务:输

    2024年02月05日
    浏览(65)
  • Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API

    Java 是一种由 Sun Microsystems 于 1995 年首次发布的编程语言和计算平台。Java 是一种通用的、基于类的、面向对象的编程语言,旨在减少实现依赖性。它是一个应用程序开发的计算平台。Java 快速、安全、可靠,因此在笔记本电脑、数据中心、游戏机、科学超级计算机、手机等领

    2024年03月24日
    浏览(87)
  • Go语言和Java编程语言的主要区别

    目录 1.设计理念: 2.语法: 3.性能: 4.并发性: 5.内存管理: 6.标准库: 7.社区和支持: 8.应用领域:         Go(也称为Golang)和Java是两种不同的编程语言,它们在设计理念、语法、性能、并发性等方面存在许多区别。以下是它们之间的一些主要区别:         Go语

    2024年04月17日
    浏览(66)
  • 极语言中文编程_学习笔记

    更多有关极语言中文编程的信息请看文件夹下的sec.htm或者官网的编程说明书 http://sec.yihuolao.com/sec.htm 。 极语言的官方网址是: http://sec.yihuolao.com/ http://sec.z5x.cn/ http://www.z5x.cn/ 极语言入门教学视频:https://www.ixigua.com/7128748847265743371 极语言游戏教学视频:https://www.ixigua.com/712

    2024年02月05日
    浏览(50)
  • 【JAVA】面向对象的编程语言(继承篇)

    个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 在之前的文章中,我们介绍过面向对象的编程语言,今天我们就来就进入到JAVA面对对象的编程世界,今天我们主要来介绍面向对象的编程范式中一个重要的概念——继承。 继承是java面向对象编程技术的一块基石,因为

    2024年02月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包