您的位置:首页 > 编程语言 > Java开发

JAVA_JAVA中的运算符

2017-06-06 12:52 113 查看
JAVA语言中包含多种运算符,可以分为以下几类:
1.算术运算符:

1): +(加) 如:2 + 5

       2): -(减) 如:7 - 5

3): *(乘)
如:3 * 6

4): /(除) 如:2 / 5

5): %(求模) 如:5
% 2

其中,减法运算符可以用来对单个数进行求反,如 -2表明为负数2

加法运算符还用来进行字符串的连接,表明正数.

在使用除法时,要注意操作数的类型,如果将整型变量用于除法,则最后的结果会向下取整,因为int类型不能处理浮点数.

如果想通过两个整形数的除法运算得到浮点数,可以在算式的后面加 *1.0如 2 / 5 * 1.0 就得到了2除5的结果的小数形式.

注意:%求模运算的操作数必须为整形!!!

在进行算术运算的时候,要注意必须使操作数的类型与所需结果的类型相同.

2.赋值运算符:

1): =(赋值) 如: a = 9

2): +=(将符号左边变量对应的值与右边的值相加后重新赋值给左边的变量) 如: a
+= 3

3): -=
(将符号左边变量对应的值与右边的值相减后重新赋值给左边的变量) 如:
a -= 2

4): *=
(将符号左边变量对应的值与右边的值相乘后重新赋值给左边的变量) 如:
a *= 4

5): /= (将符号左边变量对应的值与右边的值相除后重新赋值给左边的变量) 如: a /= 4

可以利用赋值运算符同时给变量进行赋值如: a = b = c = 7;这样就可以同时给a,b,c三个变量进行赋值.

如果要计算x = x + 2,即可以表示为 x += 2,同理可计算其他的运算.

3.递增和递减运算符

1): ++(自增1) 如: a++ 或 ++a

2): --(自减1) 如: a-- 或 --a

在单独使用 ++ 或 -- 运算符时,它们所起到的作用不会随着所处的位置发生变化

例:

int a = 5; // 定义了一个值为5的整形变量

a ++; // a自增1 执行完此行代码后 a等于6

++ a: // a自增1 执行完此行代码后 a等于7

a --; // a自减1 执行完此行代码后 a等于6

-- a; //a自减1 执行完此行代码后 a等于5

这里要注意自增或自减运算符会随位置的不同而产生不同的结果.

例:

int a = 5, b , c; // 定义了一个值为5的整形变量

b = a++;
// 此处先将a赋值给b之后,a再进行自增,所以执行完此行代码,b等于5,a等于6

c = ++a;
// 此处先将a自增了之后再赋值给c,所以执行完此行代码,c等于6,a等于7

b = a--;
// 此处先将a赋值给b之后,a再进行自减,所以执行完此行代码,b等于7,a等于6

c = --a;
// 此处先将a自减了之后再赋值给c,所以执行完此行代码,c等于5,a等于5

c = (--a) + (b++) + (++a) + (b--);  // 此处利用变量跟踪的方法来进行分析 初始值 a 等于 5 , b 等于 7

//在执行完(--a)后 , a 等于 4 , b 等于 7 , 此式的值为 4

// 在执行完(--a) + (b++)后 , a 等于 4 , b 等于 7此式的值为 11,并在最终运行完此行代码后 b 会自增1.

// 在执行完(--a) + (b++) + (++a)后 , a 等于 5 , b 等于 7 , 此式的值为 16

// 在执行完(--a) + (b++) + (++a) + (b--)后, a 等于 5 , b 等于 7 此式的值为23,并在最终运行完此行代码后 b 会自减1.

// 所以最终执行完整个语句之后 c 等于 23 , a的值为 5 , b的值为 7.

4.比较运算符:

1):
==(相等) 如:
x == 3

2):
!=(不相等) 如: x != 4

3):
< (小于) 如:
7 > x

4):
> (大于) 如:
x < 8

5):
<= (小于) 如: 等于
x <= 3

6): >= (大于等于) 如:
x >= 3

这些运算符可以用来表示结果是真(true)或者(false),即可以用于返回布尔值的表达式,来表明比较的结果是真还是假.

注意:
== 的意思是等于,而 = 的意思是赋值,应加以区分

5.逻辑运算符:

1): &(与)
如: a & b

2): && (逻辑与) 如:
a && b

3): | (或) 如:
a | b

4): || (逻辑或) 如:
a || b

5): ^ (异或) 如: a ^ b

6): !
(非) 如: !a

对于 & 符号 如: a & b 只有当a 与 b 的值同时为true时 结果才为 true,同理对于a | b,当 a 或者 b中有一个为true时,结果就为 true.

无论是&还是|符号,都是会对符号两边的表达式依次判断之后才产生结果.

对于 && 符号 如: a && b 当 a 为 false时, 会跳过对b的判断,并直接输出false,同理对于a || b,当a为true时会跳过对b的判断,结果为true.

对于 ^ 符号 如 a ^ b 会对 a 与 b 对应的补码对应位的数值进行异或运算,相同为0,相异为1,并将最终的结果所对应的数返回

6.位运算符符:

1): << (左移) 如: 3 << 2 == 12即为
3*2*2 ==12

2): >> (右移) 如:
3 >> 1 == 1  即为 3/2==1

3): >>(无符号右移) 如: 3 >>> 1
== 1即为 3/2 ==1

4): & (与运算) 如: 6 & 3 == 2

5): |
(或运算) 如: 6 | 3 == 7

6): ^
(异或运算) 如: 6 ^ 3
== 5

7): ~ (反码) 如: ~6 == -7

对于 << 运算符,空位补0,被移除的高位丢弃

对于 >> 运算符,被移位的二进制最高位是0,右移后,空缺位补0,最高位是1,最高位补1.

对于 >>> 运算符,被移位二进制最高位无论是0或者是1,空缺位都用0补.

对于 & 运算符,任何二进制位和0进行&运算,结果是0,和1进行&运算结果是原值

对于 | 运算符,任何二进制位和0进行 | 运算,结果是原值,和1进行 | 运算结果是1

对于 ^ 运算符,任何相同二进制位进行 ^ 运算,结果是0,不相同二进制位 ^ 运算结果是1.

7.三目运算符:

公式: (关系表达式)  
?   表达式1 表达式2

首先对关系表达式来判别是否为true,如果为true 则执行表达式1,如果为false 则执行表达式2.

例:

int a = 3;

(a > 4) ? a = 4 : a = 5; // 这里会对a > 4 进行比较, 因为a == 3 所以关系不成立,为false,会执行 a = 5,最终的运行结果为 a == 5.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java