public class K {
public static void main(String [] args) {
int x = 2,y = 5,k = 0;
switch (x%y) {
case 0 : k=x+y ;break;
case 1 : k=x-y ;break;
case 2 : k=x*y ;break;
default: k=x/y ;break;
}
System.out.println(k);
}
}
这个k的值是怎么求出来的?请说的稍微详细一点·然后这个(x%y)有什么意义吗?

解决方案 »

  1.   

    x%y 计算X除以Y之后的余,根据余值,判断去哪个case,如果所有case都不匹配,就去default,最后k就计出来了
      

  2.   


    int x = 2, y = 5, k = 0;
    //x%y取余的结果为switch条件
    switch (x % y) {
    case 0:
    k = x + y;//当x%y==0时,k=x+y;
    break;//退出switch
    case 1:
    k = x - y;
    break;
    case 2:
    k = x * y;
    break;
    default:
    k = x / y;
    break;
    }
    //x%y取余等于2,所以k=x*y=2*5=10,输出结果为10
    System.out.println(k);
      

  3.   

    x%y 是表示得到x/y的余数,
    这里显然2%5=0,
    所以是这一句:case 0 : k=x+y ;break;
    k=2+5=7.
      

  4.   

    x%y是取余的意思,2%5=3
    switch(3)转到k=x/y即 k=2/5=0;
      

  5.   

    哈哈。秀逗了。补充下,如果default放到最前面会是什么结果呢?楼主不妨思考下。还有就是这种情况:
    public class K {
    public static void main(String [] args) {
    int x = 2,y = 5,k = 0;
    switch (x%y) {
    case 0 : k=x+y ;break;
    case 1 : k=x-y ;break;
    case 2 : k=x*y ;
    default: k=x/y ;break;
    }
    System.out.println(k); 
    }
    }
      

  6.   


    public static void main(String agrs[]){
    int x = 2,y = 5,k = 0;
    switch (x%y) { //x%y 是2/5 然后取余数,余数是2。.运行case2的k=x*y~
    case 0 : k=x+y ;break;
    case 1 : k=x-y ;break;
    case 2 : k=x*y ;break;
    default: k=x/y ;break;
    }
    System.out.println(k); 
    }~ ~
      

  7.   

    package com.javatest.www;public class K {
    public static void main(String[] args){

    int x=2,y=5,k=0;
    switch(x%y){     ---->取余的2
    case 0: 
    k = x+y;
    break;
    case 1:
    k = x-y;
    break;
    case 2:
    k = x*y;   -->k=10
    break;
    default :
    k = x/y;
    break;
    }
    System.out.println(k);  -->最后结果为10


    }}
      

  8.   

    这个解释的很清楚,  2 除以5 等于0 余数 是 2: x%y = 2; x/y = 0;
      

  9.   

    没有break的话,语句会继续执行的
      

  10.   

    都别忽悠小朋友了,2%5的意思就是2除以5求余数,显然2小于5,所以商为0,余数为2case 2成立k=2*5=10然后break跳出switch语句打印k的值10