JAVA里的运算符

基本运算符

  • 加 + eg:a+b

  • 减 - eg:a-b

  • 乘 * eg:a*b

  • 除 / eg:a/b

  • 取余 % eg: a%b ---- 最后得到的是余数

  • 赋值 = eg:a = b ---- 将b的值赋给a

    将=右边的值赋给左边

自增与自减

  • 自增 ++

    我们经常会在程序中看见 a++ 它其实就是 a = a + 1

    但其实一个变量自增有两种方式,a++ 与 ++a

    那他们之间有什么区别呢?

    int a = 1 ;
    int i = a ++;
    System.out.println(i);
    //此时会输出 i = 1
    问题来了 ++ 跑到哪里去了?
    System.out.println(a);
    //此时会输出 a = 2
    原来他在将a的值赋值给i以后才对a进行了++的操作
        
    这么说来,++ a 岂不是先++后赋值啰?
    int a = 1;
    int i = ++ a;
    System.out.println(i)
    //此时会输出i = 2 

    这就是 a++ 与 ++a的区别

  • 自减 --

    与自加相似,自减 a -- 表示 a = a-1

    其也存在 a -- 与 --a 的两种写法,这里就不啰嗦了

关系运算符

  • 大于 >

  • 小于 <

  • 等于 ==

  • 大于等于 >=

  • 小于等于 <=

  • 不等于 !=

逻辑运算符

  • 与 &&

    a && b --- a 与 b全为真则真,否则就为假

    短路运算:计算符号左边为假以后就不计算右边了

    eg: a && b 中,a若为假,计算机便不会去判断b是否为假了

  • 或 ||

    a || b --- a||b一个为真便为真,全部为假才为假

  • 非 !

    ! a --- a为真,便为假;a为假,便为真

Math工具类里的一些运算符:

  • pow() --- 幂

    eg: double a = Math.pow(2,3) = 2^3 = 8.0

  • abs() --- 绝对值

    eg: int a = Math.abs(-13) = 13

还有老多老多了,我这里就不举例了

位运算

  • &   /   ^   ~

位运算是针对二进制数进行的运算(A与B就是用二进制在表示)
A = 0011 1100
B = 0000 1101
A&B = 0000 1100 ----A与B同时为1则为1
A/B = 0011 1101 ----A与B同时为0则为0
A^B = 0011 0001 ----A与B相同为0不同为1
~B = 1111 0010 ----每一位都取反
  • << 与 >> (左移符号 与 右移符号)

    A = 0000 0010  ----十进制为2
    A<<3
    就是将1向左移动三位
    A = 0001 0000
    此时A用二进制表示为16
    A>>2
    A = 0000 0100

三元运算符

x ? y : z
例子:
int grade = 10
String level = grade<60 ? "及格" : "不及格"
先做grade<60的判断
判断为真,则将:左边的值赋给level
判断为假,则将:右边的值赋给level    

字符串连接符

int a = 10 ;
int b = 12 ;
System.out.println(""+ a + b);//输出1012
System.out.println(a+b);//输出22

当输出中带有字符串时,计算机就将 + 看做连接符号

tip: "" 就是我说的字符串

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值