运算符
来源:互联网 发布:fluke网络测试仪报价 编辑:程序博客网 时间:2024/05/22 16:00
运算符优先级
优先级
运算符
1
. [] ()
2
++ -- ~ ! (数据类型)
3
* / %
4
+ -
5
<< >> >>>
6
< > <= >==
7
== !=
8
&
9
^
10
|
11
&&
12
||
13
?:
14
= *= /= &= += -= <<= >>== >>>= &= ^= |=
算术运算符:
称作四则运算,Java中的算术运算符就是用来处理四则运算的符号 。
操作符
描述
例子
+
加法 - 相加运算符两侧的值
A + B 等于 30
-
减法 - 左操作数减去右操作数
A – B 等于 -10
*
乘法 - 相乘操作符两侧的值
A * B等于200
/
除法 - 左操作数除以右操作数
B / A等于2
%
取模 - 左操作数除以右操作数的余数
B%A等于0
++
自增: 操作数的值增加1
自增前:
范例:a=2; b=++a;
结果:a=3,b=3
先进行自增再进行其它运算
自增后:
范例:a=2; b=a++;
结果:a=3,b=2
先进行其它运算再进行自增
B++ 或 ++B 等于 21
--
自减: 操作数的值减少1
自减前:
范例:a=2; b=--a;
结果:a=1,b=1
先进行自减再进行其它运算
自减后:
范例:a=2; b=a--;
结果:a=1,b=2
先进行其它运算再进行自减
B-- 或 --B 等于 19
赋值运算符:
赋值运算符的作用就是将常量、变量或表达式的值赋给某一个变量。
操作符
描述
例子
=
简单的赋值运算符,将右操作数的值赋给左侧操作数
C = A + B将把A + B得到的值赋给C
+ =
加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数
C + = A等价于C = C + A
- =
减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数
C - = A等价于C = C - A
* =
乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数
C * = A等价于C = C * A
/ =
除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数
C / = A等价于C = C / A
(%)=
取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数
C%= A等价于C = C%A
比较运算符:
比较运算用于对两个数值或变量进行比较。其结果是一个布尔值。
操作符
描述
例子
==
检查如果两个操作数的值是否相等,如果相等则条件为真。
(A == B)为假(非真)。
!=
检查如果两个操作数的值是否相等,如果值不相等则条件为真。
(A != B) 为真。
>
检查左操作数的值是否大于右操作数的值,如果是那么条件为真。
(A> B)非真。
<
检查左操作数的值是否小于右操作数的值,如果是那么条件为真。
(A <B)为真。
> =
检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。
(A> = B)为假。
<=
检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。
(A <= B)为真。
逻辑运算符:
逻辑运算符用于对布尔型的数据进行操作。其结果是布尔型数据。
操作符
运算
范围
结果
描述
&
与
true & true
true & false
false& false
false& true
true
false
false
false
两边都为true
结果为true,否则为false
|
或
true | true
true | false
false| false
false| true
true
true
false
true
有一边为true
结果为true
只有两边为false,结果为false
^
异或
true ^ true
true ^ false
false^ false
false^ true
false
true
false
true
两边相同时
结果为false,否则为true
!
非
! true
! false
false
true
非true即false
非false即true
&&
短路与
true && true
true && false
false&& false
false&& true
true
false
false
false
和&不同点:
左边为false时,右边不会进行运算
||
短路或
true || true
true || false
false|| false
false|| true
true
true
false
true
和|不同点:
左边为true时,右边不会进行运算
位运算符:
位运算符是针对二进制数的每一位进行运算的符号,它是专门针对数字0和1进行操作的。
运算符
运算
范例
结果
描述
&
按位与
0 & 0
0 & 1
1 & 1
1 & 0
0
0
1
0
如果两个二进制位都为1,则该位的结果为1,否则为0。
|
按位或
0 | 0
0 | 1
1 | 1
1 | 0
0
1
1
1
如果二进制位上有一个值为1,则该位的结果为1,否则为0
~
取反
~ 0
~ 1
1
0
只针对一个操作数进行操作,如果二进制位是0,则取反值为1
如果是1,则取反值为0
^
按位异或
0 ^ 0
0 ^ 1
1 ^ 1
1 ^ 0
0
1
0
1
是将参与运算的两个二进制数进行“异或”运算,如果二进制位相同 ,
则值为0,否则为1
<<
左移
00000010 << 2
10010011 << 2
00001000
01001100
将操作数所有二进制位向左移动一位。运算时,
右边的空位补0,左边移走的部分舍去。
>>
右移
01100010 >> 2
11100010 >> 2
00011000
11111000
将操作数所有二进制位向右移动一位。运算时,
左边的空位根据原数的符号位补0或者1(原来是负数就补1,是正数就补0.
>>>
无符号右移
01100010 >>> 2
11…11100010 >>> 2
00011000
0011…111000
将操作数所有二进制位向右移动一位。
运算时,左边的空位补0(不考虑原数正负)
- 运算和运算符
- 运算符
- ??运算符
- 运算符
- << 运算符
- 运算符
- 运算符
- 运算符
- 运算符
- 运算符
- 运算符
- 运算符
- ?? 运算符
- 运算符
- 运算符
- 运算符
- 运算符
- 运算符
- java 知识体系
- 第十一周作业
- 图形图表设计软件Edraw Max更新至v9.0,新增10000+符号和模板
- Eclipse常用设置
- Krypton控件组简介与使用
- 运算符
- 递归----汉诺塔问题
- 算法提高 11-1实现strcmp函数 java版
- HFSS 获取一个点上三维复数场的方法
- 【SpringMVC】Helloworld
- CentOS 6.x系统下安装telnet命令及使用
- weblogic在控制台中配置数据源
- 保存eclipse个人配置的几种方式
- 读书笔记1,安卓网络请求方式的整理