考点:1
算术运算符和表达式
1.算术运算符
算术运算表达式由算术运算符和一个或者两个操作数组成。算术运算符分为一元和二元两种,表3-1给出了Java算术运算符。
表3-1 Java算术运算符
2.算术运算符的优先级
算术运算符的优先级顺序为:++和--运算,以及一元加、减的优先级别;其次是*、/和%运算;+和-的优先级最低。
3.2关系运算符和表达式
考点:2
关系运算符和表达式
关系运算表达式由两个操作数和关系运算符组成,实现两个操作数之间关系的比较,比较结果以布尔类型存储表3-2给出了Java关系运算符
3.3布尔运算符和表达式
考点:3
布尔运算符和表达式
1.布尔逻辑运算符
布尔运算表达式由关系表达式和布尔运算符组成,实现对关系表达式的值进行布尔逻辑运算,运算结果也是布尔型。表3-3给出了Java布尔逻辑运算符。
2.关系运算符和布尔逻辑运算符的优先级关系
!优先级,其次是>、>=、<、<=,再次是==和!=,然后是&&,优先级最低的是| |。编写程序的时候,使用括号可以改变优先级次序。
3.“短路”运算方式
对于&&和| |运算符,Java语言采用短路方式运算,基本原则如下。
(1)运算符&&左边的表达式值若为false,则不用计算右边的表达式的值,整个表达式值为false。
(2)运算符| |左边的表达式值若为true,则不用计算右边的表达式的值,整个表达式值为true。
3.4位运算符和表达式
考点:4
位运算符和表达式
1.位运算符
位运算表达式由操作数和位运算符组成,实现对整数类型的二进制数进行位运算。位运算符可以分为逻辑运算符(包括~、&、|和^)及移位运算符(包括>>、<<和>>>)。表3-4给出了Java位运算符。
在进行位运算时,需要注意以下几点。
(1)>>>和>>的区别是:在执行运算时,>>>运算符的操作数高位补0,而>>运算符的操作数高位移入原来高位的值。
(2)右移一位相当于除以2,左移一位(在不溢出的情况下)相当于乘以2;移位运算速度高于乘除运算。
(3)若进行位逻辑运算的两个操作数的数据长度不相同,则返回值应该是数据长度较长的数据类型。
(4)按位异或可以不使用临时变量完成两个值的交换,也可以使某个整型数的特定位的值翻转。
(5)按位与运算可以用来屏蔽特定的位,也可以用来取某个数型数中某些特定的位。
(6)按位或运算可以用来对某个整型数的特定位的值置l。
2.补码的概念
在Java语言中,二进制数使用补码表示,位为符号位,正数的符号位为0,负数为1。补码的表示需要满足如下要求。
(l)正数的位为0,其余各位代表数值本身(二进制数)。
(2)对于负数,通过对该数绝对值的补码按位取反,再对整个数加1。
3.位运算符的优先级
~的优先级,其次是<<、>>和>>>,再次是&,然后是^,优先级最低的是|。
3.5赋值运算符和表达式
考点:5
赋值运算符和表达式
赋值运算符由变量和表达式组成,一般格式是:
<变量><赋值运算符><表达式>
赋值运算符包括赋值运算符(=0)和扩展赋值运算符。表3-5给出了Java赋值运算符。
注意:如果在赋值运算符两侧的类型不一致时,若右侧变量类型的级别高,则需要进行强制类型转换。
3.6条件运算符和表达式
考点6:
条件运算符和表达式
条件表达式由3个操作数和“?”、“:”组成,一般形式是:
opl?opt:op3
其中op1是关系或者布尔逻辑表达式,该值若为真,则计算op2表达式的值,并作为整个表达式的结果;若为假,则计算op3表达式的值,并作为整个表达式的结果。