This week's book giveaway is in the Performance forum.
We're giving away four copies of The Java Performance Companion and have Charlie Hunt, Monica Beckwith, Poonam Parhar, & Bengt Rutisson on-line!
See this thread for details.
Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

a switch problem

 
Gary Kevin
Ranch Hand
Posts: 43
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
why the result is 6?

public class Test
{
public static void main(String Args[]){
int i = 1,j = 0;
switch(i){
case 2:j+=6;
case 4:j+=1;
default: j+=2;
case 0: j+=4;
}
System.out.println("j="+j);
}
};
 
Gary Kevin
Ranch Hand
Posts: 43
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I thought it should be 2.
 
Neelesh Bodas
Ranch Hand
Posts: 107
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
because there is no break after the default, and hence control falls through. thus j+=2 and j+=4 are both executed. This makes j=6.
[ July 24, 2006: Message edited by: Neelesh Bodas ]
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic