天天看点

JAVA i++ i-- 与 ++i --i的区别

/**
	JAVA运算符之i++ i-- ++i --i的运算
**/

class Demo5{
	public static void  main(String[] args){
		int i = 100;
		i++;				//此时,这里的值为101
		System.out.println("i = 100;i++单独执行的值为:"+i);
		
		int i1 = 100;
		System.out.println("i1 = 100;i++与其它代码作为一段代码取的值为:"+i1++);
		System.out.println("这句代码的功能与上一句的功能相同:"+(i1++));
		System.out.println();
		/*
			上面代码输出语句得出的值为100的原因:
				i++如果与其它代码一起进行执行,就会先执行i = 100;并将此句代码全部执行完后,才会内部再执行一次i1 = i1 + 1;
				可分解为:
					int i1 = 100;
					System.out.println("i1 = 100;i++与其它代码作为一段代码取的值为:"+i1);
					i1 = i1 + 1;
		*/
		
		i--;				//此时,这里的值为100
		System.out.println("i = 100;i--单独执行的值为:"+i);
		
		int i2 = 100;
		System.out.println("i2 = 100;i++与其它代码作为一段代码取的值为:"+i2--);
		System.out.println("这句代码的功能与上一句的功能相同:"+(i2--));
		/*
			上面代码输出语句得出的值为100的原因:
				i--如果与其它代码一起进行执行,就会先执行i = 100;并将此句代码全部执行完后,才会内部再执行一次i1 = i1 - 1;
				可分解为:
					int i2 = 100;
					System.out.println("i2 = 100;i--与其它代码作为一段代码取的值为:"+i2);
					i1 = i2 - 1;
		*/
		
		//==================================================================================================
		int i3 = 200;
		++i3;
		System.out.println("i3的值 为:"+i3);
		
		i3 = 300;
		System.out.println("这时的值 为:"+(++i3));
		//在这里,++i3要使用括号括起来,否则,编译出错。上面语句得出的结果是301,说明++i3是先执行再使用的
		
		/*
		分解开如下:
					int i3 = 300;
					i3 = i3 +1;
					System.out.println("这时的值 为:"+i3);
		*/
           
/**
			++i  --i与i++ i--的区别:
				++i  --i是先进行计算再去使用
				i++  i--是先使用以后再进行运算,这是他们本质的区别
		
		**/
	}
}