第一章 语言基础
1.2 运算符
算数运算符
+,-,*,/,++,–,%
%为取余数(求模)运算
关系运算符
> ,>= ,<,<=,==,!=
注意:不能做浮点数之间的 “==” 比较,应为浮点数在表达上有误差,也就是说浮点数在计算机中的计算是有一定误差的,所以浮点数之间的“==”是没有意义的。
逻辑运算符
运算符 | 功能 | 示例 | 规则 |
---|---|---|---|
& | 逻辑与 | a&b | 两真为真 |
| | 逻辑或 | a|b | 两假为假 |
! | 取反(逻辑非) | !a | 取反 |
^ | 异或 | a^b | 两个值不同则为真,否则为假 |
&& | 简介与 | a&&b | |
|| | 简洁或 | a||b |
& 和 | 是必须把左右两个表达式都判断完了猜返回结果,而&& 和 || 是可能只用判断左边的表达式
即是对于 &&,只要左边的表达式为假,则直接返回false。
对于||,只有左边表达式为true,则直接返回true。
位运算符
运算符 | 功能 | 示例 | 规则 |
---|---|---|---|
~ | 按位取反 | ~a | 将a按位取反 |
& | 按位与 | a&b | a和b按照比特位与 |
| | 按位或 | a|b | a和b按位或 |
^ | 按位异或 | a^b | 将a和b按位异或 |
>> | 右移 | a>>b | 把a各比特位右移b位 |
<< | 左移 | a<<b | 把a各比特位左移b位 |
>>> | 0填充右移 | a>>>b | 把a各比特位向右移b位,左边空位一律填0 |
赋值运算符
+=,-=,%=一类
条件运算符
语法格式:
表达式1?表达式2:表达式3
表达式1是一个结果位布尔值的逻辑表达式,如果表达式1为真,则执行表达式2,否则执行表达式3。
字符串运算符
用于完成字符串连接工作,如果有必要,系统将自动把操作数转化为String
例1:
System.out.println("I am"+" "+"a student.")
结果如下:
例2:
int age = 20;
System.out.println("I am a happy "+age+" years old man.");
结果如下:
Integer的age变量被自动转换为String类型了。
表达式和运算符优先级
百度或谷歌,不过可以用 (表达式) 显示的表明某个表达式优先计算。