ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

2-3、运算符

2026/9/11 19:24:12 拓冰建站 浏览量
2-3、运算符

语雀原文链接

文章目录

    • 1、算术运算符
    • 2、关系运算符
    • 3、逻辑运算符
    • 4、赋值运算符
    • 5、移位运算符
    • 6、位运算符(二进制位进行运算)
    • 7、条件运算符:三目运算符
    • 8、运算符的优先级

1、算术运算符

  • +:加法
  • -:减法
  • *:乘法
  • /:除法取商
  • %:取余取模
  • ++:自增运算符
    • i++:先使用i的值,再对i做增1的操作
    • ++i:先对i做增1的操作,再使用i的值
  • –:自减运算符
    • i–:先使用i的值,再对i做减1的操作
    • –i:先对i做减1的操作,再使用i的值
  • 整型和浮点型的运算结果是浮点型
        int a = 6;int b = 4;System.out.println( a+b);//10System.out.println( a-b);//2System.out.println( a/b);//1System.out.println( a%b);//2System.out.println(a++);//6System.out.println(a);//7System.out.println(++a);//8// 整型和浮点型的结果是浮点型// 以下代码报错:从double转换到float可能会有损失float f = 6 * 1.0;
  • 代码例子
        int i=10;i++;System.out.println("i值是:"+i);//11int j=20;j++;System.out.println("j值是:"+j);//21int m=10;int n=m++;System.out.println("m值是:"+m);//11System.out.println("n值是:"+n);//10int x=10;int y=++x;System.out.println("x值是:"+x);//11System.out.println("y值是:"+y);//11

2、关系运算符

image.png

        int a = 10;int b = 5;boolean c = a==b;System.out.println(a==b);// falseSystem.out.println(a!=b);// trueSystem.out.println(a<b);// falseSystem.out.println(a>b);// trueSystem.out.println(a<=b);// falseSystem.out.println(a>=b);// true

3、逻辑运算符

  • &&:第一个为false,右边就不计算了,直接返回false ;
  • &:不管如何左右都计算
  • || :第一个为true 右边就不计算了,直接返回true;
  • | :不管如何左右都计算

4、赋值运算符

image.png

        int b = 4;b+=4;//b=b+4  ->8b-=4;//b=b-4  ->4b*=4;//b=b*4  ->16b/=4;//b=b/4  ->4b%=4;//b=b%4  ->0

5、移位运算符

  • <<:向左移位(a<<3左移3位,低位补0,扩大2^3倍)
  • :带符号向右移位(a>>3右移3位,高位补原符号位,缩小2^3倍)

  • :无符号向右移位(a>>>3右移3位,高位补0,缩小2^3倍)

        System.out.println(3 << 1);//6System.out.println(-3 << 1);//-6System.out.println(8 >> 1);//4System.out.println(-8 >> 1);//-4// 原码8 = 00000000 00000000 00000000 00001000// 反码 = 111111111 111111111 111111111 11110111// 补码 = 111111111 111111111 111111111 11111000// 无符号右移一位,高位补0 01111111 111111111 111111111 11111100 = 2147483644System.out.println(-8 >>> 1);//2147483644

image.png
image.png

6、位运算符(二进制位进行运算)

image.png

        int a = 0b11;int b = 0b01;int c = a&b;//0b01System.out.println(~a);//0

7、条件运算符:三目运算符

  • 表达式1?表达式2:表达式3
int aa = 25;
int bb = 44;int result = aa>bb?aa:bb;

8、运算符的优先级

  • 优先级比较复杂,直接加()解决优先级问题

image.png