Java基础--常见运算符

本文详细介绍了Java中的常见运算符,包括算术、比较、逻辑、自加自减、赋值、三目和位运算符。强调了运算符的使用规则和优先级,特别是自加自减运算符的差异以及位运算符的实现原理。同时,提醒读者在使用逻辑运算符时考虑效率,推荐使用双与(&&)和双或(||)。文章结尾鼓励读者通过练习来熟练掌握这些运算符。
摘要由CSDN通过智能技术生成

Java基础----常见运算符


前言

   了解运算符并能熟练使用

一、常见运算符有哪些?

1.算术运算符: + - * / % 

2.比较运算符:< ;  > ;  = ;  <=  ;  >=; !=;  ==  (它们的输出结果为boolean型)

3.逻辑运算符:与  && &        // 表示的是并且关系,全部为真则为真,否则假                                                 非  ||   |            // 表示或者的关系,只要一者为真则为真,全部为假才为假

                        或  !                 // 否定,取反

4.自加和自减运算符:a++, ++a, a--,--a

5.赋值运算符:=        // 将等号右侧的值赋给左侧的变量
    +=        // a += 10   <===>  a = a + 10
    -=
    *=
    /=
    %=

6.三目运算符:
    表达式 ? 值1: 值2
    int a = 10;
    int b = 20;
    int c = a > b ? 100 : 200;  // 如果a>b则输出100;如果b>a则输出200;

7.位运算符

位运算的实际原理是基于计算机底层二进制数的运算,一般有这几种。其中与、或、异或的运算结果为布尔类型,即ture和false

  1. &与运算符 都为真,才为真
  2. |或运算符 一者为真,就为真
  3. ^异或运算符 两命题相反,则为真
  4. ~按位取反符
  5. a << n左移运算符
  6. >>有符号右移运算符
  7. >>>无符号右移运算符

二、注意事项

1. 算术运算符中

  1. / 整除——结果就只保留商,例如10/3=3
  2. % 取余——结果就只保留余数,例如10/3=1

2.比较运算符

1.值得注意的是不等于(!=)和等于(==)是计算机中特有的 注意与赋值符号(=)区分。

3.逻辑运算符

用&和|也可以达到同样的效果,这是正确的。但是在执行同时对多个条件的判断时,若双与(&&)或双或(||)已经判断出整条命题的结果后会直接跳过后半部分命题的判断从而节省资源,使程序的运行速度更快,所以更在实际应用中推荐大家使用双与(&&)和双或(||)。

4.自加自减符

a++和a--

这两个语句是和a=a+1和a=a-1是相同的含义,不过在循环中是先加再赋值,这点非常重要,也就代表了“先”加加格式是高优先级自加运算符

++a和--a

这两个语句在平时是和a=a+1和a=a-1是相同的含义,不过在循环中是先赋值再加,这点非常重要,也就代表了“后”加加格式是低优先级自加运算符

*前加加的优先级别非常高,仅次于括号
 后加加的优先级别非常非常低,甚至比赋值符都低*

5.赋值运算符

赋值运算的六个符号是有相同规律的,都是先运算再赋值。

=
将等号右侧的值赋给左侧的变量

+=
a += 10 <===> a = a + 10

-=
a -= 10 <===> a = a - 10

*=
a *= 10 <===> a = a * 10

/=
a /= 10 <===> a = a / 10

&=
a &= 10 <===> a = a & 10


6.位运算符

  1. &与运算符 都为真,才为真
  2. |或运算符 一者为真,就为真
  3. ^异或运算符 两命题相反,则为真
  4. ~按位取反符

按位取反就是把值的补码取反后再转成原码输出,例如:
对6取反(~6)
6的原码 0000 0110
6的反码 0000 0110
6的补码 0000 0110
计算机只能对补码操作,那么对6取反(~6),实际操作的是补码,每位取反
6的补码全部取反 1111 1001 (得到的这个数是最高为代表负数)
补码–>反码 -1 1111 1000
反码–>原码 取反 1000 0111
故~6=-7

     5.a << n左移运算符
将数(a)的二进制原码左移n位,如a=2
0000 0010 —>0000 1000
运算结束后a=8

    6.>>有符号右移运算符
将数的二进制原码向右移的同时,舍弃右边的数字,并保留符号位补0,例如a = -5:
1000 0101 >> 1000 0001
运算结束后a=-1

    7.>>>无符号右移运算符
将数的二进制原码向右移的同时,舍弃右边的数字,其他全补0,例如a = -5:
1000 0101 >> 0000 0001
运算结束后a=1
 


总结

   java中运算符不仅于此,还有很多未曾谈及的运算符和各种细节,熟练使用这些运算符的前提是了解个中涵义,加上大量练习。路漫漫其修远兮,吾将上下而求索!诸君加油

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值