码迷,mamicode.com
首页 > 其他好文 > 详细

i++和i--运算符优先级

时间:2014-08-16 15:07:20      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:java   局部变量   面试题   

1、问题背景

/**
 * 测试i++和i--
 */
package com.you.model;

/**
 * @author YouHaiDong
 * @date 2014-08-16
 */
@SuppressWarnings("unused")
public class AddReduce 
{
	static
	{
		int x = 10;
	}
	
	static int x;
	static int y;
	
	public static void addReduce()
	{
		y = x++ + ++x;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) 
	{
		x--;
		addReduce();
        System.out.println(x + y++ + x);
	}

}

2、问题分析

(1)这里的x是一个局部变量,只对这里有影响

static
{
    int x = 10;
}


(2)初始化时,x=0,y=0
static int x;
static int y;


(3)由于初始化时x=0,执行x--,x就变为-1

x--;


(4)在调用“addReduce();”方法时,y=0,x=1

public static void addReduce()
{
	y = x++ + ++x;
}


(5)x + y++ + x = 1 + 0 + 1 = 2

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


3、分析结果

   由2分析出,该代码运行的结果为:2

i++和i--运算符优先级,布布扣,bubuko.com

i++和i--运算符优先级

标签:java   局部变量   面试题   

原文地址:http://blog.csdn.net/you23hai45/article/details/38613453

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!