Java基础知识-循环语句的使用介绍(for、while、do-while)

今天给大家介绍一下Java中循环语句的使用用法和每种循环语句的使用场景。

首先是最经常使用的for语句,下面看看for语句的结构:

for 语句的基本结构如下所示: for(初始化表达式;判断表达式;递增(递减)表达式){     执行语句;   //一段代码 } 初始化表达式:初始化表达式的意义,在于定义循环之前变量的值是多少,如果没有这一项,就不知道该从哪个值开 始循环。 判断表达式:判断表达式的作用在于规定循环的终点。如果没有判断表达式,那么此循环就成了死循环。 递增(递减)表达式:这一项规定每执行一次程序,变量以多少增量或减量进行变化。

结构清楚了,现在就举一个最基础的例子来介绍一下:(这个例子是循环输出0到5的数字。)

        //for循环基础写法
        for(int i=0;i<5;i++){
            System.out.println("i:"+i);
        }

如果不想在for中进行初始化的可以这么写:

        //for循环中初始化放在外面的写法
        int j=0;
        for(;j<=6;j=j+2){
            System.out.println("j:"+j);
        }

如果想要利用for语句实现死循环的可以这么写:

//        for特性写法
        for(;;){
            System.out.println("yes");
        }

如果即想要实现死循环又想要对参数进行控制的,可以这么写:

        int n=0;
        for(;;n=n+10){
            System.out.println("n:"+n);
        }

如果想要利用for来遍历数组或者遍历集合对象的,可以这么写:

        //利用for循环进行遍历数组或者对象
        String[] strNum={"张三","李四","王五"};
        for(String str:strNum){
            System.out.println("name:"+str);
        }

如果想要利用for实现多层循环的,可以这么写:

        //for实现双层循环
        for(int i=0;i<5;i++){
            for(int j=0;j<5;j++){
                System.out.print(j+"  ");
            }
            System.out.println("i:"+i);
        }

不过这里需要注意的是:开发过程中尽量少写多层循环,因为多层循环非常耗费时间,效率特别低下。

现在在来给大家介绍一下while的结构和用法:

while 关键字的中文意思是“当……的时候”,也就是当条件成立时循环执行对应的代码。while 语句是循环语句中基本的结构,语法格式比较简单。 while 语句语法格式: while(循环条件)          循环体; 为了结构清楚,并且使循环体部分可以书写多行代码,一般把循环体处理成代码块,则语法格式变为: while(循环条件){          循环体; } 语法说明:和if 语句类似,如果不是用代码块的结构,则只有while后面的第一个语句是循环体语句。在该语法中,要求循环条件的类型为boolean类型,指循环成立的条件,循环体部分则是需要重复执行的代码。 执行流程:在执行while 语句时,首先判断循环条件,如果循环条件为false,则直接执行while 语句后续的代码,如果循环条件为true,则执行循环体代码,然后再判断循环条件,一直到循环条件不成立为止。 结构清楚了,接下来就举一个简单的例子,给大家介绍一下while具体的使用方法:

        //while基本
        int i=0;
        while(i<5){
            System.out.println("i:"+i);
            i++;
        }

如果想要使用break或者continue来控制while退出的条件,可以这么写:

 //使用break或者continue
        int accout=0;
        while(true){
            System.out.println("accout:"+accout);
            accout++;
            if(accout==5){
                break;
            }
            if(accout==2){
                continue;
            }
        }

但是如果这么写的话就会出现死循环:

        //这样的写法会导致死循环的出现
        int accout=0;
        while(true){
            if(accout==5){
                break;
            }
            if(accout==2){
                continue;
            }
            System.out.println("accout:"+accout);
            accout++;
        }

为什么会出现死循环呢?这里最大的原因就是continue的使用,因为account==2的时候就不会执行account++这个语句了,所以就不会有account==5条件成立的时候了。

最后在给大家介绍一下do-while的结构和使用方法:

do-while 语句由关键字do 和while 组成,是循环语句中最典型的“先循环再判断”的流程控制结构,这个和其它2 个循环语句都不相同。 do-while 语句的语法格式为: do{         循环体; }while(循环条件); 语法说明:在do-while 语句中,循环体部分是重复执行的代码部分,循环条件指循环成立的条件,要求循环条件是boolean 类型,值为true 时循环执行,否则循环结束,最后整个语句以分号结束。 执行流程:当执行到do-while 语句时,首先执行循环体,然后再判断循环条件,如果循环条件不成立,则循环结束,如果循环条件成立,则继续执行循环体,循环体执行完成以后再判断循环条件。 结构清楚了现在就举一个简单例子,看看do-while具体的使用方法:

        //do-while的基本用法
        int i=0;
        do {
            System.out.println("我一定会执行一次的");
            i++;
        }while(i<5);

三种循环到此就介绍完了,现在给大家说一下三种例子的具体使用场景:

1.for一般是在循环个数已知的情况下使用的

2.while一般是在循环个数未知,且循环受到严格控制的情况下使用的。

3.do-while一般也是在循环个数未知,但是它和while最大的不同点在于,不管循环的条件是什么,do-while都会至少执行一次。

最后在给大家用这三种循环举三个1+2+3+4+。。。+100的案例:

        //分别使用三种循环结构实现1+2+3。。。+100的值
        int iTotal=0;
        for(int i=1;i<=100;i++){
            iTotal=iTotal+i;
        }
        System.out.println("for 100:"+iTotal);

        int wTotal=0;
        int wi=0;
        while(wi<=100){
            wTotal=wTotal+wi;
            wi++;
        }
        System.out.println("while 100:"+wTotal);

        int dwTotal=0;
        int dwi=0;
        do{
            dwTotal=dwTotal+dwi;
            dwi++;
        }while(dwi<=100);
        System.out.println("do-while 100:"+dwTotal);

三种循环语句就介绍到这里了,如果大家看完之后还有疑问或者对文章有什么疑问都可以加我QQ:208017534

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Bingo的深度学习杂货店

Python3 内置函数

str1 = 'I love you' print(str1[:6]) # I love str2 = str1[:2] + 'very ' + str1...

2716
来自专栏mwangblog

python字符串

1303
来自专栏技术博客

JavaScript(RegExp正则匹配)

正则表达式是一个描述字符模式的对象。JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的方法。

1545
来自专栏静默虚空的博客

JavaScript变量和数据类型

变量 变量就是一个元素,类似于数学中的概念,用来指定表示一个对象。 在JavaScript中,用来指定变量的关键字为var。 当声明新变量时,可以使用关键词 "...

1657
来自专栏java学习

面试题67(以下程序创建了几个对象——String)

面试例题1:以下程序创建了几个对象? String A,B, C; A="a"; B="b"; A=A+B; StringBuffer D=new String...

2747
来自专栏老马说编程

(88) 正则表达式 (上) / 计算机程序的思维逻辑

上节我们提到了正则表达式,它提升了文本处理的表达能力,本节就来讨论正则表达式,它是什么?有什么用?各种特殊字符都是什么含义?如何用Java借助正则表达式处理文本...

1918
来自专栏天天

RegExp对象

正则表达式描述了字符的模式对象。 当您检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp 就是这种模式。 简单的模式可以是一个单独的字符。 ...

1203
来自专栏柠檬先生

Java 流程控制

Java 主要的流程控制语句有3钟,选择语句,循环语句,跳转语句。 Java 中的作用域,是一对用花括号括起来的,块定义了变量使用的范围,   各个块之间可以嵌...

1997
来自专栏我和PYTHON有个约会

14.程序编程进阶:函数的参数

函数通过def进行定义,用于执行一个功能,一个函数,可以需要参数,也可以不需要参数。 类似我们现实生活,执行一个功能就是做一件事情,做这件事情需要的资源就是参...

753
来自专栏Jed的技术阶梯

详解 Java 对象与内存控制(下)

以上程序说明:sub、mid和base这3个变量指向的Java对象拥有3个count实例变量,也就是说,需要3块内存来存储它们 当Sub sub = new ...

991

扫码关注云+社区