黑马程序员技术交流社区

标题: 关于java运算符的问题?? [打印本页]

作者: 塞肥肥塞牙人    时间: 2014-9-5 21:20
标题: 关于java运算符的问题??
有一段程序是这样的:

public class Foo {
       public double crazyCalc(doublex, inty) {
                  x+=--y/x++;
                  return x*y
      }

      public static void main(String…args) {
                  Foo foo = new Foo()
                  int a = 14, b = 3;
                  double c;
                  c= foo, crazyCalc(b, a/=2);
                  System.out.println(c+'' ''+a+'' ''+b);
      }
}

答案输出分别为30.7  7  3

求大神指点30.7是如何算出来!!!

作者: 泥土知识    时间: 2014-9-6 08:42
其实这里重点就是表达式 x+=--y/x++;  它等价于 x=x+(--y)/(x++) ,它又等价于下面的三句 y=y-1; x=x+y/x; x=x+1; 因此c=30   而a执行了a/=2,因此a变成了7,b没有动




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2