java基础之运算符
来源:互联网 发布:淘宝客营销案例 编辑:程序博客网 时间:2024/06/05 11:47
算术运算符
+ - * / % ++ - -加减乘除取余自加自减
这里说一下除法运算:如果两个数都是整数,计算结果也是整数,不能够整除进行四舍,不进行五入;如果两个数有一个是浮点数,得到的结果是自然除法,除数可以为0或0.0,结果是无穷大或无穷小
float f= 2.1f; int g=6; System.out.println(g/f); System.out.println(f/0);
得到的结果是
2.857143
Infinity
取余运算,就是求余数,得到的结果不一定都是整数。若两个数都是整数,除数不能为零,否则会出现异常,如果两个数中有一个数浮点数,怎除数可以为0 ,得到的结果是非数-NaN
System.out.println(5 % 0.0);//得到的结果:NaN System.out.println(-5.0 % 0);//得到的结果:NaN System.out.println(0 % 5.0);//得到的结果:0.0 System.out.println(0 % 0.0);//得到的结果:NaN System.out.println(-5 % 0);//得到的结果:出现异常,Exception in thread "main" java.lang.ArithmeticException: / by zero
++自加 - -自减 a++,++a,b- -,- -b,当自加自减在操作数左边时表示先加1再赋值,在右边时,先赋值再加1
int a= 5; int b=a++ +6; System.out.println(b);//结果:11 int c = ++a +6; System.out.println(c);//结果:13
赋值运算符
= ,可以直接将数值赋给变量,也可以将表达式的值赋给变量
位运算符 一般来说位运算符只能操作整数类型的变量,对变量的二进制进行操作。
& 按位与
| 按位或
~ 按位‘非’
^ 按位异或
<< 左移
>> 右移
>>> 无符号右移
这里盗的几张图说的比较清楚,有兴趣的朋友可以看看《疯狂java讲义》这本书。
位移运算是对二进制数进行运算,一般对于位数,变量类型需要注意:
byte short char类型的数需要先自动转化为int类型再进行运算
int类型是32位的数,超过32,会对这个数取余在进行运算,所以a>>32=a,a>>33=a>>1
long类型是64,和int类型一样遵循这个规则
比较运算符
>
>=
<
<=
以上都只支持数值类型的比较
\==,数据类型即使不相同,数值类型相同返回true,若是引用类型且为父子关系,则必须都指向同一个对象才返回true
!=
扩展后的运算符 赋值运算符和算术运算符和位运算结合
+= 对于x+=y 就等于 x=x+y
-=
*=
/=
%=
&=
|=
^=
<<=
>>=
>>>=
逻辑运算符
&& 与 短路,两边为true 返回true
& 与 不短路,
|| 或 短路,有一个是true,返回true
| 或 不短路
! 非 只需要一个操作数,若为true返回false,反之
^ 亦或,两个不同返回true,不同返回false
三目运算符
(expression) ? if-true-statement : if-false-statement
运算符优先级
- java基础之运算符
- JAVA基础之运算符
- java基础之运算符
- Java基础之运算符
- java基础之运算符
- java基础之运算符
- Java基础之运算符
- Java基础之运算符
- java基础之运算符
- Java基础之运算符
- Java基础之Java运算符大百科
- JAVA基础之流程控制 运算符
- Java 7之基础 - 常见运算符
- java基础之 赋值运算符
- java基础之运算符表达式,语句
- JAVA语法基础之运算符
- JAVA基础之三:运算操作符
- java基础之,位运算符>>
- unity中全息投影带贴图shader
- java常用类--日期和时间
- 【机器学习】归一化
- Java入门学习(一)
- 安卓打包遇到的问题
- java基础之运算符
- LintCode245子树
- Unity Shader 学习笔记(15) 立方体纹理、反射、折射、菲涅尔反射
- 整理几篇关于g2o的博客
- DeepDive学习
- Linux系统介绍--综述
- php下载文件
- Recurrences UVA
- SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: