算数运算符
符号 类型
+ 加
- 减
* 乘
/ 除
% 求余(取模)
- 当参与/ 运算的两个数都是整数,表示整数除法,否则表示浮点除法
- 整数除0将会抛出异常,浮点数除0将会得到无穷大或者NaN
数学函数
在Math类中,提供了各种各样的数学函数
例如
double x =4;
double y = Math.sqrt(x);
System.out.print(y);
- 需要注意的是,sqrt处理的不是对象,因此这样的方法叫做静态方法。
结合赋值与运算符
可以在赋值过程中使用二元运算符,这是一种简便的书写格式
比如
x += 1;
等价于
x = x+1;
- 一般来说,要把运算符放在等号的前面,如*= ,/=
如果运算符得到的值与等号左侧的值的类型不同,则会强制转化为左侧的值的类型
比如
int x;
x += 3.5;
//等价于x = (int)(x+3.5);
自增自减运算符
前缀形式
++n或者--n
后缀形式
n++或者n--
- 两种方式的结果都是+1,或者-1
- 区别是前缀会使用+1后的数值,后缀会使用原本的数值
- 建议不要在程序中使用++,这样会令人困惑,并且会产生让人烦恼的bug
关系和boolean运算符
符号 意义 实例
== 判断是否相等 3==7(结果是false)
!= 判断是否不等 3!=7(结果是true)
短路运算符
&& 两者都为真 3==7&&3==3(如果第一个是false就不会进行第二个判断)
|| 其中一个为真 3==7||3==3(如果第一个是true就不会进行第二个判断)
三元操作符
三元操作符 ?在java程序中很有用
3==3? x=1:x=2;
如果条件表达式为true则会执行表达式1,否则执行表达式2
例如
x<y?x:y
会返回其中较小的一个
位运算符
处理整数类型时,可以直接对整型数值的各个位进行操作,这意味着可以使用掩码技术得到整数中的各个位
位运算符
类型 意义
& and
| or
^ xor
~ not
>> 左移
<< 右移