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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


今天我们学习了流程控制语句,请根据自己的理解回答下面问题:

1、if ,if...else,if...else if...else  三种if语句的区别

2、default 一定要放在最后么?  用自己的话来解释下case的穿透

3、三种循环语句的区别?什么时候用for语句,什么时候while语句?

40 个回复

倒序浏览
1、if ,if...else,if...else if...else  三种if语句的区别
if:只有一种情况,判断为true,执行语句体,为false不执行语句体;
if...else:二者选其一,首先判断关系表达式看其结果是true还是false,如果是true就执行语句体1,如果是false就执行语句体2;
if...else if...els:n者选其一,首先判断关系表达式看其结果是true还是false,如果是true就执行语句体1,如果是false继续判断关系表达式2是true还是false,如果是true就执行语句体2,如果是false继续判断关系表达式3是true还是false,...,如果没有任何关系表达式为true,就执行语句体n+1。

2、default 一定要放在最后么?  用自己的话来解释下case的穿透
switch顺序比较灵活,default不一定要放在最后。
case的穿透:case后如果不跟break会发生穿透,也就是不会判断下一个case,直接运行后面语句体,直到遇到break或者switch整体结束才会停止。

3、三种循环语句的区别?什么时候用for语句,什么时候while语句?
区别:如果判断条件不满足,for循环和while循环将运行0次;do-while将运行至少一次;
          for循环的初始化语句,也就是变量是定义在小括号内的,只有循环内部才可以使用。
          while循环和do-while循环初始化语句是定义在外面的,在循环之后还能继续使用。
建议:循环次数已知时可以使用for循环,循环次数未知时可以使用while循环
回复 使用道具 举报 1 0
1、if ,if...else,if...else if...else  三种if语句的区别
答:if语句是一种条件判断语句(流程控制语句);分三种格式   1. if 为一种条件判断的;如去卫生间发现有人则不去了直接走了。
    2.if else 为两种条件判断,如去卫生间发现有人看见另外一个没有人则去另外一个;
   3. if else if  为多种条件判断 如去卫生间发现有人看见另外一个也有人则看看其他楼层是否有人没有的话就去其他楼层上厕所
2、default 一定要放在最后么?  用自己的话来解释下case的穿透
答:不一定要放在最后这个是我们所有条件都不匹配的时候执行的,
case的穿透:假设 switch选择语句就想象成是我们教室的手机袋子,当中每个小袋子上面的名称就是case的匹配值,break就是小袋子中间的缝线,若袋子和袋子中间没有缝线,那放在里面的手就就会混在一起,同学拿手机的时候会把我之后的那个人的手机一起拿出来。其实case穿透不一定是一种bug 假设如果我们用这个选择语句用来判断一年四季,我们就可以用case穿透,如春天3.4.5月份 只打印一个输出语句,只要输入3.4.5当中任何一个都是春天。
3、三种循环语句的区别?什么时候用for语句,什么时候while语句?

答:    do while 循环,适合一上来就执行一次语句体的场景,
      for循环 适合我们知道一定重复执行范围的场景
      while循环 适合我们不知道范围的场景,在循环外定义布尔变量a 先设置为true 在循环内执行一定的逻辑代码后则可以把a赋值为false则停止死循环。


                                                                                                                                            梁超

回复 使用道具 举报
1、if ,if...else,if...else if...else  三种if语句的区别
答:if语句:如果满足条件(true)才执行if内的语句体,如果不满足条件(false)则不执行语句体,继续执行其他代码。
       if.....else语句:是如果条件满足(true)执行if内的语句体;如果条件条件不满足(false),则执行else内的语句体。
       if.....else if.....else:是依照if.....else if.....else顺序进行条件的判断,不满足条件则继续判断下个条件是否满足,当if和else.....if 都不满足时,else进行收尾工作执行else内的语句体。

2、default 一定要放在最后么?  用自己的话来解释下case的穿透
答:default 不一定要放在最后,如果没放在最后一定要写break;如果放最后可break可省略不写,建议写break并放在最后。case 的穿透性:在switch语句中,如果case的后面不写break,不会在判断下一个case的值是否满足而是直接往后执行,直到遇到break,或者整体switch语句结束。

