请教一些if,switch; for,while,do-while问题 由于没有什么语言基础,又是自学,最近看到这些语句的时候就卡住了,简单的if, for语句能够理解怎么用,但是学到后面掺杂了switch ,while, do-while的时候,就有些搞不清楚。希望高手们指点一下,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个啊?太基础了,最基本的...switch 是if else if else和另外一种另外一种写法while是条件成立会一直执行里面语句do while是先执行一次,然后在判断,也就是说do while至少会执行一次的 while, do-while都是数据循环语句,for换一种方式罢了switch相当于多个if-else if-else这些还是建议你在Google里面找,很多的,自己好好看了还有不懂的在上来会比较深刻 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呢,就又回到循环开始处执行. while和do-while是基本的循环语句,for是while的一种扩展,是在while的基础上加上了前置条件已经循环前执行的语句。while和do-while的区别就是先判断还是后判断;它们的区别在判断条件不成立的时候,while是不会执行循环体内的语句的,而do-while却会先执行一次。switch不是简单的多个if-else组合因为当前面的case处理完成后,如果不是用break跳出,还是会继续执行后面的case的,直到碰到break或者执行完switch为止。 我又研究体会了一下if-else-if ladder形式和 switch形式,但是我觉得这两个好像差不多,请问到底有什么本质区别呢? switch的每一个case后面如果都写上break;那就相当于if-else的组合不然就不是了 switch其实更接近于一系列并列的if,而不是if-else 一般不要用switch,因为在java中很少用的。我们在java中都是用if 和 else 来代替的。 其实楼上的说的挺清楚了, switch就是一系列的if和else. 对于if, else应该不难理解, 如果就 否则while是用来处理循环的, 如果条件一直满足,就一直运行下去。 但有很多情况我们要让程序先运行一次, 之后再去判断条件时就用 do while. for 也是用来处理循环的,不过for对条件的处理要更好些,适合在有限循环中使用。 谢谢大家,我昨天晚上写了一个 if....else程序之后运行一下 ,然后又把这个程序改成switch case形式,最后发现运行结果是一样的,但是如果没有break作为每个case的分割,结果就不同了,如果加了break就是一样的结果。在真实的软件开发过程中,如果遇到这种情况,是用哪一个编程比较多呢? 想了解if else,for,switch,while,do while。写好程序,单步调试一下,你可能就明白了。如果一个程序自几能明白意思,但是细节之处不知道怎么来的,但不调试可以让你知道它是怎么运行的。 本质区别的话很深奥,你初学了解了也用不上; 大概我说下就是: --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; 消费者生产者问题 求助:菜单设置问题 跪求各位大大,用java程序写出农历?不回答,我就不起来了-_-! SQLSERVER数据库将查询所得的结果插入另一表的问题?? 我学struts,写的第一个程序出错,郁闷啊 我以为我懂了,其实我不懂!(package 问题) 同构容器和异构容器的问题 JDK、JRE与sdk的区别 BorderLayout的问题,急.........! Dijkstra 算法结合二项堆的优化 求救,DB2的编码问题 为什么SWT里Radio样式的MenuItem在被取消选中时也会产生Selection事件
太基础了,最基本的...
switch 是if else if else和另外一种另外一种写法
while是条件成立会一直执行里面语句
do while是先执行一次,然后在判断,也就是说do while至少会执行一次的
还有不懂的在上来会比较深刻
{
语句1;
语句2;
语句3;
...
语句n;
}
如果boolean为true
就开始执行1->n,然后再返回到判断那里,条件满足的话就一直执行
语句1->n
也就是while的语句体.....while(){循环体(可能包含很多的语句)}
这里很明显的看到是先执行判断,然后才会有可能执行循环体
那么 do{}while(boolean)就是不管怎么样,先执行一次语句体,然后再判断是否要再执行(从do那里开始执行)
do{
语句1;
语句2;
语句3;
...
语句n;
}while(boolean)在执行循环体的时候,不如何,先执行一次,然后就到判断的地方,如果还是true呢,就又回到循环开始处执行.
while和do-while的区别就是先判断还是后判断;它们的区别在判断条件不成立的时候,while是不会执行循环体内的语句的,而do-while却会先执行一次。switch不是简单的多个if-else组合
因为当前面的case处理完成后,如果不是用break跳出,还是会继续执行后面的case的,直到碰到break或者执行完switch为止。
不然就不是了
while是用来处理循环的, 如果条件一直满足,就一直运行下去。 但有很多情况我们要让程序先运行一次, 之后再去判断条件时就用 do while. for 也是用来处理循环的,不过for对条件的处理要更好些,适合在有限循环中使用。
如果一个程序自几能明白意思,但是细节之处不知道怎么来的,但不调试可以让你知道它是怎么运行的。
大概我说下就是:
--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;