精华内容
下载资源
问答
  • 一、循环结构循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将...

    一、循环结构

    循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

    循环语句的组成:

    初始化语句:一条或者多条语句,这些语句完成一些初始化操作。

    判断条件语句:这是一个boolean 表达式,这个表达式能决定是否执行循环体。

    循环体语句:这个部分是循环体语句,也就是我们要多次做的事情。

    控制条件语句:这个部分在一次循环体结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中的变量,使得循环在合适的时候结束。

    eg:在控制台输出10次"HelloWorld"时,

    初始化语句:定义初始化为第一次。

    判断条件语句:次数不能超过10次。

    循环体语句:输出”HelloWorld”语句。

    控制条件语句:次数变化为下一次。

    二、循环结构(for循环语句)

    for循环语句格式:

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

    循环体语句;

    }

    执行流程:

    A:执行初始化语句

    B:执行判断条件语句,看其结果是true还是false:如果是false,循环结束;如果是true,继续执行。

    C:执行循环体语句

    D:执行控制条件语句

    E:回到B继续

    流程图:

    1e475045b3a53278e7159453e3f6a172.png

    注意事项:

    (1)判断条件语句的结果是一个boolean类型

    (2)循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。

    (3)一般来说:有左大括号就没有分号,有分号就没有左大括号

    代码举例:

    1、求出1-100之间偶数和:

    /*

    需求:

    A:求1-100之和。

    B:求出1-100之间偶数和

    */

    class ForTest1 {

    public static void main(String[] args) {

    //求1-100之和。

    int sum1 = 0;

    for(int x=1; x<=100; x++) {

    sum1 +=x;

    }

    System.out.println("1-100之和是:"+sum1);

    System.out.println("------------------");

    //求出1-100之间偶数和

    //方式1

    int sum2 = 0;

    for(int x=1; x<=100; x++) {

    if(x%2 == 0) {

    sum2 += x;

    }

    }

    System.out.println("1-100偶数之和是:"+sum2);

    System.out.println("------------------");

    //方式2

    int sum3 = 0;

    for(int x=0; x<=100; x+=2) {

    sum3 += x;

    }

    System.out.println("1-100偶数之和是:"+sum3);

    System.out.println("------------------");

    }

    }

    2、求5的阶乘:

    /*

    需求:求5的阶乘。

    什么是阶乘呢?

    n! = n*(n-1)! 规则

    n! = n*(n-1)*(n-2)*...*3*2*1

    求和思想。

    求阶乘思想。

    */

    class ForTest2 {

    public static void main(String[] args) {

    //定义最终结果变量

    int jc = 1;

    //这里的x其实可以直接从2开始

    //for(int x=1; x<=5; x++)

    for(int x=2; x<=5; x++) {

    jc *=x;

    }

    System.out.println("1-5的阶乘是:"+jc);

    }

    }

    3、在控制台输出所有的“水仙花数”:

    /*

    需求:在控制台输出所有的”水仙花数”

    分析:

    我们都不知道什么叫"水仙花数",你让我怎么做呢?

    所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。

    举例:153就是一个水仙花数。

    153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153

    A:三位数其实是告诉了我们范围。

    B:通过for循环我们就可以实现获取每一个三位数

    但是麻烦是如何获取这个三位数的个,十,百位上的数据

    我们如何获取一个数据的个,十,百呢?

    假设有个一个数据:153

    ge: 153%10 = 3

    shi: 153/10%10 = 5

    bai:153/10/10%10 = 1

    qian:x/10/10/10%10

    wan: x/10/10/10/10%10

    ...

    C:让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较

    如果相同,就把该数据在控制台输出。

    */

    class ForTest3 {

    public static void main(String[] args) {

    //三位数其实是告诉了我们范围。

    for(int x=100; x<1000; x++) {

    int ge = x%10;

    int shi = x/10%10;

    int bai = x/10/10%10;

    //让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较

    if(x == (ge*ge*ge+shi*shi*shi+bai*bai*bai)) {

    //如果相同,就把该数据在控制台输出。

    System.out.println(x);

    }

    }

    }

    }

    三、循环结构(while循环语句)

    while循环语句格式:

    while(判断条件语句) {

    循环体语句;

    }

    //扩展格式

    初始化语句;

    while(判断条件语句) {

    循环体语句;

    控制条件语句;

    }

    流程图:

    e41954e82d998e8c426e2c58d2658bec.png

    for循环和while循环的区别:

    for循环语句和while循环语句可以等价转换,但还是有些小区别的。

    (1)使用区别:

    控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。

    (2)场景区别:

    for循环适合针对一个范围判断进行操作while循环适合判断次数不明确操作

    代码举例:

    我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?

    /*

    我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。

    请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?

    分析:

    A:定义一个统计变量,默认值是0

    B:最高山峰是珠穆朗玛峰:8848m这是最终的厚度

    我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度

    C:我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?

    折叠一次有什么变化呢?就是厚度是以前的2倍。

    D:只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++

    E:输出统计变量。

    */

    class WhileTest01 {

    public static void main(String[] args) {

    //定义一个统计变量,默认值是0

    int count = 0;

    //最高山峰是珠穆朗玛峰:8848m这是最终的厚度

    //我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度

    //为了简单,我把0.01变成1,同理8848就变成了884800

    int end = 884800;

    int start = 1;

    while(start

    //只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++

    count++;

    //折叠一次有什么变化呢?就是厚度是以前的2倍。

    start *= 2;

    System.out.println("第"+count+"次厚度是"+start);

    }

    //输出统计变量。

    System.out.println("要叠"+count+"次");

    }

    }

    四、循环结构(do…while循环语句)

    基本格式:

    do {

    循环体语句;

    }while((判断条件语句);[/code]

    扩展格式:

    初始化语句;

    do {

    循环体语句;

    控制条件语句;

    } while((判断条件语句);[/code]

    流程图:

    2fc0432150bf785f447c86d343514c6c.png

    五、循环结构的区别及注意事项:

    三种循环语句其实都可以完成一样的功能,也就是说可以等价转换,但还是有小区别的:

    do…while循环至少会执行一次循环体。for循环和while循环只有在条件成立的时候才会去执行循环体

    1、注意事项:

    写程序优先考虑for循环,再考虑while循环,最后考虑do…while循环。

    如下代码是死循环:

    while(true){}

    for(;;){}

    2、循环的嵌套使用:就是循环语句的循环体本身是一个循环语句

    (1)题目一:请输出一个4行5列的星星(*)图案:

    提示:外循环控制行数,内循环控制列数

    /*

    需求:请输出下列的形状

    *

    **

    ***

    ****

    *****

    提示:外循环控制行数,内循环控制列数

    */

    class ForForTest01 {

    public static void main(String[] args) {

    //通过简单的观察,我们看到这是一个行是5,列数是变化的形状

    //我们先打印出一个5行5列的形状

    for(int x=0; x<5; x++) {

    for(int y=0; y<5; y++) {

    System.out.print("*");

    }

    System.out.println();

    }

    System.out.println("--------------");

    //我们实现了一个5行5列的形状

    //但是这不是我们想要的

    //我们要的是列数变化的

    //列数是如何变化的呢?

    //第一行:1列 y=0,y<=0,y++

    //第二行:2列 y=0,y<=1,y++

    //第三行:3列 y=0,y<=2,y++

    //第四行:4列 y=0,y<=3,y++

    //第五行:5列 y=0,y<=4,y++

    //在看外循环x的变化,恰好就是x=0,1,2,3,4

    //所以这个最终版的程序就是如下

    for(int x=0; x<5; x++) {

    for(int y=0; y<=x; y++) {

    System.out.print("*");

    }

    System.out.println();

    }

    }

    }

    (2)题目二:在控制台输出九九乘法表:

    /*

    需求:在控制台输出九九乘法表。

    首先我们写出九九乘法表:

    1*1=1

    1*2=2 2*2=4

    1*3=3 2*3=6 3*3=9

    1*4=4 2*4=8 3*4=12 4*4=16

    ...

    1*9=9 2*9=18 3*9=27 ...

    我们先把这个九九乘法表看出是这样的一个形状:

    *

    **

    ***

    ****

    *****

    ******

    *******

    ********

    *********

    注意:

    '\x' x表示任意,这种做法叫转移字符。

    '\t' 一个制表符的位置(tabtab键)

    '\r' 回车

    '\n' 换行

    */

    class ForForTest02 {

    public static void main(String[] args) {

    for(int x=0; x<9; x++) {

    for(int y=0; y<=x; y++) {

    System.out.print("*");

    }

    System.out.println();

    }

    System.out.println("--------------");

    //为了使用数据,我们从1开始

    for(int x=1; x<=9; x++) {

    for(int y=1; y<=x; y++) {

    System.out.print(y+"*"+x+"="+y*x+"\t");

    }

    System.out.println();

    }

    }

    }

    运行效果:

    1daecc6187da0a61d32d6c83b6346094.png

    六、跳转控制语句:

    前面我们已经说过了,Java中的goto是保留字,目前不能使用。虽然没有goto语句可以增强程序的安全性,但是也带来很多不便,比如说,我想在某个循环知道到某一步的时候就结束,现在就做不了这件事情。为了弥补这个缺陷,Java就提供了break,continue和return来实现控制语句的跳转和中断。

    break 中断

    continue 继续

    return 返回

    1、跳转控制语句(break):

    break的使用场景:

    ~在选择结构switch语句中

    ~在循环语句中(循环语句中加入了if判断的情况)

    注:离开使用场景的存在是没有意义的

    break的作用:

    A:跳出单层循环

    B:跳出多层循环

    要想实现这个效果,就必须知道一个东西。带标签的语句。标签名要符合Java的命名规则

    格式:

    标签名: 语句

    代码举例:

    /*

    控制跳转语句:

    break:中断

    continue:继续

    return:返回

    break:中断的意思

    使用场景:

    A:switch语句中

    B:循环语句中。

    (循环语句中加入了if判断的情况)

    注意:离开上面的两个场景,无意义。

    如何使用呢?

    A:跳出单层循环

    B:跳出多层循环

    要想实现这个效果,就必须知道一个东西。带标签的语句。

    格式:

    标签名: 语句

    */

    class BreakDemo {

    public static void main(String[] args) {

    //在 switch 或 loop 外部中断

    //break;

    //跳出单层循环

    for(int x=0; x<10; x++) {

    if(x == 3) {

    break;

    }

    System.out.println("HelloWorld");

    }

    System.out.println("over");

    System.out.println("-------------");

    //跳出多层循环

    wc:for(int x=0; x<3; x++) {

    nc:for(int y=0; y<4; y++) {

    if(y == 2) {

    //break nc;

    break wc;

    }

    System.out.print("*");

    }

    System.out.println();

    }

    }

    }

    第38行,我们给外面的循环加了一个标签叫wc,然后在第42行跳转出这个标签。

    运行效果:

    dbf15dc6267a7660f6993987a453d8dc.png

    注:实际开发中,几乎用不到跳转多层循环这个功能。

    2、跳转控制语句(continue):

    continue的使用场景:

    在循环语句中离开使用场景的存在是没有意义的

    continue和break的区别:

    break 跳出单层循环continue 跳出一次循环,进入下一次的执行。

    效果如下:

    fd9e4ac7e66faa7ea1363c19e13b679f.png

    面试题:

    for(int x=1; x<=10; x++) {

    if(x%3==0) {

    //在此处填写代码

    }

    System.out.println("Java学习");

    }

    在上面代码的第4行填入一行代码,满足一下条件:

    我想在控制台输出2次:"Java学习" break;

    我想在控制台输出7次:"Java学习" continue;

    我想在控制台输出13次:"Java学习" System.out.println("Java学习");

    3、跳转控制语句(return)

    return关键字不是为了跳转出循环体,更常用的功能是结束一个方法,也就是退出一个方法,跳转到上层调用的方法。

    说白了:return的作用不是结束循环,而是结束方法。

    效果如下:

    905e092b3b12bbf1b336d780fd7005a4.png

    循环语句结合break的练习:

    面试题:小芳的妈妈每天给她2.5元钱,她都会存起来,但是,每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,请问,经过多少天,小芳才可以存到100元钱。

    代码实现:

    /*

    需求:小芳的妈妈每天给她2.5元钱,她都会存起来,但是,

    每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,

    请问,经过多少天,小芳才可以存到100元钱。

    分析:

    A:小芳的妈妈每天给她2.5元钱

    double dayMoney = 2.5;

    B:她都会存起来

    double daySum = 0;

    C:从第一天开始存储

    int dayCount = 1;

    D:经过多少天,小芳才可以存到100元钱。

    double result = 100;

    E:这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,

    说明要判断dayCount的值,如果对5整除就减去6元钱。

    daySum -= 6;

    由此还隐含了一个问题,就是如果不是5的倍数天的话,钱要累加

    daySum += dayMoney;

    F:因为不知道是多少天,所以我用死循环,一旦超过100元我就退出循环。

    */

    class WhileDemo {

    public static void main(String[] args) {

    //每天要存储的钱是2.5元

    double dayMoney = 2.5;

    //存钱的初始化值是0

    double daySum = 0;

    //从第一天开始存储

    int dayCount = 1;

    //最终存储不小于100就不存储了

    int result = 100;

    //因为不知道是多少天,所以我用死循环,

    while(true) {

    //累加钱

    daySum += dayMoney;

    //一旦超过100元我就退出循环。

    if(daySum >= result) {

    System.out.println("共花了"+dayCount+"天存储了100元");

    break;

    }

    if(dayCount%5 == 0) {

    //花去6元钱

    daySum -= 6;

    System.out.println("第"+dayCount+"天花了6元钱");

    }

    //天数变化

    dayCount++;

    }

    }

    }

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • 循环体中可以使用break关键字来立即终止循环,并跳出循环体,代表循环结束。 break不仅可以使用在switch结构中,也可以用于任何一种循环。 break语句只能退出当前所在的循环 break会改变预定义的循环次数。 ...

    二者之间的区别

      1、终止循环(break)
                在循环体中可以使用break关键字来立即终止循环,并跳出循环体,代表循环结束。
                break不仅可以使用在switch结构中,也可以用于任何一种循环。
                break语句只能退出当前所在的循环
                break会改变预定义的循环次数。
                break跳出循环
            2、continue
                立即开始下一次循环(continue)
                在循环体中可以使用continue关键字来从调用处停止执行之后的代码,继续执行下一个循环。
        
                continue语句只能用于循环结构。
                continue改变程序的执行方法,用

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <script>
            for (var i = 0; i < 10; i++) {
                if (i == 5) {
                    // break
                    continue
                } else {
                    console.log(i)
                }
            }
        </script>
    </body>
    </html>

    来跳过循环体中不想执行的语句。     

    展开全文
  • 表达式3)循环语句语句:/*循环体*/该语句执行过程如下:①先对表达式1赋初值;②判别表达式2是否满足给定条件,若其值为真,满足循环条件,则执行循环体内语句,然后执行表达式3,进入第二次循环,再判别表达式2……;否则判断...

    C语言中的循环语句

    在C语言中,有三种类型的循环语句:

    for语句、while语句和do While语句。

    分别介绍如下:

    1.for循环语句

    for语句格式为:

    for(表达式1;表达式2;表达式3)

    循环语句语句:/*循环体*/

    该语句执行过程如下:

    ①先对表达式1赋初值;

    ②判别表达式2是否满足给定条件,若其值为真,满足循环条件,则执行循环体内语句,然后执行表达式3,进入第二次循环,再判别表达式2……;否则判断表达式2的值为假,不满足条件,就终止for循环,执行循环体外语句。for语句语法流程如下图所示:

    例题:

    # include

    main ()

    {

    int n,num;

    nu=0;

    for (n=1;n<=200;n++)  循环语句点击此处添加图片说明

    num+=n;

    printf ("num=%d\n",num);

    }

    编译并执行后,屏幕显示:

    num=20100

    在程序中,for语句小括号内的三个表达式分别为:n=1;n<=200;n++。

    表达式1,n=1是给n赋初值,表达式2是关系表达式,n小于等于200时,表达式都为真,则执行循环体内的语句num+=n;(即num=num+n;),然后执行表达式3(n++),进入下一轮循环;若n大于200时,表达式2为假,则终止循环,执行printf()语句,在屏幕上打印出:num=20100。

    几种特殊for语句的用法:   (1)for小括号内三个表达式为空   例 for(;;)   printf ("test");   在小括号内只有两个分号,无表达式。表示无限循环。这种无限循环适用于菜单选择程序中。   (2)没有循环体的for语句   例:for(; *str==''; str++)   ;   这种情况循环体内的语句只是一个分号,这个for循环是指针str所指流中的前导空格删除。   例:for (t=0;t ;)   此例在程序中起延时作用。 2.while语句   while语句格式为:   while(表达式)   语句;/*循环体*/   这里的表达式是循环能否继续下去的条件,而语句是循环体。只要表达式为真,则执行循环体内语句。否则终止循环,执行循环体外语句。该循环语句语法流程如下图所示:   @@01L14301.GIF;图2@@   例题:f7_2.c   # include h   main ()   {   int u,v,temp;   printf("请输入两个非负整数:\m");   scanf("% d % d ", & u,&v);   While(v!=0)   {   temp=u% v;/*循环体内语句*/   u=v; /*循环体内语句*/   v=temp; /*循环体内语句*/   }   printf("最大公约数是:%d\n",u);   }   编译并执行结果,屏幕显示:   请输入两个非负整数:   若从键盘输入:150 35并回车,屏幕显示:   最大公约数是:5   程序中,while循环体内有三条语句,应用大括号括起来,表示一个语句块。当表达式v!=0为真时,程序循环执行循环体内三条语句,直到v!=0为假时,终止循环,执行printf()语句,在屏幕上显示最大公约数。 3 do while语句   do while语句格式为:   do   语句;/*循环体*/   While(表达式);   程序进入do while循环后,先执行循环体内语句,然后判断表达式的真假,若为真则进行   下一次循环,否则为假则终止循环。该循环语句的特点是,表达式为假时也执行一次循环体内语句。      总的说来,for和while循环是在顶上测试循环终止条件,而do while循环是在之后,在底部进行测试所以循环体至少要执行一次。   利用do while循环的特点,可写出菜单程序。   例题:   # include   main ()   {   char ch;   printf("1.输入记录\n");   printf("2.删除记录\n");   printf("3.显示记录\n");   printf("请选择:\n");   do   {   ch=getchar ();   switch (ch)   {   case '1' :prinft ("输入记录 \n");   break;   case '2' :prinft ("删除记录 \n");   break;   case '3' :prinft ("显示记录 \n");   break;   default:prinft("选择错!\n");   }   }while(ch!='1` && ch!='2` && ch!='3`);   }   本程序执行的过程是,通过do while循环体内的第一条语句ch=getchar ()接收用户的选择,第二条语句switch判断用户输入是否是‘1’,‘2’,‘3’,若不是则显示"选择错!"。程序利用do while语句的特点,首先执行循环体内语句一次,然后用表达式ch!=‘1’&&ch!=‘2’&& ch!=‘3’来循环判断用户的键盘输入,只要不是‘1’、‘2’、‘3’,程序总是在这里循环。   这个程序实例只是为了说明do while语句用法,实际应用中的菜单程序,要在每条case语句冒号后面写出要调用的相应函数。   总结以上三种循环语句,for语句的功能最强,它有多种特殊形式。该语句小括号内的表达式,可任意变动,可以省略,也可以增加。例如,在小括号内的分号间增加几个表达式如for(m=0,h=1;n<100;n++),或for (h=0,j-50;h<=j;h++,j--)等等。可以将循环体的一些语句放在表达式3的位置,中间用逗号分隔。如:for (i=1,j=strlen (me); i 三种循环语句,均可嵌套使用,也就是在一个循环内又包含另一个循环结构。也可互相嵌套使用,可有多曾嵌套结构。

    展开全文
  • 1 while循环循环语句是程序设计中常用的语句之一。任何编程语言都有while循环,Python也不例外。while循环的格式如下所示。while(表达式):…else:…while循环的执行过程:当循环表达式为真时,依次执行while中的语句...

    1 while循环

    循环语句是程序设计中常用的语句之一。任何编程语言都有while循环,Python也不例外。while循环的格式如下所示。

    while(表达式):

    else:

    while循环的执行过程:当循环表达式为真时,依次执行while中的语句。直到循环表达式的值为False,程序的流程转到else语句。其中else子句可以省略,表达式两侧的括号也可以省略。

    注意:while循环中的else子句也属于循环的一部分,最后一次循环结束后将执行else子句。

    下面这段代码演示了while循环的使用。程序首先要求输入5个数字,然后依次输出这5个数字。

    # while循环

    numbers = input("输入几个数字,用逗号分隔:").split(",")

    print(numbers)

    x = 0

    while x 

    print (numbers[x])

    x += 1                  # 一个循环结束时给x加1

    【代码说明】

    第2行代码使用input()捕获输入。按照提示输入5个数字,并用逗号分隔。input()根据输入的逗号,生成一个列表。

    第3行代码输出列表numbers的内容。

    第4行代码定义变量x的值为0。

    第5行代码循环列表numbers。

    第6行代码输出列表中第x+1个数字的值。

    第7行代码,每次循环使变量x增1。

    下面【例3-6】中的这段代码演示了else子句在while循环中的使用。当变量x的值大于0时,执行循环,否则输出变量x的值。

    【例3-6.py】

    # 带else子句的while循环

    x = float(input("输入x的值:"))   # 接收用户输入的数字并转换为float类型

    i = 0

    while(x  != 0):                  # Python 3中的不等于不再使用<>,一律使用!=

    if(x > 0):

    x -= 1                  # 如果x大于0,则减1

    else:

    x += 1                 # 如果x小于0,则加1

    ii = i + 1

    print( "第%d次循环:%f" %(i, x))

    else:

    print ("x等于0:", x)

    【代码说明】

    第2行代码输入变量x的值。

    第3行代码定义变量i,变量i表示循环次数。

    第4行代码,给出循环条件x != 0。如果x不等于0,则执行第5行代码;否则,执行else子句的内容。

    第5行代码,判断变量x的值是否大于0。

    第6行代码,如果x的值大于0,则每次循环都减1。

    第7行代码,判断变量x的值是否小于0。

    第8行代码,如果x的值小于0,则每次循环都加1。

    第9行代码,每次循环使变量i的值加1。

    第11行代码,循环结束,else子句输出变量x的值。输出结果(假设输入数字为0):x等于0:0。

    在使用循环语句时,应注意循环表达式的布尔值,避免出现死循环。死循环是指循环条件永远为真的循环。例如:

    i = 1

    while i > 0:     # i永远大于0

    ii = i + 1

    print(i)

    这段代码就是一个死循环,变量i的值永远都大于0。

    2. for循环

    for循环用于遍历一个集合,依次访问集合中的每个项目。for循环的格式如下所示。

    for 变量 in 集合:

    else:

    for…in…循环的执行过程:每次循环从集合中取出一个值,并把该值赋值给变量。集合可以是元组、列表、字典等数据结构。其中else子句可以省略。

    注意:for循环中的else子句也属于循环的一部分,最后一次循环结束后将执行else子句。

    for…in…循环通常与range()函数一起使用,range()返回一个列表,for…in…遍历列表中的元素。range()函数的声明如下:

    class range(object)

    range(stop) -> range object

    range(start, stop[, step]) -> range object

    【代码说明】

    range()返回一个range对象,列表的元素值由3个参数决定:参数start表示列表开始的值,默认值为0;参数stop表示列表结束的值,该参数不可缺少;参数setp表示步长,即每次递增或递减的值,默认值为1。

    下面【例3-7】中的这段代码遍历range()生成的列表,过滤出正数、负数和0。

    【例3-7.py】

    # for in语句

    for x in range(-1, 2):

    if x > 0:

    print ("正数:",x)

    elif x == 0 :

    print ("零:",x)

    else:

    print ("负数:",x)

    else:

    print ("循环结束")

    【代码说明】

    第2行代码遍历range(-1,2)生成的列表。range(-1,2)返回的3个数字分别为-1、0、1。每次循环结束,变量x的值依次为-1、0、1。

    第3行代码判断变量x的值是否大于0。

    第4行代码输出正数的值。输出结果为“正数:1”。

    第5行代码判断变量x的值是否等于0。

    第6行代码,输出结果为“零:0”。

    第8行代码,输出负数的值。输出结果为“负数:-1”。

    第9行代码并没有结束for循环,else子句执行后循环才结束。输出结果为“负数:-1”。

    在C、Java语言中,支持如下结构的for语句。

    for(表达式1; 表达式2; 表达式3)

    语句块

    Python不支持这样的for循环。如果需要编写类似功能的循环,可以使用while循环。例如:

    x = 0

    while x 

    print(x)

    xx = x + 2

    while循环的写法比较琐碎,需要比较判断。因此,对此也可以使用for循环,借助range()函数来实现。例如:

    for x in range(0, 5, 2):

    print (x)

    【代码说明】

    输出的数字在[0,5)这个区间,不包括5。每次循环结束,x的值加2。输出结果:

    0

    2

    4

    这里只用了两行代码就实现了传统for循环。如果要用条件表达式作为循环的条件,可以构造range()函数来实现。

    3. break和continue语句

    break语句可以使程序跳出循环语句,从而执行循环体之外的程序,即break语句可以提前结束循环。例如,模拟switch分支结构使用了break语句。

    operator = "+"

    x = 1

    y = 2

    for case in switch(operator):   # switch只能用于for... in...循环中

    if case('+'):

    print (x + y)

    break

    if case('-'):

    print (x - y)

    break

    if case('*'):

    print (x * y)

    break

    if case('/'):

    print (x / y)

    break

    if case():                      # 默认分支

    print ("")

    【代码说明】

    第7行代码中使用了break。当变量operator的值为“+”,则执行表达式x + y,然后中断switch分支结构,后面的case分支都不会执行。此时输出结果为3。后面的break作用相同。当匹配到某个case后,程序将跳出switch。

    如果第一个case不使用break子句,程序将输出两个值,分别是3和-1。因为执行完输出表达式x + y后,分支结构并没有中断,程序将流转到下面一个case。然后继续计算表达式x – y的值,遇到后面的break语句才退出分支结构。break语句在循环结构中也有类似的作用。【例3-8】中的这段代码将从0到99中查找用户输入的值。

    【例3-8.py】

    x = int(input("输入x的值:"))

    y = 0

    for y in range(0, 100):

    if x == y:

    print ("找到数字:", x)

    break

    else:

    print("没有找到")

    【代码说明】

    第1行代码捕获用户输入的值,并把该值转换为int类型,赋值给变量x。

    第2行代码定义一个变量y,变量y用于暂存需要遍历的列表的值。

    第3行代码使用for…in…循环遍历range(0, 100)返回的列表。range(0, 100)的返回值为0、1、2、…、99。

    第4行代码判断输入的值是否等于列表中的值。如果条件成立,输出查找到的数字,并立即退出循环。循环结束,后面的else子句将不会被执行。

    第7行代码,当没有找到输入的值时,else子句后面的代码将被执行。

    注意:break语句不能运行在循环体或分支语句之外,否则,Python解释器将提示如下错误。

    SyntaxError: 'break' outside loop

    continue语句也是用来跳出循环的语句,但是与break不同的是,使用continue语句不会跳出整个循环体,只是跳出当前的循环,然后继续执行后面的循环。

    x = 0

    for i in [1,2,3,4,5]:

    if x == i:

    continue

    x  += i

    print("x的值为", x)

    【代码说明】

    第1行代码将x赋值为0。

    第2行代码使用for...in...语句遍历列表[1,2,3,4,5]。

    第3行代码将x与i进行比较,如果x与值i相等,则执行第4行的continue语句,停止当前循环,即不再执行第5行代码,继续执行下一个循环。

    第6行代码打印出最终的结果,输出为12。

    本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理

    想要获取更多Python学习资料可以加QQ:2955637827私聊或加Q群630390733大家一起来学习讨论吧!

    展开全文
  • Matlab循环语句

    2021-10-06 18:09:15
    for循环 第一种格式 第二种格式
  • 循环控制语句 在程序设计中,如果需要重复执行某些操作,就要用到循环结构。使用循环结构时,要明确两个问题:需要重复执行的是哪些操作(循环体)?这些操作在什么情况下执行(循环条件)。 ...
  • MySql 笔记三 循环语句

    2021-01-18 18:24:17
    mysql 操作同样有循环语句操作,网上说有3中标准的循环方式: while 循环 、 loop 循环和repeat循环。还有一种非标准的循环: goto。 鉴于goto 语句的跳跃性会造成使用的的思维混乱,所以不建议使用。这几个循环语句...
  • 《C语言第5章循环结构程序设计》由会员分享,可在线阅读,更多相关《C语言第5章循环结构程序设计(90页珍藏版)》请在人人文库网上搜索。1、第五章是循环结构的程序设计,5.1是概述。序列结构和选择结构已经介绍过了,...
  • java常见语句循环体

    2021-03-15 03:48:32
    上节我们了解了java的前两大语句体,分别是顺序和选择,虽然只是很基础的东西,但还是需要理解它,俗话说滴水穿石需要的就是点滴积累,转入正题,接下来我们来看看循环体语句:图一由上图我可以看到常见的循环体语句...
  • 这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要控制把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。Java开发中,循环结构的实现有三种形式:依次是for循环...
  • 使用循环可以多次重复地执行多条语句,这里的“多条语句”称为循环体。在C语言中,可以使用三种循环,分别是:while、do…while和for。在这些语句中,循环体被重复执行的次数由循环条件控制,称为控制表达式...
  • 今天学习了C语言的循环语句,C语言中循环语句有for, while ,do while ,语句。条件语句if else,switch ,等。...}while循环语句要先判断条件是否成立,当条件成立时执行一次循环体,然后再判断条件是否成立,...
  • Python中的for、while循环都有一个可选的else分支(类似if语句和try语句那样),在循环迭代正常完成之后执行。换句话说,如果我们不是以除正常方式以外的其他任意方式退出循环,那么else分支将被执行。也就是在循环...
  • 摘 要: C语言是一种广泛使用的高级程序设计语言,文章对C语言中三种循环结构语句进行了分析和比较,使学生更容易理解和掌握。关键词: C语言 for循环 while循环 do-while循环一、引言C语言是一种广泛使用的程序设计...
  • 【填空题】在 Python无穷循环 while True:的循环体中可以使用( )语句退出循环 【单选题】在以下for语句结构中,( )不能完成1~10的累加功能。 【单选题】如果在 Python 程序中没有导人相关的模块 ( 例如 import ...
  • PHP»编程开发»php跳出循环语句break语句和跳过某层循环的continue语句【转】php跳出循环语句break语句和跳过某层循环的continue语句【转】此文被围观2676次日期:2013-03-20 分类:编程开发标签:·编程开发·循环...
  • 第五章总结

    2021-12-10 20:13:35
    2.判断表达式2,若其值为真(非0),则执行循环体语句,然后执行第3步;若值为假(0),结束循环,转到第5步执行。 3.计算表达式3 4.返回第2步继续执行;5.循环结束,继续执行for语句的下一条语句; 5.2.2 for...
  • c语言中结束本次循环语句是什么

    千次阅读 2021-05-18 14:31:35
    控制语句continue只能作用于循环体中,其作用是结束本次循环,跳到判断循环的位置,即重新开始下一次循环。本教程操作环境:windows7系统、c99版本、Dell G3电脑。在C语言中,控制语句“continue”用于循环体中结束...
  • 循环体语句; } 初始化语句:控制循环的开始 条件判断语句:控制循环的结束 条件控制语句:控制循环的次数(控制循环从何开始到结束) 程序运行到for语句时 先执行初始化语句,然后经过条件判断语句 如果...
  • 要全部的循环语句的用法。。。。不需要有例子,只需要用法就可以C语言循环语句用法有三种主要形式:1. for()循环2. while()循环3. do {} while();循环 for()循环用法:for( e1 ; e2 ; e3 ) //注意三个区域间用分号...
  • 【简答题】第四套Excel 【其它】请描述我国增值税的发展历史(制作10分钟以内PPT) 【简答题】编程3 【填空题】Python无穷循环“while True:”的循环体中可以用( )语句退出循环。 【简答题】选择题答案(1)和(2) ...
  • matlab中循环语句与for循环篇一:matlab循环语句循环结构1.for语句for语句的格式为:for 循环变量=表达式1:表达式2:表达式3循环体语句end其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环...
  • 通用格式if语句一般形式如下: if :elif :else:另外需要注意的是,Python中是没有switch/case语句的while循环while语句是Python语言中最通用的迭代结构,简而言之,只要顶端测试一直计算到真值,就会重复执行一个语句...
  • switch&循环语句

    万次阅读 多人点赞 2020-12-22 08:49:26
    1. switch语句 1.1 switch语句结构(掌握) 格式 switch (表达式) { case 1: 语句体1; break;... 语句体2;... 语句体n+1;...最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程
  • 一、循环结构的思想及意义:知道了循环结构,那么在生活中也一样,我们每天都在重复做着相同的事情,例如:吸气呼气的过程;又如夏天开电扇,电扇一圈一圈的转,这都是在重复。现在大家玩个游戏,一个人A来说一个人B...
  • 一、for循环语句1.1 循环结构循环结构的组成:初始语句:用于表示循环开启的起始状态,简单说就是循环开始的时候什么样条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去循环体语句:...
  • C#的语句结构及循环体

    热门讨论 2021-01-24 21:11:09
    if结构 流程图 基本语法 if(条件) { 语句1;语句2;...... } //用一对大括号来组成语句块 ... 语句1;... 语句2;...if结构可能一条语句都不执行,if-else结构至少执行一条...while循环 – 先判断,再执行循环体
  • 5.1 引例 【例子】假设今年我国人口总数为13亿,若按每年2%增长,计算从现在开始10年内每年人口数量 【例5.2】计算1-4/1+7/1-10/1+13/1-16/1+......2.判断表达式2,若其值为真(非0),则执行循环体语句...
  • PHP 的循环控制语句

    2021-10-19 09:23:41
    循环控制语句2. while 循环控制语句 1. 循环控制语句 循环控制语句是能够按照一定的条件重复执行某段功能代码的代码结构; 循环控制语句分为以下4种: while循环语句 do-while循环语句 for循环语句 foreach循环语句...
  • control语句continue只能作用于循环体,它的作用是结束这个循环,跳转到判断循环的位置,即重启下一个循环。本教程操作环境:windows7系统,c99版本,戴尔G3电脑。在C语言中,循环体中使用控制语句“continue”来结束...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 217,759
精华内容 87,103
关键字:

循环体语句