3、三种循环语句的区别?什么时候用for语句,什么时候while语句?
答:for循环语句中的变量初始值是在循环内定义的,出了循环后该变量就不能使用了,而while和do....while循环是在循环外定义的变量初始值,可继续使用该变量,do....while是先执行一次再判断条件,所以即使while条件不满足也会执行一次,而for和while循环语句,是如果条件不满足则不执行。
如果当知道循环次数时建议用for循环,比较直观,可提高代码的阅读性,且出了循环定义的变量初始化就消失了可,可减缓jvm虚拟内存占用。
如果当时要进行性特定的死循环判断是建议用while,比较直观,可提高代码的阅读性。
如果要在循环外用定义的初始化变量建议用while循环比较好。
回复 使用道具 举报
1、        if ,if...else,if...else if...else  三种if语句的区别
首先判断关系表达式里结果是if还是else。If语句的话先看其结果,如果是true的话执行语句体,如果是false则不执行。If…else语句也是先看关系表达式的结果,如果是true,执行语句体1并直接结束,如果结果是false,则不执行语句体1,直接执行语句体2然后结束。if…else if…else 语句 首先判断关系表达式1结果是true还是false,如果是true则执行语句体1并结束。如果是false则不执行语句体1并判断关系表达式2的结果是true还是false,true就执行语句体2,如果是false则继续判断关系表达式是true还是false。如果一直不满足,则由else进行收尾。执行语句体n+1并结束。
区别:If语句结果只有和if…else语句只有一个关系表达式,而if…else if…else语句由多个关系表达式。If语句只有语句体1。If…else 有语句体1和语句体2。if…else if…else语句可以用有n个语句体。

2、default 一定要放在最后么?  用自己的话来解释下case的穿透
   default不一定要放在最后,switch语句是很灵活的,并不会因为default的上下移动而使结果发生改变。     在switch语句中break是可以省略的,而语句从符合的case开始执行后要遇到break或者整体结束为止。这就可能出现如case 1开始直接,但是break省略了,那么它就会向下继续穿透知道遇到break或者整体结束。并显示期间所有的结果。

3、三种循环语句的区别?什么时候用for语句,什么时候while语句?
   如果条件判断从来没有满足过,那么for循环和while循环将会执行0次,但是do-while至少会执行一次;
   For循环的变量在小括号当中定义,只有循环内部才可以使用。While循环和do-while循环初始化语句本来就在外面,所以循环出来之后还可以继续使用。
   一般在循环次数明确的时候使用for语句,在次数不确定的时候使用while语句。
回复 使用道具 举报
本帖最后由 吴少华 于 2018-12-1 20:34 编辑

1.   if指的是判断是否符合if内的判断条件,如果符合则执行if内的表达式    if...else指的是判断是否符合if内的判断条件,如果符合则执行if内的表达式,如果不符合则执行else内的表达式.
   if...else if...else指的是判断是否符合if内的判断条件,如果符合则执行if内的表达式,如果不符合则判断是否符合else  if内的判断条件, 如果符合则执行else...if内的表达式,就不用判断else的判断条件.如果都不符合则执行else内的表达式.
2.   default不一定要放在最后,因为switch里的项目不分顺序,但是它的作用是在不正确的时候给予你提示,因此最好把default放在最后。
   case穿透现象指的是switch表达式会从与之相对应的case标签处执行直到有break处停止,如果没有break就会执行下一个直到switch表达式结尾结束。
3.    for循环和while循环语句基本一样,for循环在一开始就能实现循环变量的初始化,功能性也最强。但是for循环的变量i是在内部的用完即删除,while循环的变量i是在外部也能用不会删除    do-whlie循环是在while循环的基础上先无条件执行一次循环语句,因此do-whlie循环语句至少能被执行一次。有固定循环次数的最好使用for循环语句,通过满足判断条件的循环选择whlie循环。





