• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

麻烦解释下这个程序怎么运行出这个结果的,谢谢。

int y=3;
                int x=3;
                switch (x+3){
                case 6: y=1;
                default: y+=1;
                System.out.println(x);
                System.out.println(y);
运行后结果是3   2,不理解为什么是这个结果。
而且一旦把switch (x+3)改成switch (x+2)或x+任意数或x-任意数结果就变成了  3   4.
是在myeclipse运行的,看debug调试也看不懂。
求教,谢谢。

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与2

int y=3;
int x=3;
switch (x+3){
case 6: y=1;
default: y+=1;
System.out.println(x);
System.out.println(y);


首先,switch (x+3)//这句话不会改变变量x的值 除非是x=x+3;所以x的值还是3
因为x+3 = 6,所以匹配case 6,执行y=1,这里y的值由3变成1,
然后因为没有break跳出语句,继续向下执行default: y+=1;
y变成了2,然后switch 语句结束。所以最终结果是3 2


如果switch (x+3)改成switch (x+2)
就不会匹配case 6,直接执行default: y+=1;然后跳出switch语句,这个时候y为3,3+1的话就为4呀

使用道具 举报

楼上说的对√

使用道具 举报

发新帖

发布任务需求已有1031289位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!