精华内容
下载资源
问答
  • java流程控制02:while 与do … while while与do … while 的区别 while先判断后执行,do … while先执行后判断。 do … while至少执行一次,这是他们的主要区别

    java流程控制02:while 与do … while

    while与do … while 的区别

    1. while先判断后执行,do … while先执行后判断。
    2. do … while至少执行一次,这是他们的主要区别。
    展开全文
  • 主要介绍了C++编程中的while与do-while循环语句使用,区别就是while是先判断再执行,而do-while是先执行再判断,需要的朋友可以参考下
  • do while与其他两个相比主要的优势在与do while先进行执行然后进行判断,因此对于先有执行然后再进行判断的情况,使用do while可以减少代码量如以下场景 在飞行棋游戏中,玩家先掷筛子,再行走相应的步数,如果掷到6...
    对于do while与while以及for循环的区别
    do while与其他两个相比主要的优势在与do while先进行执行然后进行判断,因此对于先有执行然后再进行判断的情况,使用do while可以减少代码量如以下场景
    在飞行棋游戏中,玩家先掷筛子,再行走相应的步数,如果掷到6则获得第二次掷筛子的机会。
    流程图如图所示






    以下使用的是伪代码的书写方式,需根据具体情况采用具体的语言书写
    1.如果用while去书写则为

    int i = rand(1~6) //1-6之间的随机数,用变量i来记录,相当于掷筛子的过程
    sum = i + sum //用sum记录每一次i的总和相当于记录总的行走步数
    while(i==6){
    i = rand(1~6)
    sum = i + sum
    }

    2.如果用for去书写则为

    int i = rand(1~6) //1-6之间的随机数,用变量i来记录,相当于掷筛子的过程
    sum = i + sum //用sum记录每一次i的总和相当于记录总的行走步数
    for(;i==6;){
    i = rand(1~6)
    sum = i + sum
    }

    3.如果用do.....while去书写则为

    do{
    int i = rand(1~6)
    sum = sum+i
    }while(i==6)
    针对以上的具体情况采用此种写法可以使得代码更加的整洁,同时减少代码的冗余。
    展开全文
  • C/C++中的do-while循环的妙用

    千次阅读 2018-03-01 10:30:46
    关于do-while与while,for的区别我就不多说了,其中要明确的一点是do-while循环是一定会执行一遍循环体。 利用do-while循环是一定会执行一遍循环体的这个特点,可以完成两个功能:封装代码块、提供代码块入出口。...

    最近在公司实习,看后台服务器的代码比较多,见识了很多东西的妙用,比如说do-while循环的用法。

    关于do-whilewhilefor的区别我就不多说了,其中要明确的一点是do-while循环是一定会执行一遍循环体

    利用do-while循环是一定会执行一遍循环体的这个特点,可以完成两个功能:封装代码块、提供代码块入出口。下面细细来说。

    封装代码块

    这个东西主要体现在宏定义中,如果你经常看Linux内核就会发现类似下面的用法:

    #define SWAP(a, b)      \
        do {                \
            int tmp = (a);  \
            (a) = (b);      \
            (b) = tmp;      \
        } while(0)

    这个里面的\是表示下一行和当前行属于同一个部分,最后一条语句不要加;,因为调用的时候SWAP(a, b);里面的;会加在最后一条语句上。这就相当于用宏完成了一个函数,如果不用do_while循环把这三行语句封装成一个代码块的话会出现很多问题。即

    #define SWAP(a, b)      \
            int tmp = (a);  \
            (a) = (b);      \
            (b) = tmp

    首先,如果这个SWAP用到一个没有加{}for循环中,就会出现问题,你可以试着展开下:

    for (int i = 0; i < n; i++)
        // SWAP(a, b);
        int tmp = (a);
        (a) = (b);
        (b) = tmp;

    这段代码只有int tmp = (a);执行了n次,故不对。用do-while循环包裹就不会出现这中问题。

    其次,如果用do-while在宏中封转代码块还可以解决定义变量时的重命名问题、作用域问题。如果不用do-while循环,在宏中定义的变量的作用域就是宏调用时所处的代码块,故这个时候如果该代码块之前定义了tmp这个变量,那么就会出现重定义问题;而如果用了do-whiledo-while中自成一块域,故在宏中定义的变量,在do-while循环跳出时就超出作用域了,所以可以放心地在宏中定义变量。

    for (int i = 0; i < n; i++) {
        int tmp = 5;
        // SWAP(a, b);
    
        // do                   
            int tmp = (a);  
            (a) = (b);
            (b) = tmp;
        // while (0);
    }

    提供代码块入出口

    先来个代码,看看不用do-while循环的样子。

    void work1()
    {
        gg();
    
        // start
        if (condition1) {
            deal1;
        } else if (condition2) {
            deal2;
        } else if (condition3) {
            deal3;
        }
        // end
    
        gg();
        aa();
    }

    这个代码中要通过3个互斥的判断条件才能执行下一步,里面使用了多了if - else使得代码不那么直观。因此,我们可以通过goto语句来解决这个问题。

    void work2()
    {
        gg();
    
        // start
        if (condition1) {
            deal1;
            goto OUT;
        if (condition2) {
            deal2;
            goto OUT;
        if (condition3) {
            deal3;
            goto OUT;
        }
        // end
    
    OUT:
        gg();
        aa();
    }

    现在就清晰多了,不过使用了很多的goto语句,这是不提倡的,因此,现在用do-while来封装一下。

    void work3()
    {
        gg();
    
        // start
        do {
            if (condition1) {
                deal1;
                break;
            if (condition2) {
                deal2;
                break;
            if (condition3) {
                deal3;
                break;
            }
        while (0);
        // end
    
        gg();
        aa();
    }

    这个才是最清晰的写法,用break跳出代码块代替goto,且3个条件判断语句还有缩进。

    正是break提供了代码块的出口(出口在while (0);的后一条语句),这也是breakdo-while的一个局限吧,因为代码块的出口是固定的,而goto提供的出口是任意的。

    do-while去掉了很多的if-elsegoto语句。

    总结

    do-while第一个功能是很明显的,也是很有道理的,第二个功能可能是仁者见仁智者见智了,我是觉得do-whileif-elsegoto更直观。这只是编程的技巧,选择你喜欢的技巧去用吧。

    展开全文
  • 上一期我们学完了while语义中...while与do-while的区别主要在于while 迭代器除了需要输入一个判断结果cond,还需要输入一个IC值来告诉迭代器是否需要对当前迭代数进行迭代。如果为True则使用当前迭代数迭代,如果为fa.

    上一期我们学完了while语义中的do-while子系统。接下来学习While子系统。

     

    首先看看While子系统的描述,while子系统会运行至cond接口所输入为false或者是迭代次数到达上限为止。上期忘记说了,while子系统中的模块名为while迭代器,因此可以实现上一期中输出从1~N的功能。while与do-while的区别主要在于while 迭代器除了需要输入一个判断结果cond,还需要输入一个IC值来告诉迭代器是否需要对当前迭代数进行迭代。如果为True则使用当前迭代数迭代,如果为false,则跳过该输入的迭代数。

     

     

     

    接下来顺着Simulink的案例学习一下,原来的模型是找出迭代到多少个数时,叠加值大于迭代数本身。

     

    这里我们把模型修改下,仍然是进行简单的10以内的叠加。

     

    仿真一下,结果如预期,是正确的。

     

     

    总结

    经过练习,不知道是不是理解有误,simulink中while语义以及相关模块更多时候是实现一个迭代功能,而非像其他语言中的一个条件执行语句块内程序的功能。可能还是实践的不够,还需要后面继续研究。

    展开全文
  • 文/朱季谦 JAVA的程序结构有顺序结构,循环结构,分支结构,以及跳转结构,而循环结构里经常用到的无外...本文主要讨论for循环与while循环的区别,其实,两者在日常编程过程里,都是可以互换的,唯一有区别的在于...
  • python中的while循环shell中的while循环主要区别在于,python中的循环没有do done。而是必须添加: while 条件表达式: 条件表达式为真,则这些这里的语句 冒号 : 是必须的 缩进也是必须的 while True: n = ...
  • 循环题基础及运用

    2018-12-12 10:13:28
    四种循环结构:while,do while,for,go to,其中前三种最为常用。 while结构:while(表达式)+循环体;...注:while与do while主要区别为do while会先运行一次再做循环。  for结构表达式1为初始化表达式,表...
  • break和continue区别及使用场合

    千次阅读 2015-03-14 12:43:10
    在for、while与do while中,主要用于中断目前的循环执行。 continue的作用与break类似,主要用于循环,所不同的是break会结束程序块的执行,而continue只会结束其之后程序块的语句,并跳回循环程序块的开头
  • 在for、while与do while中,主要用于中断目前的循环执行。 continue的作用与break类似,主要用于循环,所不同的是break会结束程序块的执行,而continue只会结束其之后程序块的语句,并跳回循环程序块的开头继续下一...
  • break可以离开当前switch、for、while、do while的程序块,并前进至程序块后下一条语句,在switch中主要用来中断下一个case的...在for、while与do while中,主要用于中断目前的循环执行。 continue的作用与
  • PHP主要是用来开发web程序的语言,而C语言是种广泛使用的语言,尤其用来书写一下... PHP和C语言一样,有着if, else, elseif ,switch, while, do-while, for, break, continue, goto等控制语句。注意PHP中写为elseif ...
  • 在for、while与do while中,主要用于中断目前的循环执行。 continue的作用与break类似,主要用于循环,所不同的是break会结束程序块的执行,而continue只会结束其之后程序块的语句,并跳回循环程序块的开头继续下...
  • FAQ2.23 break和continue语句有什么区别? 答: break可以离开当前switch、for...在for、while与do while中,主要用于中断目前的循环执行,break的例子您之前已经看过不少,这里不再举例。 continue的作用与break...
  • break,continue的区别

    2014-03-28 10:28:00
    break可以离开当前switch、for、while、do while的程序块,并前进...在for、while与do while中,主要用于中断目前的循环执行。 for(var i=0; i<8;i++){ if(i%2==1){ break; } alert(i); } con...
  • ------Java培训、Android培训... 程序的循环结构主要分为三种形式:whiledo……while,for语句三种的使用各不相同,要想更好的掌握好他们各自的使用,需要找出他们使用技巧。 1.while循环  格式:while(循环条件)  {
  • C程序设计基础实验 第4章 习题

    千次阅读 2020-04-04 19:20:43
    C语言中whiledo-while循环的主要区别是 正确答案: A. do-while的循环体至少无条件执行一次 问题 2 得 10 分,满分 10 分 ...
  • 1 C语言中 while dowhile 循环得主要区别就是 答案 A dowhile 得循环体至少无条件执行一次 B while 得循环控制条件比 dowhile 得循环控制条件严格 C dowhile 允许从外部转到循环体内 D dowhile 得循环体不能就是...
  • 它和严格的WHILE循环的主要区别DO..WHILE的第一次循环肯定要执行(真值表达式仅在循环结束时间检查), 而不必执行严格的WHILE循环(每次循环开始时就检查真值表达式, 如果在开始时就为FALSE, 循环会立即终止执行)....
  • 关于js循环

    2018-10-26 12:37:26
    while、do while主要的功能是,当满足while后边所跟的条件时,来执行相关业务。这两个的区别是,while会先判断是否满足条件,然后再去执行花括号里面的任务,而do while则是先执行一次花括号中的任务,再去执行while...
  • while与 do while的主要区别是:就是do while多执行了一次 计算100以内的奇数和偶数的和 package kuang; import java.util.Scanner; public class Demo2 { public static void main(String[] args) { int odd...
  • 1、while循环与do_while循环 while循环: //语法: while(条件表达式){ //语句块; } ​ do_while循环: //语法: do{ //语句块; }while(条件表达式); ​ 区别 主要区别体现在第一次执行的时候 while循环...
  • 循环结构1.while 循环2.do...while 循环3.whiledo...while区别4.for 循环1.关于 for 循环有以下几点说明:2.在Java5中引入了一种主要用于数组的增强型for循环.5.break和continue二.关于goto关键字三.练习Debug ...
  • 第一届国信蓝点杯java样题 蓝点刚 国信蓝点杯Java本科组 一单选题目(主要考擦java基础知识好像25道) 1StringStringBuffer区别如 2final中的returnswitch中的peak和return执行的顺序和执行结果 3for;do.while;while...
  • java萌新的进化旅程04

    2018-11-09 18:02:46
    这篇博客主要涉及for,whiledo while循环的用法与区别 一.for 我们先来看一个简单的例题 public static int plus(int n) { int sum = 0; for (int i = 1; i &lt;= n; i++) { sum = sum + i; } ...
  • 2.6 公共变量属性的区别 93 2.7 参数修饰符params、out和ref的区别 96 2.8 值类型和引用类型的区别 100 2.9 结构类的区别 103 2.10 Dispose()和Close()、Finalize()的 区别 106 2.11 string和StringBuilder有...
  • Java计算1+2+...+100

    2021-03-21 21:59:39
    public class DoWhileDemo01 { public static void main(String[] args) { ... // Do..While总是保证循环体会被至少执行一次,这是Whlie的主要区别 int i = 0; int sum = 0; do { i++; sum += i; }while

空空如也

空空如也

1 2 3 4 5 6
收藏数 101
精华内容 40
关键字:

while与dowhile主要区别