(--)和(++)在值的前面和后面的区别

本文详细探讨了Java中前置和后置递增递减操作符(--和++)的用法差异,包括它们的执行顺序、返回值以及在表达式中的影响。通过实例解析,帮助理解其工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--(也就是-1)
这里使用a,b解释
<>1:b = a--
这里是先将a值赋给b之后,然后a进行自身的--
<>2:b = --a
这里是a值先将自己--,让后将值赋给b

++(也就是+1)
这里使用x,y解释
<>1:x = ++y
这里是先进行y++之后让后再进行赋值y--(赋值)>b
<>2:x = y++
这里是先将y值赋给x.然后进行自身的++

下面有一道例题:


package com.csdn.jdbcdemo.date2017_11_14;

/**
 * --和++的在前和在后的区别却别
 * @author 89155
 *
 */
public class AddMinusDemo {
	public static void main(String[] args) {
		
		//i--
		Text();
		
		//--i
		Text2();
		
		//i++
		Text3();
		
		//++i
		Text4();
		
		//面试题
		Text5();
		
	
}
	
	//i--
	private static void Text() {
		int i = 4 ;
		int j = 3;
		 j = i--;
		 System.out.println("i的值是:"+i);//3
		 System.out.println("j的值是:"+j);//4
		 System.out.println("--------------");
	}

	//--i
	private static void Text2() {
		int i = 3 ;
		int j = 4;
		 j = --i;
		 System.out.println("i的值是:"+i);//2
		 System.out.println("j的值是:"+j);//2
		 System.out.println("--------------");
	}

	//i++
	private static void Text3() {
		int i = 1 ;
		int j = 1;
		 j = i++;
		 System.out.println("i的值是:"+i);//2
		 System.out.println("j的值是:"+j);//1
		 System.out.println("--------------");
	}
	
	//++i
	private static void Text4() {
		int i = 1 ;
		int j = 1;
		 j = ++i;
		 System.out.println("i的值是:"+i);//2
		 System.out.println("j的值是:"+j);//2	
	}
	
	//面试题
	private static void Text5() {
		int i = 2;
		int j = 1;
		if(i == (++j) && (j++)==i){
			i+=j;
		}else{
			i+=j;
		}
		/*
		 * 最后输入的结果到到底是4?还是5?
		 * 很多人存在疑问
		 * 先说&&左边
		 * i = 2   j = 2这个没有多少疑问
		 * 可以理解为加入引入第三个变量理解
		 * (++j) -->可以理解为 k=++j;所以为j=2
		 * 
		 * &&让后就是右边了
		 * 照样可以引入第三方变量理解
		 * (j++)-->k=j++,是将值先给k和i作比较.做完比较之后
		 * 下面的运算开始.那个时候j的值变为了3
		 * 可以将上面的代码多理解就可以了
		 * 
		 */
		System.out.println("结果为:"+i);//5
	}
	
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值