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); } }
(1)这里的x是一个局部变量,只对这里有影响
static { int x = 10; }
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; }
System.out.println(x + y++ + x);
由2分析出,该代码运行的结果为:2
原文地址:http://blog.csdn.net/you23hai45/article/details/38613453