回复 使用道具 举报
1、if ,if...else,if...else if...else  三种if语句的区别
回复 使用道具 举报
1.if语句首先判断关系表达式结果是true还是false,如果是true,就执行语句体,如果是false则不执行语句体。
if...else语句同样判断表达式的结果,如果为true,就执行if大括号中的语句体1,如果为false则执行else大括号中的语句体2.
if...else if...else语句先判断表达式1的结果,如果为true,就执行语句体1,如果为false,则进行表达式2的判断,如果为true,则执行语句体2,如果为false,则进行下个表达式的判断。如果所有表达式都为false,则执行最后一个else大括号中的语句体。
2.default不一定要放在最后,switch语句很灵活,需要根据表达式与case的值的匹配来选择需要进行运行的代码,所以可以放在随意位置,但为了美观,建议放在最后。case穿透是由于匹配的case的程序执行完后,没有break语句进行结束,程序就会继续往下运行,就出行了case穿透。
3.如果表达式不成立,for和while不会执行,而do{}while至少可以执行一次。for循环的变量定义在for中,只能在for中使用,而while和do{}while的变量开始就定义在循环语句外,所以可以直接使用。
如果是一个明确的次数或者范围的话,可以使用for语句,结构比较明朗。如果是不确定范围或者次数的语句,就可以使用while语句。
回复 使用道具 举报
1.if语句只能进行一个条件的判断 ,当条件成立时,执行代码块,当条件不成立,则什么都不做,else if可以做条件不成立时的操作,当条件不成立时,可以执行else中的代码,if...else if...else用于对条件的判断。可有多个条件。
2.default不一定要放在最后,在switch中,条件判断不必要安顺序编写也能正确的判断代码,case 语句中,如果没有Break语句,那么case会一直向下执行,知道遇到break和switch语句结束才会结束
3.for语句初始化语句写在for中,超出for循环则不能使用,while初始化下载循环外,循环结束可以继续使用,do-while不管条件成不成立都会执行一次。当知道具体的循环次数时推荐使用的是for循环,单循环次数不确定是,推荐使用while循环,但是并不是绝对的,可以根据自己的需求来选择要使用的循环模块。
回复 使用道具 举报
1、if ,if...else,if...else if...else  三种if语句的区别
if:执行语句体或不执行语句体
if...slse:两个语句体选择一个来执行
if...else if...else:复合的拓展if...else

2、default 一定要放在最后么?  用自己的话来解释下case的穿透
Switch 语句的顺序可以前后颠倒
因为break语句可以省略,所以匹配哪一个case就从哪一个位置向下执行,直到遇到break或者整体为止

3、三种循环语句的区别?什么时候用for语句,什么时候while语句?
a.如果条件判断从来没有满足过,那么for循环和while循环执行0次,do-while循环执行一次
b.for循环的变量在小括号当中定义,只有循环的内部才可以使用,while循环和do-while循环初始化语句在外面,循环之后可以继续使用
c.当循环次数确定时,使用for循环,反之while循环


回复 使用道具 举报
1、if ,if...else,if...else if...else  三种if语句的区别
A: if为单条件选择语句,一般用于对一个条件的判断,如果成立则执行动作,不成立则不执行动作;
    if else是2个条件选择语句,用于对2个条件情况的判断,如果成立,则执行动作A,不成立则执行动作B;
    if ...else if...else用于多种条件判断情况,对于不同的情况(A ,B ,.....N),执
行不同的动作(A,B.....N);
2、default 一定要放在最后么?  用自己的话来解释下case的穿透
A: 不需要,switch语句中,所有case(包括default)的顺序对条件判断无影响;
     case穿透指的是在switch语句中,当条件符合case的值时,会执行动作直至break语句,如果部分case语句后未+break,就会导致穿透case语句;

3、三种循环语句的区别?什么时候用for语句,什么时候while语句?
A:for和while语句当条件不成立时不会执行循环体,而do while语句在条件不成立时会至少执行循环体1次;
  for语句定义的参数在循环语句外,参数的作用域仅在循环语句内,而while和do while语句的参数均定义在循环语句外,参数作用域可以作用于循环语句外;
回复 使用道具 举报
雷均

1、if适用于一种情况的判断,当条件为真时才执行if内的内容,当条件为假时跳过;
if...else适用于两种情况的判断,当条件为真时执行if内的内容,当条件为假时执行else后的内容;
if...else if...else适用于多种情况的判断,当if条件成立时,执行if后的内容,当if条件为假时,按顺序判断else if的条件是否成立,如果条件成立,那么执行;如果if和所有else if的条件都不成立时,执行else内的内容。
2、default不一定要放在最后面,可以放在swtich内的任意位置,但是后面要跟break;
case的穿透就是当case后没有写break的话,那么将继续向下穿透执行,直到遇到break时结束或者执行到代码完结时退出swtich。
3、
1.当判断条件一开始就不成立时,for循环和while循环都不执行,而do while会执行一次;
2.for循环中的控制变量,作用域只在循环内部,在循环外无法使用,并且可以重新定义。而while循环和do while循环由于是在循环外部定义的控制变量,因此控制变量在循环外部还可以使用。

