【JAVA】一元减号和一元加号&自动递增和自动递减

一元减号和一元加号操作符(Unary minus and plus operators)

一元加号和二元加法的区别:
一元运算符有且只有一个运算参数
二元运算符有且只有两个运算参数
例如 负号 - 1 ; 它只能运算一个数据
加号 1+ 2 ;参加运算的只能是两个数据多或者少都出错 它是二元运算符

一元减号(-)和一元加号(+)与二元加号和减号都是相同的运算符。根据表达式的书写形式,编译器会自动判断使用哪一种。例如下述语句:

x = -a;

编译器能正确识别下述语句:

x = a * -b;//这样书写是可行的,只是可读性不好

最好更明确地写成:

x = a * (-b);

一元减号得到的运算对象的负值。一元加号的含义与一元减号相反,虽然它实际并不做任何事情。
(理解:一元减号相当于负号,一元正好相当于正号)

自动递增和自动递减(auto increment and decrement)

递增和递减运算符(常称作“自动递增”和“自动递减”运算符)。其中,递减运算符是“–”,意为“减少一个单位”;递增运算符是“++”,意为“增加一个单位”。举个例子来说,假设A是一个int(整数)值,则表达式++A就等价于(A = A + 1)。递增和递减运算符结果生成的是变量的值。(注意:自增自减会改变变量的值)

每种类型的运算符,都有“前缀(prefix)版”和“后缀(postfix)版”两个版本。
“前递增(preincrement)”表示++运算符位于变量或表达式的前面;而“后递增(post-increment)”表示++运算符位于变量或表达式的后面。递减同理

前递增和前递减(如++A或–A),会先执行运算,再生成值。
后递增和后递减(如A++或A–),会先生成值,再执行运算。

例如:

//: operators/AutoInc.java 
// Demonstrates the ++ and -- operators. 
import static net.mindview.util.Print.*; 
public class AutoInc { 
	public static void main(String[] args) { 
		int i = 1; print("i : " + i); 
		print("++i : " + ++i); // Pre-increment 
		print("i++ : " + i++); // Post-increment 
		print("i : " + i); 
		print("--i : " + --i); // Pre-decrement 
		print("i-- : " + i--); // Post-decrement 
		print("i : " + i); }
	} 
/* Output: 
i : 1 
++i : 2 
i++ : 2 
i : 3 
--i : 2 
i-- : 2 
i : 1 
*///:~

注意下面的例子:

int a=3,b;
b=a++*3;    // 等同于 b=a*3  然后 a++
System.out.println("a="+a+"\tb="+b);  // 4   9

b=--a*3;    // 等同于 --a 然后 b=a*3
System.out.println("a="+a+"\tb="+b);   // 3   9
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值