Java--运算符

一、Java中运算符可分为以下:

算术运算符(+ – * /)、关系运算符(< > ==)、逻辑运算符、位运算符、移位运算符以及条件运算符等

二、%的用法 求余数

public static void main(String[] args) {
    System.out.println(10%3);    //1
    System.out.println(10%-3);    //1
    System.out.println(-10%3);    //-1
    System.out.println(-10%-3);    //-1

      System.out.println(11.5%2.0);   //1.5
}

三、增量运算符

+=、-=、/=、%=;

public static void main(String[] args) {
    short a = 1;
    a = (short)(a + 1);
    //效果相等
    a += 1;     //相当于帮a进行了一个强转
    
}
public static void main(String[] args) {
    int a = 1;
    int b = a++;    //这里就是 b = a 然后a = a + 1;  b = 1
    //int b = ++a;  这里就是 a = a + 1 然后 b = a     b = 2
    
    System.out.println("a:"+a);
    System.out.println("b:"+b);
}

四、关系运算符

public static void main(String[] args) {
    /**
     * 关系运算符
     */
    int a = 1;
    int b = 2;


    System.out.println(a == b);
    System.out.println(a < b);
    System.out.println(a <= b);
    System.out.println(a > b);
    System.out.println(a >= b);
    System.out.println(a != b);
    //关系运算符的计算结果只有 true 或者 false
    //黄色的代表idea给你的警告,但不是所有警告都是正确的,你得学会自己判断;


}
>>>: 无符号右移;
>> : 右移;
两者区别:都是正数时没区别,但是如果为负数,>>右移后还是负数,但>>>右移后为正数;

<< : 左移;

还有:>>>=,>>=,<<=  都是先移动再赋值的意思;
不存在无符号左移;

五、其他运算符

//  ^  异或运算符

相同的异或后==0
0和其他非0数字异或后==该非0数字
例:0 ^ 3 == 3
       9 ^ 9 == 0