黑马程序员技术交流社区

标题: 循环语句和IF 语句怎么嵌套???? [打印本页]

作者: 黑马姜硕    时间: 2011-12-13 09:49
标题: 循环语句和IF 语句怎么嵌套????
本帖最后由 ugvgylkm 于 2011-12-15 10:22 编辑

就是if可以嵌套 for语句么 还是for可以嵌套if      还有别的循环   do   while或while 或  switch case 都是怎么嵌套关系 谁可以嵌套谁??????
作者: 余飞    时间: 2011-12-13 09:54
这些都可以相互嵌套 ,关键是你自己的思路清晰
eg:
if(true)
{
   for(int i=0;i<3;i++)
   { do something;}
}
else {do something; }


作者: 周文军    时间: 2011-12-13 09:57
没有谁能不能嵌套的问题!主要看你怎么用而已。
比如:
1.if可以嵌套了for语句: 前提判断if语句是否符合条件,如果与if条件符合就执行for循环语句,反过来就不会执行,这种情况是需要你满足摸个条件情况下才会执行for语句的。
2.for循环嵌套了if语句:这个与上面相反,先循环for语句再执行if语句,而当满足if语句的条件才执行if里面的语句.
所以没有谁不能嵌套谁的问题!主要看你如何运用,还考虑嵌套的性能问题.
作者: 黑马姜硕    时间: 2011-12-13 10:03
比如for语句判断成立 那么语句块里也可以在嵌套 do while   或者嵌套 switch case    还谁都可以嵌套谁
作者: 董伟    时间: 2011-12-13 10:59
if是条件判断语句,for是循环语句,两者并不冲突,在判断之后可以进行循环操作,也可以在循环的时候判断某些条件然后再
指定循环是否继续执行。情况不同用法不同,精髓在于逻辑和算法。
作者: 黑马姜硕    时间: 2011-12-13 14:18
说简单就是谁都可以嵌套谁么 不管成不成立 现在假设都成立  switch case 那么case后面也可以嵌套for 语句么或又嵌套个 do while  ????????
作者: 李荣壮    时间: 2011-12-13 14:19
本帖最后由 李荣壮 于 2011-12-13 14:22 编辑
ugvgylkm 发表于 2011-12-13 14:18
说简单就是谁都可以嵌套谁么 不管成不成立 现在假设都成立  switch case 那么case后面也可以嵌套for 语句么 ...


想怎么套就怎么套  
不过要注意的两点
1: 语法不能错 , 比较if 永远在else的前面,可以有单个if, 但是却没有单个else
2:注意顺序带来的影响,  while ... do  与do  .... while 是有区别的
作者: 黑马姜硕    时间: 2011-12-13 14:22
这不就OK 了么 真是一部到位啊{:soso_e179:}
作者: 刘波    时间: 2011-12-13 14:31
举个例子或许会明白些  

int i = 1 , j , result ;
for ( i = 1 ; i < 10 ; i ++)
{
     for ( j= 1 ; j < 10 ; j++)
     {
            result = i * j  ;
            if ( j > i)
             break;
            
      }
}
输出之后是一张九九乘法表


第一次循环:i = 1 , j = 1 ,循环结束
第二次循环:i  经过 i ++  之后变成了 2
                     可是内层循环 j 经过j++之后还是从1开始循环
第三次循环:i  经过 i ++  之后变成了 3                     
                    可是内层循环 j 经过j++之后还是从1开始循环




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