Java 运算符之自增与自减实例详解(常用运算符)

本文详细介绍了Java中的运算符,包括算术、关系、位、逻辑、赋值、条件和其他运算符。重点讲解了自增和自减运算符的用法,演示了它们在不同位置的差异,并通过实例展示了它们在表达式中的应用。此外,还提到了赋值运算符的组合使用,如`a+=5`和`a-=3`等。文章强调了理解运算符优先级和结合性的重要性,以避免混淆。

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





Java 提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组:

算术运算符
关系运算符
位运算符
逻辑运算符
赋值运算符
条件运算符
其他运算符

  • 自增/自减

Java 提供了 ++ 运算和 – 运算,它们可以对一个整数进行加 1 和减 1 的操作:



	
public class Test01 {
	
	public static void main(String[] args) {
		
		/**
		 * 	等于号表示赋值的意思,即 右边赋值到左边
		 * 		i++  先赋值,后运算;
		 * 		++i  先运算,后赋值;
		 */
		int i = 0;
//		i = i++;//0
		i = ++i;//1
		System.out.print(i);
	}
}





public class Test02 {
	
	public static void main(String[] args) {
		
		//自增 ++ ;自减-- 
		/**
		 * 总结:
		 * 	 自增自减在变量后时,直接返回等于号左边值(注:等于号表示赋值从右往左)
		 * 	 自增自减在变量前时,等于号两边值都改变一致
		 * 
		 *   ++出现在变量后,先赋值,再对变量中保存的值进行自加1运算
		 *   ++出现在变量前,先进行自加1运算,再赋值
		 *   
		 *   --出现在变量后,先赋值,再对变量中保存的值进行自减1运算
		 *   --出现在变量前,先进行自减1运算,再赋值
		 */	 
		
		int a = 100;
		
 		int b = a++;//a = 101  ||  b = 100
		//int b = ++a;//a = 101  ||  b = 101

		//int b = a--;//a = 99  ||  b = 100
		//int b = --a;//a = 99  ||  b = 99
		
		System.out.println(a); 
		System.out.println(b); 
	}
}




public class Test03 {

	 public static void main(String[] args) {
		 
	        //++出现在变量后,先赋值,在对变量中保存的值进行自加1运算
	        int a = 100;
	        int b = a++;
	        System.out.println(a); //101
	        System.out.println(b); //100

	        //++出现在变量前,先进行自加1运算,在赋值
	        int m = 10;
	        int n = ++m;
	        System.out.println(m);//11
	        System.out.println(n);//11

	        int x = 500;
	        System.out.println(x++);//500
	        System.out.println(x);//501

	        int y = 100;
	        System.out.println(++y);//101
	        System.out.println(y);//101

	        //出现在变量后,先赋值,在对变量中保存的值进行自减1运算
	        int c = 100;
	        int d = c--;
	        System.out.println(c); //99
	        System.out.println(d); //100

	        //出现在变量前,先进行自减1运算,在赋值
	        int e = 10;
	        int f = --e;
	        System.out.println(e);//9
	        System.out.println(f);//9

	    }
}





public class Test04{
    public static void main(String[] args) {

		// 自增/自减运算
        int n = 666;
        n++; // 667, 相当于 n = n + 1;
        n--; // 666, 相当于 n = n - 1;
        int y = 100 + (++n); // n = 1 + n;即 100 + (1+666)
        System.out.println(y);
    }
}



》》》拓展练习实例


public class Test05 {
	
	public static void main(String[] args) {
		// a 的值为多少?
		int a = 1;
		
		a+=4;
		//a-= 4;
		
		System.out.println(a);
	}
}




public class Test06 {
	
	public static void main(String[] args) {
		// a b 的值各为多少?
		int a = 1;
		
		int b = a++ + ++a;
		
		System.out.println(a);
		System.out.println(b);
	}
}