在已知循环次数的时候使用推荐使用 for,循环次数未知的时推荐使用while
回复 使用道具 举报
1、if ,if...else,if...else if...else  三种if语句的区别
答:if语句,当条件满足时,执行语句体,否则程序往下进行;
        if-else语句,当条件满足时,执行if语句体,否则执行else语句体;
        if...else if...else语句,当条件满足if条件判断时,执行语句体1,否则当
条件满足第一个else if 条件判断时,执行语句体2,否则当条件满足第n个else if
条件判断时,执行语句体n+1。当前面所有的else-if的条件都不满足时,则执行else语句体。

2、default 一定要放在最后么?  用自己的话来解释下case的穿透
答:不一定,switch语句体的顺序可以任意;当switch匹配到的case中没有break语句时,
则运行完该语句后,会继续向下执行语句,直到遇到break语句或者是switch的结尾。这种
情况就叫做穿透。

3、三种循环语句的区别?什么时候用for语句,什么时候while语句?
答:1.如果条件判断从来没有满足过,那么for循环和while循环将不会被执行,但是do-whi循环会执行至少一次。
        2.for循环的变量在小括号中定义,只有循环内部才可以使用。while循环和do-while循环的初始化语句在
循环体之外,所以循环完成后还可以继续使用。
        当循环的次数确定时,推荐使用for循环,否则比较多用while循环。
回复 使用道具 举报 1 0
1.if判断一次,正确就执行if内的语句体;if。。。else有两个语句体,根据判断执行相应的语句体;if。。。else if。。。else有多个语句体,根据判断执行相应的语句体。
2.default不一定放在最后;case的穿透指,当case执行完若没有break,则继续向下执行,直到出现break或者switch表达式结束。
3.do-while至少可以执行一次,for和while若表达式不成立则不会执行;for当中的变量定义完只能在for中执行,while与do-while的变量也可以在循环语句外继续使用。当不确定循环次数时可以用while,当确定循环次数时可以用for
回复 使用道具 举报
1、if ,if...else,if...else if...else  三种if语句的区别
if语句的结果就是要么有,要么就没有;if...else的结果是二者选其一;if...else if...else语句的表示的就是N种选项选其中一种。
2、default 一定要放在最后么?  用自己的话来解释下case的穿透
default不一定要放在最后,case的穿透就如一句歌词一样,可能撞了南墙才会回头吧,当遇到了break语句的时候才会停止下来;不然就是逐一按顺序将语句一一执行下来。
3、三种循环语句的区别?什么时候用for语句,什么时候while语句?
当条件都不满足的时候,for跟while循环种的循环体一次都不会执行,而do-while循环可以将循环体执行一次。通常情况下知道具体循环次数的时候用for语句,反之就多用while语句,但是这个也不是一定的,也可以根据自己的需求去写。

点评

生动形象  发表于 2018-12-2 10:56
回复 使用道具 举报 1 0
1  .if 语句,如果条件是true,就执行语句。false则不执行。
if else ,如果条件是true,就执行语句,false则执行else 后面的语句
if... else if..else  如果条件是true,就执行语句,false则继续往下判断,直到条件是true或else。
2.defaut不一定要放最后。case的穿透性是指,在switch语句中,执行语句没有遇见break就不会停止,会忽略下一个case的条件,继续执行语句直到最后。
3.(1).for循环的初始语句在for里面,while 和do while语句的初始语句在外面
(2)for循环和while循环在条件不成立时,不运行。do while循环不管条件如何,至少运行一次。
有固定循环次数的最好使用for循环语句,通过满足判断条件的循环选择whlie循环。
回复 使用道具 举报
1.  if 是是否执行语句,满足条件,就执行,否则不执行。
if··else 是两者选其一,条件满足,就这样,不满足,就那样;
if···else 是多者选其一;

2.default的位置可以灵活改变。
当没有break时,case会穿透到下一个,直到遇到break或者整体结束为止。 case符合是开始信号,break是结束信号。

