[02]JavaSE基础部分:运算符与表达式

运算符操纵数据:运算符操作数据的式子就是表达式
所有的运算符都能根据自己的运算对象生成一个值
运算符的副作用:运算符改变了运算对象的值:例如++、--运算符
几乎所有的运算符都只能操纵基本类型
但 =、 == 、!= 可以操作引用类型
在字符串类String中可以使用运算符+、+=表示字符串的连接:字符串连接符
表达式也是数据,是数据就有类型与值:表达式是有值与类型的

赋值运算符与表达式
	赋值运算符适用于基本类型与引用类型
	赋值运算符的优先级在所有的运算符中是最低的
	基本类型的赋值操作赋的是值
	引用类型的赋值操作赋的是对象的地址

算术运算符与表达式
	+、-、*、/ 、%(只能用于整型数据)
	+=、-=、*=、/=、%=
	++、--:可以使用在float类型与double类型的变量中
	++、--:表达式会产生值,但是该运算符还产生副作用:改变了变量本身的值
	前置++、-- 与 后置++、--

关系运算符与表达式
	关系表达式得到的结果一定是boolean类型的
	>	>=	<	<=	:只能用于基本类型
	==	!=			:用于所有类型
	instanceof		:只能用于引用类型	
	
	引用类型,即对象之间的比较
	== 或 !=比较的是对象的地址
	如果比较的是对象的内容的话:建议使用equals方法来比较:注意equals的默认行为是比较对象的地址

逻辑运算符与表达式
	逻辑表达式的结果是boolean类型
	逻辑运算符的表达式本身的类型必须是boolean类型
	&& || :他们都是短路运算符:只要能够确定表达式的结果就不再进行后续的运算
	!:取反:表达式的值为非0就变为0,表达式的值为0就变为非0
	短路的目的就是为了提供程序潜在的性能

位运算符与表达式
	位运算是底层操作:由于Java设计的初衷是为了电视机机顶盒的嵌入式开发:所有位运算保留了下来
	
	&:按位与
	|:按位或
	^:按位异或:丢弃进位的二进制加法
	~:按位取反(一元运算符)
	
对于boolean类型可以执行&、|、^操作,但是不能执行~操作:可能是为了避免与逻辑非混淆

	<<:左移:相当于乘以2的n次方:低位空出来的那些位补0:低位补0
	>>:算术右移:使用符号位填充移除来的那些位:相当于除以2的n次方(相当于:如果存在小数部分直接舍弃:只保留整数部分):高位补符号位:高位空出来的那些位补符号位
	>>>:逻辑右移:使用0填充移出来的那些位
	
	移位运算符不支持boolean类型:只能处理整型
	如果是char byte short类型在移位之前,先将其类型提升为int:结果为int
	如果是long结果为long
	
条件运算符与表达式
	布尔表达式 ? 表达式1 : 表达式2;

逗号运算符与表达式
	逗号表达式最终的值是最后一个表达式的值
	
字符串连接符
	+ +=:C++中的运算符重载



	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值