由上可知:a++ + ++a -> 2 + 1 -> a = 3 -> b = 1 + 3 -> b = 4




public class Test07 {
	
	public static void main(String[] args) {
		// a b c d的值各为多少?
		int a = 1;
		int b = 2;
		int c = 3;
		int d = a++ + ++b * c-- - ++a / b-- + ++c;
		
		System.out.println(a);//3
		System.out.println(b);//2
		System.out.println(c);//3
		System.out.println(d);//12
	}
}




public class Test08 {
	
		public static void main(String[] args){
			int a = 1;
			int b = a++;			// b = 1, a = 2
			int c = ++b;			// c = 2, b = 2
			int d = c--;			// d = 2, c = 1
			int e = --d;			// e = 1, d = 1
			
			//          2        2        2        0       1
			int f = a++ + b-- * ++c - --d / e++;
			
			System.out.println(a); // 3
			System.out.println(b); // 1
			System.out.println(c); // 2
			System.out.println(d); // 0
			System.out.println(e); // 2
			System.out.println(f); // 6
	}
}





  • 注意 ++ 写在前面和后面计算结果是不同的:
    ++n 表示先加 1 再引用 n;先运算,后赋值
    n++ 表示先引用 n 再加 1;先赋值,后运算
    不建议把 ++ 运算混入到常规运算中,容易自己把自己搞懵了哈。

故屿






①算数运算符


算数运算符:加(+)、减(-)、乘(*)、除(/),取余(%);


 int a = 5;     
 int b = 3;     
 int sum = a + b; // 打印输出 sum 结果为 8;
 
 int chu = a / b; // 打印输出 chu 结果为 1,直接取最大商的值,不计算实际值和余数;
 
 int quyu = a % b; // 打印输出 quyu 结果为 2,取余也叫取模,为商的余数。

  • 注: 使用算数运算符,同种类型使用,结果类型不变,不同类型使用,结果跟着精度高的。


②赋值运算符


赋值运算符:用于将右侧操作数值赋值给左侧操作数值;


 int  a = 10;   
 a += 5;  // 等价于 a = a + 5; 打印输出 a 结果为 15;
 
 a -= 3;   //  a = 15 - 3; 打印输出 a 结果为 12; 注其 a 初始值不再是初始值10,而是 a += 5 结果值
 
 a /= 2;   //  a = 12 除以 2; 打印输出 a 结果为 6;
 
 a %= 2;   //  a = 6 取余 2;  打印输出 a 结果为 0;



③逻辑运算符


逻辑运算符:与(&&)、或(||)、非(!) ,结果返回布尔值(true/false);


 int a = 10;     
 int b = 20;     
 
 System.out.println(a+b > 30 && a-b < 20);  // 打印结果为 false
 
 System.out.println(a != b || a > b);  // 打印结果为 true
 
 System.out.println(!(a<b));  // 20>10 时是 true,!true 时取反则为 false。打印结果为 false

  • a.与(&&):符号左右两边的表达式的结果都为 true 的时候,结果才为 true;当符号有一边为 false 的时候,结果为f alse,符号左边已经为 false, 则右边就不用考虑了

  • b.或(||):符号左右两边的表达式只要有一边为 true,则结果为 true;当符号两边都为 false 的时候,结果才为 false,符号的左边已经为 true, 则右边就不会在考虑了



④条件运算符


条件运算符其公式为: 表达式 ? 表达式1 : 表达式2

当表达式的结果为 true 的时候,则执行表达式1
当表达式的结果为 false 的时候,则执行表达式2

结果返回布尔值(true/false)。详情见:Java 实例 - 三目条件运算符












Note:
欢迎点赞,留言,转载请在文章页面明显位置给出原文链接
知者,感谢您在茫茫人海中阅读了我的文章
没有个性 哪来的签名!
详情请关注点我
持续更新中

扫一扫 有惊喜!
© 2021 03 - Guyu.com | 【版权所有 侵权必究】
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值