注:本文所作笔记出自Java编程思想第三章
在最底层,Java中的数据是通过使用操作符来操作的。
使用Java操作符
- 操作符接受一个或多个参数,并生成一个新值。参数的形式与普通的方法调用不同,但效果是相同的。
- 操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的值,这被称为“副作用”(也就是说,除了有“副作用”的操作符,其它操作符并不会改变操作数的值,常见的有“副作用”的操作符有:=,++,- -)。
- 几乎所有的操作符都只能操作“基本类型”。例外的操作符是“=”、“==”和“!=”,这些操作符能操作所有的对象。除此之外,String类支持“+”和“+=”。
赋值
赋值使用操作符 “=” 。它的意思是 “取右边的值(即右值),把它复制给左边(即左值)”。右值可以使任何常数、变量或者表达式(只要它能生成一个值就行)。但左值必须是一个明确的、已命名的变量。
算术操作符
算术操作符包括加号(+)、减号(-)、除号(/)、乘号(*)以及取模操作符(%),算术操作符对左值和右值进行相应的数学运算,并生成运算结果。
自动递增和递减
递减操作符是“- -”,意为“减少一个单位”;递增操作符是“++”,意为“增加一个单位”。递增和递减操作符不仅改变了变量(有副作用),并且以变量的值作为生成的结果。
这两个操作符各有两种使用方式,通常称为“前缀式”和“后缀式”。“前缀式”意为操作符位于变量或表达式前,“后缀式”意为操作符位于变量或表达式后。对于前缀递增和前缀递减,会先执行运算,再生成值。而对于后缀递增和后缀递减,会先生成值,再执行运算。
关系操作符
关系操作符生成的是一个boolean(布尔)结果,它们计算的是操作数的值之间的关系。如果关系是真是的,关系表达式会生成true(真);如果关系不真实,则生成false(假)。关系操作符包括小于(<)、大于(>)、小于或等于(<=)、大于或等于(>=)、等于(==)以及不等于(!=)。等于和不等于适用于所有的基本数据类型,而其它比较符不适用与boolean类型。
逻辑操作符
逻辑操作符“与”(&&)、“或”(||)、“非”(!)能根据参数的逻辑关系,生成一个布尔值(true或false)。
*按位操作符
按位操作符用来操作证书基本数据类型中的单个“比特”(bit),即二进制位。按位操作符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果。按位操作符有“与”(&)、“或”(|)、“异或”(^)、“非”(~)。
*移位操作符
移位操作符操作的运算对象也是二进制的“位”。移位操作符只可用来处理整数类型(基本类型的一种)。移位操作符有左移位操作符(<<)、“有符号”右移位操作符(>>)以及“无符号”右移位操作符(>>>)。
三元操作符 if-else
三元操作符也称为条件操作符,它显得比较特别,因为它有三个操作符;但它确实属于操作符的一种,因为它最终也会生成一个值。其表达式采取如下形式:
注:<>内表示必选项(不包括尖括号本身)
<布尔表达式> ? <值1> : <值2>
如果<布尔表达式>的结果为true,就计算<值1>,而且这个计算结果也就是操作符最终产生的值。如果<布尔表达式>的结果为false,就计算<值2>,同样,它的结果也就成为了操作符最终产生的值。
类型转换操作符
要想执行类型转换,需要将希望得到的数据类型置于圆括号内,放在要进行类型转换的值的左边:
(<数据类型>)<要转换的值>
网友评论