首页 > 编程语言 >重学Java-第九章 Java循环语句

重学Java-第九章 Java循环语句

时间:2023-02-15 13:56:18浏览次数:34  
标签:语句 do 重学 Java 第九章 int while 循环 public

为什么要使用循环语句,例如要在控制台打印1到5,那么就是

System.out.println("1");

System.out.println("2");

...

这样就会存在以下问题:

· 不灵活:需求变更就需要逐行修改

· 难以维护:容易产生bug

· 伸缩性差:需要写大量代码

这时就需要循环语句来救场了。

9.1 while

9.1.1 语法

​ while循环是最简单的循环形式,其结构如下:

while (条件) {
    // 循环体,条件成立时执行
    ...
}
// 循环完成后执行

9.1.2 实例

// 控制台打印从1到5
public class WhileLoop1 {
    public static void main(String args[]) {
        int i = 1;
        while (i <= 5) {
            System.out.println(i); // 打印i
            i ++; // i自增1
        }
    }
}

​ 使用循环语句时,需要有一个变量来控制循环语句块的执行,例如上述实例的变量i,每次执行完打印语句后,i都自增1,当满足i <= 5 条件时,就结束循环语句块的执行。若没有i ++; 那么i的值永远都是1,执行循环语句块的条件永远满足,控制台就会一直打印,直到将资源耗尽才会停止,这就是所谓的死循环

9.2 do while

9.2.1 语法

​ do while循环的功能和while循环类似,不同点在于:while循环先判断条件,在执行循环体;而do while循环则是先执行循环体,再判断条件,如果条件成立继续执行循环,条件不成立则终止循环。总结就是:无论条件是否成立,do while循环都会执行一次,而while循环可能一次都不执行

​ do while语法结构如下:

do {
    // 循环体
} while (条件);

9.2.2 实例

// 实现1到100的累加求和
public class DoWhileLoop {
    public static void main(String[] args) {
        int sum = 0; // 累加和
        int i = 1;
        do {
            sum = sum + i; // 使sum和i相加,并将值再次赋值给sum
            i ++; // i自增1
        } while (i <= 100);
        System.out.println("1到100的累加和为:" + sum);
    }
}

9.3 for循环

9.3.1 语法

​ for循环是一种特殊的while循环,它使用计数器来实现循环,是使用最广泛的循环语句。在关键字for后的括号中,有三条语句,第一条=语句是声明变量语句,允许声明一个或多个整型变量;第二条语句是条件,条件的检测方式与while循环相同(每次循环开始前判断条件是否成立);第三条语句是迭代语句,通常是变量递增或递减语句。其语法结构如下:

for (变量声明; 条件; 迭代语句) {
    // 循环体
}

9.3.2 实例

// for循环实现1到100的累加求和
public class ForLoop {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 0; i <= 100; i++) {
            sum += i;
        }
        System.out.println("sum = " + sum);
    }
}

​ 在执行循环体前,先执行for括号中的变量声明语句,int i = 0; 定义了一个计数器变量i并赋值为0(在整个循环中只执行一次)。之后会进行条件判断i <= 100,显然条件成立,执行循环体sum += i;即 sum = sum + i, 循环体执行完之后执行括号的第三条语句i++,此时第一次循环结束。再次判断条件i <= 100是否成立,继续执行循环体,执行i++。直到i自增为101,此时不满足条件,不执行循环体,循环结束。

9.4 for each循环

​ for each主要用于数组和集合的遍历,将会在Java数组章节中讲解。

9.5 break和continue关键字

​ 可以使用break和continue语句来重定向执行流。

9.5.1 break

​ break关键字可以出现在一个循环语句中,用以跳出当前循环。实例如下:

public class BreakKeywords {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i ++) {
            if(i == 3) { // 条件语句
                System.out.println("当i等于3时,终止循环!");
                break;
            }
            System.out.println(i);
        }
    }
}

​ 在多层循环中,break语句只能终止自己所在的那一层循环,不会影响到外层循环。

public class BreakKeywords2 {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i ++) {
            // 打印i的值
            System.out.println(i);
            for (int j = 1; j<=5; j ++) {
                if(j == 3) { // 条件语句
                    System.out.println("当j等于3时,终止循环!");
                    break;
                }
                // 打印j的值
                System.out.println(j);
            }
        }
    }
}

9.5.2 continue

​ continue关键字可以跳出当次循环,继续执行下一次循环。实例如下:

public class ContinueKeywords {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i ++) {
            if(i == 3) {
                System.out.println("当i等于3时,跳过~");
                continue;
            }
            System.out.println(i);
        }
    }
}

// 运行结果
1
2
当i等于3时,跳过~
4
5

​ 当i==3时,满足if语句的条件,执行了打印跳过语句和continue语句,结束了当次循环,所以没有执行 System.out.println(i); 然后继续执行下一次循环,输出4和5。

标签:语句,do,重学,Java,第九章,int,while,循环,public
From: https://www.cnblogs.com/XQ-Yang/p/17122536.html

相关文章

  • 重学Java-第八章 Java条件语句
    8.1if语句8.1.1语法​ 当需要根据给定条件来决定是否执行一段代码时,就需要用到if语句了。if块仅在布尔表达式(if括号内的表达式)为true时执行。if块的结构如下:if(条......
  • java线程的interrup、tUninterruptibles.sleepUninterruptibly和sleep、wait
    参考:(1)https://blog.csdn.net/qq_36031640/article/details/116696685(2)https://blog.csdn.net/liuxiao723846/article/details/77882011一、线程的interrupted:一个......
  • javascript放在head和body的区别以及js文件加载带来的阻塞解决
    今天在看到菜鸟教程中的HTML中的Javascript脚本代码必须位于<script>与</script>标签之间。Javascript脚本代码可被放置在HTML页面的<body>和<head>部分中......
  • java File
     CreateTime--2017年10月31日10:14:24Author:Marydonjava操作File类importjava.io.File;1.创建一个文件方式一:语法:Filefile=newFile(absolutePath);说明:只传一个参数,......
  • java 下载网络图片
     java如何下载网络图片CreateTime--2017年9月30日11:18:19Author:Marydon说明:根据网络URL获取该网页上面所有的img标签并下载符合要求的所有图片所需jar包:jsoup.jarimport......
  • JAVA中的Comparable接口和自定义比较器
    Java中的自然排序自然排序定制排序自然排序TreeSet集合在存储数据时有一定的顺序,它会将一些数据进行比较,比较调用的是comparaTo()方法,该方法是在Comparable中定义的,自然排......
  • Java NIO:Buffer、Channel 和 Selector详解
    本来要一起介绍非阻塞IO和JDK7的异步IO的,不过因为之前的文章真的太长了,有点影响读者阅读,所以这里将它们放到另一篇文章中进行介绍。Buffer一个Buffer本质上是内存......
  • 重学Java-第六章 Java运算符
    6.1算术运算符​ Java语言提供了执行加减乘除四则运算的运算符。算数运算符被用在数学表达式中,可以使用任意嵌套的小括号,其作用与数学中相同。下表列出了算术运算符:......
  • 重学Java-第二章 Java快速入门
    2.1在Windows上安装Java2.1.1下载安装包打开Oracle官网的JDK下载地址,推荐下载JDK1.8版本,1.8版本是目前企业使用最多的版本,下拉找到Java8,选择windows平台。​ ......
  • 重学Java-第三章 Java基本语法
    3.1基本语法​ 编写Java程序时,应注意以下几点:大小写敏感:Java是对大小写敏感的,这就表示标识符Hello和hello是不同的。类名:对所有的类来说,类名的首字母应大写,若类名由......