kuangshenshuo-基础-Java运算符

Java 运算符

1. 算术运算符

  • +, -, *, /, %, ++, - -

  • %:取余,也叫模运算

        long a = 123123123123123L;
        int b = 123;
        short c = 10;
        byte d = 8;

        //如果有一个数是long/double,那结果一定是long/double
        System.out.println(a+b+c+d); //123123123123264 long
        System.out.println(b+c+d);   //141 int
        System.out.println(c+d);     //18 int
  • ++ 和 - - :放在变量后面(先赋值,再自增);放在前面(先自增,再赋值)。
        int a = 3;

        int b = a++;  //执行完这行代码后,先给b赋值,再自增
        //a = a + 1
        System.out.println(a);  //4
        //a = a + 1
        int c = ++a; //执行完这行代码前,先给a自增,再给c赋值

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

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

2. 赋值运算符

  • =

3. 关系运算符

  • >, <, >=, <=, ==, !=, Instanceof
  • 返回的结果是布尔值,即false/true。

4. 逻辑运算符

  • &&, ||, ! (与、或、非)
  • 短路运算
        boolean a = true;
        boolean b = false;

        System.out.println("a && b: " + (a && b));  //逻辑与运算,两个变量都为真,结果才为true
        System.out.println("a || b:" + (a || b));   //逻辑或运算,若有一个为真,则结果为true
        System.out.println("!(a && b):" + !(a && b)); //逻辑非运算,如果是真,则变为假,反之同理

        //短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(c); //不执行c++<4,因为c<4是false
        System.out.println(d);

5. 位运算符

  • &, |, ^, ~, >>, <<, >>>

  • &:相同为1,否则为0;

  • |:有一个是1则为1,否则为0;

  • ^ : 取反,相同为0,否则为1

  • ① << 左移 : *2

  • ② >>右移 :/2

    ​ A = 0011 1100
    ​ B = 0000 1101

    ​ A & B = 0000 1100
    ​ A | B = 0011 1101
    ​ A ^ B = 0011 0001 //取反 相同为0 否则为1
    ​ ~B = 1111 0010

    0000 0000 0
    0000 0001 1
    0000 0010 2
    0000 0011 3
    0000 0100 4
    0000 0101 5
    0000 0110 6
    0000 0111 7
    0000 1000 8
    0000 1001 9
    ···
    0001 0000 16

 		/*
 		2*8 = 16 怎么运算最快  2 * 2 * 2 * 2
        效率极高  <<  左移 *2   >>  右移 /2
         */
        System.out.println(2<<3); //16

6. 条件运算符

  • ? : (三元运算符)
  • x ? y : z 如果x == true, 则结果为y, 否则为z
  • if

7. 扩展赋值运算符

  • *+=, -=, =, /=
  • 偷懒运算符
        int a = 10;
        int b = 20;
        a += b; // a = a + b
        a -= b; // a = a - b
        System.out.println(a); //30

        //字符串连接符 + , 有一个是String类型,会把另一个也变成String类型
        System.out.println("" + a+b); // 1020
        System.out.println(a+b+ ""); //30

8. 优先级

  • ()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值