由于没有什么语言基础,又是自学,最近看到这些语句的时候就卡住了,简单的if, for语句能够理解怎么用,但是学到后面掺杂了switch ,while, do-while的时候,就有些搞不清楚。希望高手们指点一下,谢谢!

解决方案 »

  1.   

    这个啊?
    太基础了,最基本的...
    switch 是if else if else和另外一种另外一种写法
    while是条件成立会一直执行里面语句
    do while是先执行一次,然后在判断,也就是说do while至少会执行一次的
      

  2.   

    while, do-while都是数据循环语句,for换一种方式罢了switch相当于多个if-else if-else这些还是建议你在Google里面找,很多的,自己好好看了
    还有不懂的在上来会比较深刻
      

  3.   

    while(boolean)
    {
        语句1;
        语句2;
        语句3;
        ...
        语句n;
    }
      如果boolean为true
      就开始执行1->n,然后再返回到判断那里,条件满足的话就一直执行
      语句1->n
      也就是while的语句体.....while(){循环体(可能包含很多的语句)}
      这里很明显的看到是先执行判断,然后才会有可能执行循环体
    那么  do{}while(boolean)就是不管怎么样,先执行一次语句体,然后再判断是否要再执行(从do那里开始执行)
    do{
       语句1;
       语句2;
       语句3;
       ...
       语句n;
    }while(boolean)在执行循环体的时候,不如何,先执行一次,然后就到判断的地方,如果还是true呢,就又回到循环开始处执行.
       
      

  4.   

    while和do-while是基本的循环语句,for是while的一种扩展,是在while的基础上加上了前置条件已经循环前执行的语句。
    while和do-while的区别就是先判断还是后判断;它们的区别在判断条件不成立的时候,while是不会执行循环体内的语句的,而do-while却会先执行一次。switch不是简单的多个if-else组合
    因为当前面的case处理完成后,如果不是用break跳出,还是会继续执行后面的case的,直到碰到break或者执行完switch为止。
      

  5.   

    我又研究体会了一下if-else-if ladder形式和 switch形式,但是我觉得这两个好像差不多,请问到底有什么本质区别呢?
      

  6.   

    switch的每一个case后面如果都写上break;那就相当于if-else的组合
    不然就不是了
      

  7.   

    switch其实更接近于一系列并列的if,而不是if-else
      

  8.   

    一般不要用switch,因为在java中很少用的。我们在java中都是用if 和 else 来代替的。 其实楼上的说的挺清楚了, switch就是一系列的if和else. 对于if, else应该不难理解, 如果就 否则
    while是用来处理循环的, 如果条件一直满足,就一直运行下去。 但有很多情况我们要让程序先运行一次, 之后再去判断条件时就用 do while.  for 也是用来处理循环的,不过for对条件的处理要更好些,适合在有限循环中使用。
      

  9.   

    谢谢大家,我昨天晚上写了一个 if....else程序之后运行一下 ,然后又把这个程序改成switch case形式,最后发现运行结果是一样的,但是如果没有break作为每个case的分割,结果就不同了,如果加了break就是一样的结果。在真实的软件开发过程中,如果遇到这种情况,是用哪一个编程比较多呢?
      

  10.   

    想了解if else,for,switch,while,do while。写好程序,单步调试一下,你可能就明白了。
    如果一个程序自几能明白意思,但是细节之处不知道怎么来的,但不调试可以让你知道它是怎么运行的。
      

  11.   

    本质区别的话很深奥,你初学了解了也用不上; 
    大概我说下就是:
     --switch是控制选择的一种方式,编译器生成代码时可以对这种结构进行特定的优化,从
    而产生效率比较高的代码。
      --switch和if-else相比,由于使用了Binary Tree算法,绝大部分情况下switch会快一点;
      --编译器编译switch与编译if...else...不同。不管有多少case,都直接跳转,不需逐个比较查询。
    (  if...else   是每个条件都要计算一遍的.  )
       
    注:非高层精密编程,不考虑这些问题我还是给你说一下明面上的区别吧,那样比较实用:
    --switch case 比较清晰  给人感觉就是一个脑子很清楚的人写出来的东西 
    --if(condition){}else{}中condition必须是boolean类型;
       
       而switch (key) {
    case value:
    break;
    default:
    break;
    }
       中key必须是int类型或兼容类型对于编程习惯而言我们习惯于if-else-if,在switch中我们常常省略 default引用:
    “谢谢大家,我昨天晚上写了一个 if....else程序之后运行一下 ,然后又把这个程序改成switch case形式,最后发现运行结果是一样的,但是如果没有break作为每个case的分割,结果就不同了,如果加了break就是一样的结果。在真实的软件开发过程中,如果遇到这种情况,是用哪一个编程比较多呢?”(根据编程规范你要加上break)
    break;表示这句话执行完了,要停下来(当然后面还有out-break);
    如:
    switch(k){
    case 0: ···
    break;
    case 1:···
    break;
    }
    如果case 0:后面没有break;他会连case 2:也执行了在某些情况下break还可以换成别的如:static int Mine(int i){
    switch(i){
    case 0:{return 1;
    }
    case 1:{return 0;
    }
    }return是返回.其实它同时结束了方法. 所以在这种情况下他可以代替break;