3.for和while循环最大的区别是在循环内定义了变量,所以定义的变量没法在循环外使用。
因为for循环结构清楚,建议循环次数确定的用for循环;死循环用while语句,更方便。
回复 使用道具 举报
1.if语句是对关系表达式进行判断后,如果是true就执行语句体,如果是false就不执行语句体;if...else语句是对关系表达式进行判断后,选择其中一个语句体来执行,2者中一定会选择其中1个;if...else if...else语句是对关系表达式进行判断后,如果是true就执行语句体,如果是false就继续判断下一个关系表达式,直到选到ture为止,属于n1
2.default不一定要放在最后,switch语句的格式比较灵活,前后顺序可以颠倒。
Case的穿透指的是在switch语句中,匹配到合适的case就会开始向下执行,如果没有break终止,就会继续向下一个case穿透,执行下一个case中的语句体,如果没有遇到break,就会继续往下穿透,直到遇到break终止。
3.for循环和while循环基本一致,可互相转换,条件满足时执行循环体,不满足时直接跳出循环体,而do-while即使在条件不满足的情况下,也能执行一次。for循环的环境变量是定义在内部的,无法直接使用,而while循环和do-while循环的变量是定义在外部的,可以直接使用。

回复 使用道具 举报
1.if 有或者没有;if...else 两则选其一;if...else if...else 多者选其一。
2.default不一定要放在最后,匹配哪个case就从该case向下开始执行语句体,如果该case执行完毕后没有break语句,程序会向下继续执行case直到碰到break或者switch整体结束为止。
3.for循环中定义的初始化表达式的变量在循环结束后立即失效,只在循环内起作业,while循环初始化表达式的变量定义在方法内,在方法内始终有效,在知道循环次数的情况下多使用for循环,否则多使用while循环,do...while 循环不管条件满不满足,循环体至少执行一次。
回复 使用道具 举报
今天我们学习了流程控制语句,请根据自己的理解回答下面问题:

1、if ,if...else,if...else if...else  三种if语句的区别
答:if 用于判断一种情况if...else用于判断两种情况
if...else if...else 用于判断多种情况
2、default 一定要放在最后么?  用自己的话来解释下case的穿透
答:不一定要放最后;
switch中,当程序执行到符合要求的情况时便会执行该情况下的表达式,直到遇到该情况下的break,程序终端,如果该情况下缺少break,程序便不会中断,会跳过下一个情况直接执行下一个情况的表达式,直到遇到该情况下的break,程序才会终止。

3、三种循环语句的区别?什么时候用for语句,什么时候while语句?

答:do while循环会区别于for循环以及whilie循环,不管条件是否符合,do while循环都会至少执行一次。
一般情况下当循环次数明确时,使用for循环,当循环次数不明确时,使用while循环
                                                                                                                          郑彤
回复 使用道具 举报 1 0
if,if。。。else,if。。if。。else if。。else的区别。
if是判断表达式是true还是false,如果是true就执行语句体,是false就跳过if语句。
if。。。else是:表达式是true就执行if里的语句体并结束if语句。是false就执行else里的语句体。
if。。else if。。else是先判断if表达式,是true就执行if里的语句体并结束if语句,是false就执行else if语句,可以有多个else if语句,但表达式不可重复。如果都不执行,就执行else。

defaule不一定放在最后,可以放在前面。case的穿透是 switch匹配到case的时候,如果case没有break;语句,就会向下一直执行到break为止。如果没有就一直执行结束。

三种语句的区别,
for和while循环语句,如果条件表达式不满足,就不会执行语句体。do。。while就不一样,不管条件表达式满足不满足都会执行一次或者多次语句体。
在for循环里面定义的变量只能在for循环里面使用,而while和do的循环初始语句本身是在语句外定义了,在循环语句外也可以使用。
回复 使用道具 举报
1、if ,if...else,if...else if...else  三种if语句的区别
if语句结果是True就执行语句,如果是False就不执行语句。
if...else语句结果是True就执行语句体1,如果是false就执行语句2.
if...else if..else语句结果是True就执行语句体1,如果是False就继续判断关系表达式2看结果是true还是false,结果是true就执行语句体2。。。。如果没有任何关系表达式为True,就执行语句体n + 1


2、default 一定要放在最后么?  用自己的话来解释下case的穿透
不一定放在最后。如果case的后面不写break,也就是不会在判断下一个case的值。直接向后继续运行,直到遇到break或者整体语句结束。

3、三种循环语句的区别?什么时候用for语句,什么时候while语句?
如果条件判断从来没有满足过,那么for循环和while循环不会执行,但是do...while循环至少会执行一次。
次数确定的时候用for语句,次数不确定的时候用while语句。
回复 使用道具 举报 1 0
12下一页
您需要登录后才可以回帖 登录 | 加入黑马