Java基础——运算符

文章目录

四则运算

  • 加:+
  • 减:-
  • 乘:*
  • 整除:/
  • 取模:%

x += 4等于x = x+4,同样x /= 4 等于x = x/4

i ++++i等于i = i+1,只不过i++如果和其他操作结合,那么i会在操作结束后才加1,而++i则会在操作之前就加1。比如

int i = 1;
System.out.println(++i);

布尔运算

仅限于基本数据类型,如果满足就返回true,否则返回false

  • 等:x == y
  • 不等:x != y
  • 小于:x < y
  • 大于:x > y

符号为&&&,表示如果前后两个布尔运算的结果都为true,那么整个语句的结果就为true,如果其中一个为false,那么那么整个语句的结果就为false。比如下面r1就是true,r2就是false。

        int a = 1;
        int b = 1;
        boolean r1 = a == b && a == 1;
        boolean r2 = a == b && a == 3;

&&&都可以使用,二者区别是先运算&&先计算左边的表达式,一旦为false,后续不管多少表达式,均不再计算,又被称为短路逻辑与,而&还会继续计算,因此一般用&&,性能更高。

符号为|||,表示如果前后两个布尔运算的结果都为false,那么整个语句的结果就为false,如果其中一个为true,那么那么整个语句的结果就为true。比如下面r1就是true,r2就是false。

        int a = 1;
        int b = 1;
        boolean r1 = a == b || a == 3;
        boolean r2 = a != b || a == 3;

|||都可以使用,二者区别是先运算||先计算左边的表达式,一旦为true,后续不管多少表达式,均不再计算,而|还会继续计算,因此一般用||,性能更高。

位运算

Java还提供一种运算符,可以进行位运算,即转换为二进制进行运算,称为位运算符(Bitwise Operators),比如6在位运算中就是被看成“110”。这样做的效率很高,比如除2或乘2就可以直接进行位运算,速度会大大提升。

位移运算

  • <<k:左移k位,相当于十进制乘2^k;
  • >>k:右移k位,相当于十进制除以2^k;
  • >>>k:无符号左移k位,正数没有影响,负数要注意,因为二进制负数的最高位为1;

异或运算
运算符为&,每一位只有在两个数字这一位的数字不同的情况下,运算结果才为1。比如6&2,就是
110
010
——
100

这也意味着相等的两个数字的异或运算结果为0。
与运算
运算符为&,每一位只有在两个数字这一位的数字都为1的情况下,运算结果才为1。比如6 ^&2,就是
110
010
——
010
这也意味着相等的两个数字的与运算结果为这个数字自己。

或运算
运算符为|运算,每一位只要两个数字这一位的数字一个为1,运算结果就为1。比如6 | 2,就是
110
010
——
110

上一篇:ARC 100


下一篇:matplotlib直方图(hist、bins、组距、组数)