JavaSE-运算符

一、算术运算符

1、基本四则运算符

+   -   *   /   %

package p2;

/**
 * @author krystal
 * @date 2022/11/9 16:44
 */
public class Demo1 {
    public static void main(String[] args) {
        int a = 20;
        int b = 10;

        System.out.println(a + b);  //30
        System.out.println(a - b);  //10
        System.out.println(a * b);  //200
        System.out.println(a / b);  //2
        System.out.println(a % b);  //0
        
        int c = 5;
        int d = 2;
        System.out.println(c / d);  //2,结果向下取整
    }
}

做除法运算时,如果要得到数学中的结果,那就用double类型来接收

package p2;

/**
 * @author krystal
 * @date 2022/11/9 16:44
 */
public class Demo1 {
    public static void main(String[] args) {
        double e = 5;
        double f = 2;
        System.out.println(e / f);  //2.5,结果向下取整
    }
}

做除法和取模时,右操作数不能为0

%可以对整形除模,也可以对浮点数除模

package p2;

/**
 * @author krystal
 * @date 2022/11/9 17:07
 */
public class Demo2 {
    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
    }
}

两侧操作数类型不一致时,向类型大的提升 

2、增量运算符

+=   -=   *=   /=   %=

package p2;

/**
 * @author krystal
 * @date 2022/11/9 17:12
 */
public class Demo3 {
    public static void main(String[] args) {
        int a = 6;
        a += 2;  //a=a+2
        System.out.println(a);  //8

        a -= 1;  //a=a-1
        System.out.println(a);  //7

        a *= 3;  //a=a*3
        System.out.println(a);  //21

        a /= 2;  //a=a/2
        System.out.println(a);  //10
        
        a %= 4;  //a=a%4
        System.out.println(a);  //2
    }
}

只有变量才能使用该运算符,常量不能用

3、自增/自减运算符

++   --

a++/a--:先赋值,再自增或者自减

++a/--a:先自增或自减,再赋值

package p2;

/**
 * @author krystal
 * @date 2022/11/9 17:21
 */
public class Demo4 {
    public static void main(String[] args) {
        int a = 5;
        System.out.println(a++);  //5
        System.out.println(++a);  //7

        int b = 10;
        System.out.println(b--);  //10
        System.out.println(--b);  //8
    }
}

单独使用时,前置和后置没有区别

二、关系运算符

==   !=   <   >   <=   >=

package p2;

/**
 * @author krystal
 * @date 2022/11/9 17:51
 */
public class Demo5 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        System.out.println(a == b);  //false
        System.out.println(a != b);  //true
        System.out.println(a < b);  //true
        System.out.println(a > b);  //false
        System.out.println(a <= b);  //true
        System.out.println(a >= b);  //false
    }
}

进行多次判断时,不能连着写

三、逻辑运算符

&&  ||  !

运算结果是boolean类型

&&:逻辑与,全真为真,否则为假

||:逻辑或,至少有一位为真就为真,否则为假

!:真变假,假变真

package p2;

/**
 * @author krystal
 * @date 2022/11/9 17:58
 */
public class Demo6 {
    public static void main(String[] args) {
        System.out.println(true && true);  //true
        System.out.println(true && false);  //false
        System.out.println(false && false);  //false

        System.out.println(true || true);  //true
        System.out.println(true || false);  //true
        System.out.println(false || false);  //false

        System.out.println(!true);  //false
        System.out.println(!false);  //true
    }
}

四、位运算符

&  |   ~   ^

按二进制位运算

&:如果两个二进制位都是1,则结果为1,否则结果为0

        int a = 10;
        int b = 20;
        System.out.println(a & b);  //0

|:如果两个二进制位都是0,则结果为0,否则结果为1

        int a = 10;
        int b = 20;
        System.out.println(a | b);  //30

~:如果该位为0,则转为1,如果该位为1,则转为0

        int a = 0xf;
        System.out.printf("%x\n",~a);  //0

^:如果两个数的二进制位相同,则结果为0,相异则结果为1

        int a = 10;
        int b = 20;
        System.out.println(a ^ b);  //30

五、移位运算

<<:左移,最左侧位不要了,最右侧补0,相当于/2

>>:右移,最右侧位不要了,最左侧位补符号位,相当于*2

>>>:无符号右移,最右侧位不要了,最左侧位补0

六、条件运算符

表达式1?表达式2:表达式3

当表达式1的值为true时,整个表达式的值为表达式2的值;

当表达式1的值为false时,整个表达式的值为表达式3的值;

package p2;

/**
 * @author krystal
 * @date 2022/11/9 18:19
 */
public class Demo8 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int max=a > b?a : b;
        System.out.println(max);  //20
    }
}

七、运算符的优先级

运算符之间的优先级具体不用记忆,如果存在歧义,在可能存在歧义的代码加上括号即可。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值