黑马程序员技术交流社区

标题: for与switch的的运用区别 [打印本页]

作者: mls123456    时间: 2015-7-6 13:31
标题: for与switch的的运用区别
for 和 switch在运用上的区别仔细解释一下,

作者: 耀阳圣尊    时间: 2015-7-6 14:04
for是循环,for(定义变量类型及初始化 (1);设定范围(2);自增或是自减(3))
                {
                循环体(4)
                 }
走的流程是1 , 2   , 4  , 3,     2   ,4   直到条件不在满足就会执行后续语句。

switch主要是用做条件判断,格式如下

switch 语句的格式:
 
switch (条件判断表达式)
{
     case 变量可能值1 :
         分支一;
         break;
   case 变量可能值2 :
         分支二;
         break;
   case 变量可能值3 :
         分支三;
         break;
   ...
   default :
       最后分支;

首先会进行条件判断,看看哪个case符合。符合的话就会执行case下面的语句。记住一定要写break;要不就会顺序执行了。意思就是case1执行完了之后接着就会执行case2.
default是默认的意思,意思就是当你的switch中没有满足的话,我们就执行default,我们可以返回一个默认的值,或是给用户已提示。
再就是条件判断表达式 现在可以是 整型或字符型变量jdk 1.7之后 String也是可以用的了。
我能想到的暂时就这么多,如果楼主还有不太明白的。咱们一起讨论讨论{:3_64:}

作者: Love丶cd    时间: 2015-7-6 15:29
楼上说的很详细啊,像是这些判断类语句,我们不能思维定式。像是在一般的学习中,我们一般会用到的for语句的基本格式是for(int i=0;i<_;i++),所以很多人就以为在判断语句中就只能有个三个。其实for是循环,for(定义变量类型及初始化 (1);设定范围(2);自增或是自减(3)) { 循环体(4) }。把上边的定义语句写成如下for(;i<_;){循环体;i++}同样是可以的,同时在里边添加多个判断语句都是可以的,中间用逗号隔开。而switch是条件判断语句,与case连用,注意书写格式即可。楼上都写得很清楚,我只是路过,楼主加油.
作者: zhuoxiuwu    时间: 2015-7-6 15:37
耀阳圣尊 发表于 2015-7-6 14:04
for是循环,for(定义变量类型及初始化 (1);设定范围(2);自增或是自减(3))
                {
         ...

(1)应该是 初始条件,是进入for语句 最先执行的 只会执行一次,
(2)是条件判断语句,返回true则执行循环体{} 要做的事
(3) 是{ }里的语句执行完后 都要执行的语句


之后重复 (2)  (3)

不知道我说得对不对

理解有错 望指出
作者: leesang    时间: 2015-7-6 15:44
学习了,感谢
作者: 3253637854    时间: 2015-7-6 15:56
求解,,,,,,,,,,,,,,,,,,,,
作者: Overheat    时间: 2015-7-6 16:35
学习了,谢谢
作者: ZhangHeng    时间: 2015-7-6 20:15
3楼表述很详细,正解
作者: 为了理想而奋斗    时间: 2015-7-6 20:49
学习了。谢谢
作者: limingdada    时间: 2015-7-6 22:27
3楼说的好详细 学习了。
作者: 夜写意    时间: 2015-7-6 22:53
你可以理解为:for是循环,switch是匹配,选择。for就是重复某一动作,switch就是拿个东西去资料库查看它是个啥。
作者: 慕容旺财    时间: 2015-7-6 23:32
For用于循环次数确定  Switch只支持4种类型int char byte short 最后执行default 书写顺序不同 执行顺序default都在最后
作者: xuhao3622603    时间: 2015-7-6 23:40
学习了,感谢
作者: 东东的一些事    时间: 2015-7-6 23:49
Switch 好像不应该循环吧……
作者: wengjialiang    时间: 2015-7-6 23:56
switch中没有满足的话,我们就执行default,相当于else




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