class a
{
public static void main(String[] args)
{
System.out.println("value ="+ switchIt(4));
}
public static int switchIt(int x)
{
int j = 1;
switch (x)
{
case 1: j++;
case 2: j++;
case 3: j++;
case 4: j++;
case 5: j++;
default: j++;
}
return j + x;
}
}为什么结果会是8?另外还想问一下, private Class{},发现任何时题都不能通过编译,这是什么原因呢?
{
public static void main(String[] args)
{
System.out.println("value ="+ switchIt(4));
}
public static int switchIt(int x)
{
int j = 1;
switch (x)
{
case 1: j++;
case 2: j++;
case 3: j++;
case 4: j++;
case 5: j++;
default: j++;
}
return j + x;
}
}为什么结果会是8?另外还想问一下, private Class{},发现任何时题都不能通过编译,这是什么原因呢?
每个j++后面再加一个break;
return j + x; 4+4=8,故返回8
因为你传进去时x=4,所以从case 4开始执行。j值变化如下:
case 4 :j++时,j=1
case5 : j++时,j=2
dfault:j++时,j = 3
执行
return j+x 时j = 4。所以是4+4 = 8