| 网站首页 | 业界新闻 | 群组 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 72 人关注过本帖
标题:运算符优先级问题
只看楼主 收藏
有多难
Rank: 2
等 级:论坛游民
帖 子:29
专家分:32
注 册:2018-3-26
结帖率:100%
  已结贴   问题点数:10  回复次数:3   
运算符优先级问题
public class test{

static{

    int x=5;

}

static int x,y;

public static void main(String args[]){

   x--;

   myMethod( );

   System.out.println(x+y+ ++x);

}

public static void myMethod( ){

  y=x++ + ++x;

 }

}

求输出结果和过程分析。
4 天前 13:47
有多难
Rank: 2
等 级:论坛游民
帖 子:29
专家分:32
注 册:2018-3-26
  得分:0 
想了半天了,自己强行解释一波:
【在解释之前说明一下,把myMethod()方法中的算数表达式中的+号换成了-号后,方法结束后y的值为-2】
int型变量x、y没有手动赋初值,默认初始值都为0;
进入main方法,x--,所以x的值为-1;
调用myMethod方法x++先参与运算后自加1,所以此处参与运算的x值为-1,
然后x++,x值变成0,然后++x,先自加1后参与运算,所以后一个x值为1,所以最终的y值为0;
然后回到main方法,x值为1,y值为0,++x值为2,最后输出结果为3.


[此贴子已经被作者于2018-4-15 21:40编辑过]

4 天前 21:39
疯狂的小a
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:3
帖 子:208
专家分:734
注 册:2018-2-6
  得分:10 
回复 2楼 有多难
你是不是还不会debug

假如人生没有梦想,和咸鱼有什么区别!
3 天前 21:14
有多难
Rank: 2
等 级:论坛游民
帖 子:29
专家分:32
注 册:2018-3-26
  得分:0 
回复 3楼 疯狂的小a
会了 大佬 基础比较薄弱 正在不断进步中 。话说我自己上面的分析有毛病吗?
昨晚 22:38







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

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