日期:2014-05-19  浏览次数:20719 次

自加与乘除的优先级问题
Java code

public class First {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a=8,b=3;
        //System.out.println(a++/b);
        float f=a++/b--;
        System.out.print(f);
    }
}


分别执行上面两个System.out.print时,分别是如何得到结果的?要给出详细的执行步骤哦,亲!

------解决方案--------------------
首先自加的优先级肯定比乘除高,
也就相当于
 float f=(a++)/(b--);
只不过a++是先取值后运算,b--也是,
所以f = 8/3 = 2.0
你要是
float f=(++a)/(--b);就不一样了,
应该是f = 9/2 = 4.0