编程思想之操作符

###1. 赋值操作符(Assignment operator)

赋值使用操作符“=”。它的意思是“取右边额值,把它复制给左边”。右边可以是任何常数、变量或者表达式,但左边必须是一个明确的、已命名的变量。

不能把任何东西赋给一个常数,常数不能作为左值(比如不能说4=a)。

基本类型存储了实际的数值,而并非指向一个对象的引用,所以在为其赋值的时候,是直接将一个地方的内容复制到了另一个地方。

public static void main(String[] args) {
	int a = 10;
	int b = a;
	System.out.println("a = " + a);
	System.out.println("b = " + b);
	a = 9;
	System.out.println("a = " + a);
	System.out.println("b = " + b);
}
输出结果:
a = 10
b = 10
a = 9
b = 10

对基本数据类型使用b = a,再改变a的值,而b是不会受影响的。

对一个对象进行操作时,我们真正操作的是对对象的引用,所以倘若“将一个对象赋值给另一个对象”,实际是将“引用”从一个地方复制到另一个地方。

public class A {
	int level;
}

public class Test{
	public static void main(String[] args) {
		A a = new A();
		A b = new A();
		a.level = 9;
		b.level = 19;
		System.out.println("1: a.level = " + a.level);
		System.out.println("1: b.level = " + b.level);
		b = a;
		System.out.println("2: a.level = " + a.level);
		System.out.println("2: b.level = " + b.level);
		a.level = 27;
		System.out.println("3: a.level = " + a.level);
		System.out.println("3: b.level = " + b.level);
	}
}

输出结果:
1: a.level = 9
1: b.level = 19
2: a.level = 9
2: b.level = 9
3: a.level = 27
3: b.level = 27

###2.算术操作符(arithmetic operator)
加号(+)、减号(-)、乘号(*)、除号(/)、取模(%)
注:整数除法会直接去掉结果的小数位,而不是四舍五入。

###3.自动递增和递减
递增操作符是“++”,意为“增加一个单位”;递减操作符是“- -”,意为“减少一个单位”。
这两个操作符各有两种使用方式,通常称为“前缀式”和“后缀式”。“前缀递增”表示“++”操作符位于变量或表达式的前面,而“后缀递增”表示“++”操作符位于变量式或表达式的后面;“前缀递减”和“后缀递减”类似。
对于前缀递增和前缀递减,会先执行计算,再生成值。而对于后缀递增和后缀递减,会先生成值,再执行计算。

###4.关系操作符(Relation operator)
关系操作符生成的是一个Boolean(布尔)结果,它们计算的是操作数的值之间的关系。如果关系是真实的,关系表达式会生成true,如果关系不真实,则生成false。
关系操作符包括小于(<)、大于(>)、小于或等于(<=)、大于或等于(>=)、等于(==)以及不等于(!=).

###5.逻辑操作符(Logical operator)
逻辑操作符:与(&&)、或(||)、非(!),根据参数的逻辑关系,生成一个布尔值(true或false)。
#####5.1短路
当使用逻辑操作符时,会遇到一种“短路”现象。即一旦能够明确无误地确定整个表达式的值,就不再计算表达式余下部分了。因此,整个逻辑表达式靠后的部分有可能不会被运算。
###6.按位操作符(Bit - by - bit operator)待补充
按位操作符用来操作整数基本数据类型中的单个“比特”(bit),即二进制位。按位操作符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果。

###7.移位操作符
###8.三元操作符if-else
###9.字符串操作符+和+=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值