A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

是个样子

初级黑马

  • 黑马币:23

  • 帖子:7

  • 精华:0

© 是个样子 初级黑马   /  2019-8-20 22:40  /  808 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在我们进行开发的时候,经常需要重复执行某一段代码。重复执行很多次,最后根据条件的判断,是不是继续执行。我们在生活中这种重复执行的动作,在java中,就有一种比较简便的方式进行操作,那就是循环结构。
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。
1.for循环
先简单介绍一下for循环的基本结构:
for(初始化语句;条件判断语句;条件控制语句)
{
循环体语句;
}
在这就会引入四个关于循环的概念:初始化语句、条件判断语句、条件控制语句、循环体语句,下面就具体介绍一下这四个概念:
初始化语句:用于表示循环开启时的起始状态,一般是一个定义赋值的表达式(可以省略)
条件判断语句:循环反复执行的条件,是一个表达式,结果一定是boolean值(可以省略,默认是true)
条件控制语句:用于表示循环反复执行的内容,简单说就是循环反复执行的事情(可以省略)
循环体语句:循环执行中每次变化的内容,简单说就是控制循环是否能执行下去
执行流程:
  ①执行初始化语句
  ②执行条件判断语句,看其结果是true还是false
​              如果是false,循环结束
  ​             如果是true,继续执行
  ③执行循环体语句
  ④执行条件控制语句
  ⑤回到②继续
示例:打印1-100之间的能够被3整除的所有数字。
分析:
1、题目要求1-100之间的数据,首先就要思考怎么把1-100之间的每个数字先提供出来。这就是从1-100把每一个数都打印出来,这就是一个重复性的动作,重复的动作可以使用循环提供。
2、循环就是帮我们实现重复的操作,从1开始到100结束,循环的过程中,就可以提供出1-100之间的每个数字,可是题目并不需要1-100之间的所有数字,而只需要能够被3 整除的数字,
3、这时就需要对循环提供的数字进行筛选,需要对提供的每个数字进行判断。对数字进行判断, 符合条件的就打印,不符合的数字就不需要。
4、题目需要的是能被3整除的数,那就是用生成的每个数除以3,余数为0的数就进行打印。进行判断的格式如下:
​                        if( x % 3 == 0)
​                        {

​                        }
总体步骤:
​                1、使用for循环提供1-100之间的每个数字
​                2、在for中加入if判断进行数据的筛选
​                3、判断成立打印数据
具体的代码如下:
class ForDemo {
        public static void main(String[] args) {       
                //使用for循环取得1-100之间的数字
                for(int x=1;x<=100;x++)        {
                        //筛选数字%3==0的数字
                        if(x%3==0){
                                //x能被3整除
                                System.out.println("x="+x);
                        }
                }
                System.out.println("Hello World!");
        }
}
2.while循环结构
while循环完整格式:

  初始化语句;
  while (条件判断语句) {
          循环体语句;
   条件控制语句;
  }
   while循环执行流程:
  ①执行初始化语句
  ②执行条件判断语句,看其结果是true还是false
  ​             如果是false,循环结束
  ​             如果是true,继续执行
  ③执行循环体语句
  ④执行条件控制语句
  ⑤回到②继续
首先执行初始化语句,当语句执行到while的时候,判断循环条件是否成立,两种情况,第一种情况为true,就会去执行while后面大括号里面的内容,等循环体执行完之后,执行条件控制语句,然后再回去循环条件去判断,直到循环条件为false的时候,才结束本地循环,继续执行其他代码,如果循环条件一直为true,则一直执行循环体。如果刚到while循环的条件判断语句是就是false,则直接跳出循环不会执行循环里的任何语句。
示例代码:
class WhileDemo {
        public static void main(String[] args) {
                //定义变量
                int a=1;
                while(a<=10){
                        System.out.println("a="+a);
                        a++;//a=a+1;a+=1
                }
        }
}
3.do-while循环
完整格式:
  初始化语句;
  do {
          循环体语句;
          条件控制语句;
  }while(条件判断语句);
执行流程:
  ① 执行初始化语句
  ② 执行循环体语句
  ③ 执行条件控制语句
  ④ 执行条件判断语句,看其结果是true还是false
  如果是false,循环结束
  如果是true,继续执行
  ⑤ 回到②继续执行
当程序执行遇到do关键字的时候,程序就知道这是一个do-while循环,首先去执行do大括号里面的内容,当大括号里面的内容执行完成之后,再去执行while括号里面的循环判断,如果是true,继续执行do大括号里面的代码,直到while里面的条件为false,才会结束循环。
class DoWhileDemo {
        public static void main(String[] args) {
                int x=1;
                do{
                        System.out.println("x="+x);
                        x++;
                }while(x<=10);
        }
}
4.三种循环的区别:
   for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
   do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)
for循环和while的区别:
   条件控制语句中的自增变量,因为在for循环的语法结构中,在for循环结束后,就不能再次被访问到了
   条件控制语句中的自增变量,在while循环中来说不归属其语法结构中,是定义在while循环外,在while循环结束后,该变量还可以继续使用
do-whlie和while的区别,如果你写的程序不管符合符合循环条件,都要先执行一次,那就选择do-while.
三种循环常用的情况:
for:已知循环的次数。(平时使用的最多)
whlie:未知循环次数。  
do-while:不管是否满足条件,都要循环体执行一次(很少使用)。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马