标题:一题JAVA题目,请会的说明下~
只看楼主
夏色沙漏
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2004-11-12
 问题点数:0 回复次数:7 
一题JAVA题目,请会的说明下~
import *
c
lass ziga{
public static void main(String[] args)
   {
         int i=0,j=0;
         switch(i)
     {
        case 1:j+=1;
        case 4:j+=6;
        default:j+=2;
        case 0:j+=4;
      }
   System.out.println("j="+j);
}
}
最后结果j=4~~
没有BREAK,为什么不是j=6?????????????
搜索更多相关主题的帖子: JAVA 
2004-12-31 21:43
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
case 0:j+=4;你这里写了0,而int i=0,j=0既然j=0程序自然就会选择case 0如果把int i=0,j=0改为int i=0,j=4就会j=6。
2004-12-31 22:40
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
因为程序已经找到了case 0没有必要再往下找了,所以不会执行后面的了。
2004-12-31 22:42
pyzheng
Rank: 1
等 级:新手上路
帖 子:102
专家分:0
注 册:2004-12-5
得分:0 
default:j+=2;
case 0:j+=4;
===========
这里它们有顺序吗???

-----------人間太苦﹐成仙太難------------
2005-01-01 17:00
夏色沙漏
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2004-11-12
得分:0 
2楼你有没有说错?????????/
J=4了,J+=4怎么会等于6~???????????
你搞错了吧~~~
2005-01-03 13:35
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
以下是引用夏色沙漏在2005-1-3 13:35:08的发言: 2楼你有没有说错?????????/ J=4了,J+=4怎么会等于6~??????????? 你搞错了吧~~~

的确搞错了忘了j+了。

-- 作者:pyzheng -- default:j+=2; case 0:j+=4; =========== 这里它们有顺序吗???

有顺序如果j的值在case里能找到就不会再找了,虽然楼主没有加break,但是会顺序寻找直到找到j的值与case的值匹配就会退出寻找。而default在找不到case的值与j的值匹配的情况下才会执行default的语句,反之匹配的话就不会执行default。

2005-01-04 00:08
kingarden
Rank: 2
等 级:论坛游民
威 望:1
帖 子:517
专家分:40
注 册:2004-12-8
得分:0 
[QUOTE]
case 0:j+=4;你这里写了0,而int i=0,j=0既然j=0程序自然就会选择case 0如果把int i=0,j=0改为int i=0,j=4就会j=6。
[/QUOTE]

i=0,满足case 0:固执行j+=4,结果当然为4了。

〖ΦγЙ┅给梦一把梯子,现实与梦想之间的距离即可忽略,不可跨越的迢迢银河举步便可迈过Й┅Φ〗
2005-01-10 08:56
shanji
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2005-1-23
得分:0 
2005-04-07 17:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-10438-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021113 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved