黑马程序员技术交流社区

标题: 关于面向过程的一些结构语句怎么使用。 [打印本页]

作者: 许大虾    时间: 2013-5-11 13:11
标题: 关于面向过程的一些结构语句怎么使用。
本帖最后由 许大虾 于 2013-5-11 17:36 编辑

if / if -else /else-if/
switch -case
while / do while
for-do for

具体什么时候用哪个,我都有点糊涂了。求给个比较通俗易懂的建议~不甚感激

作者: 张军    时间: 2013-5-11 13:37
如果要判断的条件成立后执行一些语句方法,如果失败则不做任何动作,就只用if就好了。反之,失败了判断不成立也要执行相应的语句。则用if-else,如果判断有多于两种情况以上的选择,例:小于0的时候输出小于0,等于0的时候输出等于0,大于0的时候输出大于0.就用if-else if语句,如果此判断是枚举类型,多于2次判断,且判断是值类型的,可以用swith-case语句。
while循环是先判断循环条件是否成立,成功了再执行循环语句。do-while是先执行一次循环语句再判断执行条件。for循环。foreach循环试用与数组值的遍历。个人觉得,在用递增或者递减数值做循环控制语句的时候用for循环比较好,在其他情况用while和do-while。这两个看情况使用,例如,判断用户输入的值是否符合条件,成功跳出循环,不成功继续要求用户输入。。。。
作者: 孤帆破浪    时间: 2013-5-11 15:40
if结构和switch结构都是条件选择结构,不同的是if结构的条件必须是一个bool类型的值,而switch结构里面的条件只能是int型、char型、(在C#中还可以是字符串string型);
if还可以和else结合起来使用,有好几种形式:
                if(条件表达式1){
                     if(条件表达式2){
                           //代码1
                     }
                     else{
                          //代码2
                    }
               }else{
                    //代码3
               }                        
这种是嵌套 if形式,只有表达式1成立,才会执行第一个if结构中的第二个if结构,否则就执行else里面的代码3.
              if(条件表达式1){
                        //代码1
              }else if(条件表达式2){
                       //代码2
              }else{
                         //代码3
              }
这种是多重if形式,如果表达式1成立,就执行代码1,否则就判断表达式2是否成立;如果表达式2成立,就执行代码2,否则就执行else中的代码3.
多重if一般用于判断某一区间的表达式。

whle循环是先判断条件是否成立,如果成立就执行循环,否则循环体中的内容一次也不会执行。
do-while循环是不管条件成立与否,先把循环体中的代码执行一次,然后再来判断条件是否成立,如果成立就继续执行循环,否则就跳出循环,循环中的代码最少会被执行一次
for循环就用于循环次数确定的情况
另外在C#中还有一个foreach循环,它会遍历一个数组中的所有元素。
作者: 黑马-雷钊    时间: 2013-5-11 15:43
if / if -else /else-if/选择用的。当条件是语句的时候用的。比如if(a > 12){}
switch -case选择用的,当选择条件是具体的值时用,比如月份中的case1到case12
while / do while循环用的,需要单独定义变量
for-do for循环用的,不需要单独定义变量
作者: 许大虾    时间: 2013-5-11 17:36
孤帆破浪 发表于 2013-5-11 15:40
if结构和switch结构都是条件选择结构,不同的是if结构的条件必须是一个bool类型的值,而switch结构里面的条 ...

谢谢~谢谢~
作者: 孤帆破浪    时间: 2013-5-11 22:55
许大虾 发表于 2013-5-11 17:36
谢谢~谢谢~

不客气,互相学习,呵呵!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2