Java运算符

运算符

Java语言支持如下运算符:

  • 算术运算符:+,-,*,/,%,++,--
  • 赋值运算符 =
  • 关系运算符:>,<,>=,<=,==,!= instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<,>>>(了解即可)
  • 条件运算符 ? :
  • 扩展赋值运算符:+=,-=,*=,/=
package operator;

public class Demo01 {
    public static void main(String[] args) {
        // 二元运算符
        // ctrl + d 复制当前行
        int a = 10;
        int b = 20;
        int c = 25;
        int d = 25;

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/b);// 0
        System.out.println(a/(double)b);// 0.5
    }
}
package operator;

public class Demo02 {
    public static void main(String[] args) {
        long a = 123123123123123123L;
        int b = 123;
        short c = 10;
        byte d = 0;

        System.out.println(a+b+c+d);// long
        System.out.println(b+c+d);// int
        System.out.println(c+d);// int
        System.out.println((double)c+d);// double
//        System.out.println((String)(c+d));
    }
}
package operator;

public class Demo03 {
    public static void main(String[] args) {
        // 关系运算符返回的结果:正确/错误 布尔值
        // if

        int a = 10;
        int b = 20;
        int c = 21;

        // 取余:模运算
        System.out.println(c%a);// c/a  21/10 = 2 ... 1

        System.out.println(a>b);// false
        System.out.println(a<b);// true
        System.out.println(a==b);// false
        System.out.println(a!=b);// true
    }
}
package operator;

public class Demo04 {
    public static void main(String[] args) {
        // ++  --  自增,自减  一元运算符
        int a = 3;
        int b = a++;// a++   a = a + 1  先赋值,再加1
        // a = a + 1;
        System.out.println(a);// 4

        int c = ++a;// ++a   a = a + 1  先加1,再赋值

        System.out.println(a);// 5
        System.out.println(a);// 5
        System.out.println(b);// 3
        System.out.println(b);// 3
        System.out.println(c);// 5
        System.out.println(c);// 5

        for (int i = 0; i < 10; i++) {
            a++;
        }

        // 幂运算 2^3 2*2*2 = 8 很多运算,我们会使用一些工具类来操作!
        double pow = Math.pow(2, 3);
        System.out.println(pow);
    }
}
package operator;

// 逻辑运算符
public class Demo05 {
    public static void main(String[] args) {
        // 与(and) 或(or) 非(取反)
        boolean a = true;
        boolean b = false;
        System.out.println(a&&b);// false 逻辑与运算:两个变量都为真,结果才为true
        System.out.println(a||b);// true 逻辑或运算:两个变量有一个为真,结果才为true
        System.out.println(!a);// false 逻辑非运算:取反 如果是真的,则返回false;如果是假的,则返回true
        System.out.println(!b);// true
        System.out.println(!(a&&b));// true

        // 短路运算
        int c = 5;
        boolean d = (c < 4) && (c++ < 4);
        System.out.println(d);
        System.out.println(c);
    }
}
package operator;

public class Demo06 {
    public static void main(String[] args) {
        /*
        A = 0011 1100
        B = 0000 1101
        --------------------------
        A & B = 0000 1100
        A | B = 0011 1101
        A ^ B = 0011 0001 异或
        ~B = 1111 0010 取反

        2 * 8 = 2 * 2 * 2
        效率极高
        <<   *2
        >>   /2

        0000 0000    0
        0000 0001    1
        0000 0010    2
        0000 0011    3
        0000 0100    4
        ...
        0000 1000    8
        0001 0000    16
         */

        System.out.println(2<<3);
    }
}
package operator;

public class Demo07 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

        a += b;// a = a + b
        a -= b;// a = a - b

        System.out.println(a);

        // 字符串连接符   +   , String 字符串拼接
        System.out.println(a+b);
        System.out.println(""+a+b);
        System.out.println(a+""+b);
        System.out.println(a+b+"");
    }
}
package operator;

// 三元运算符
public class Demo08 {
    public static void main(String[] args) {
        // x ? y : z
        // 如果x为true,则返回y,否则返回z

        int score = 80;
        String type = score < 60 ? "不及格" : "及格";// 必须掌握
        // if
        System.out.println(type);
    }
}
posted @ 2026-01-29 15:02  弋湖  阅读(4)  评论(0)    收藏  举报