Java运算符

算术运算符

区别:

  • int a = 10
    System.out.println(++a);//11
    System.out.println(a);//11

  • int b = 10
    System.out.println(b++);//10
    System.out.println(b);//11
    注:在(C:\Program Files\Java\jdk1.8.0_60\jre\lib)中的rt.jar压缩包中的(rt.jar\java\io)的(PrintStream.class)文件中有具体细节。

关系运算符

">" 大于
">=" 大于等于
"<" 小于
"<=" 小于等于
"==" 等于
"!=" 不等于
关系运算符的运算结果一定是布尔类型:true/false

逻辑运算符

逻辑与和短路与

  • 逻辑与
    int x = 10
    int y = 8
    System.out.println(x < y & ++x < y);
    System.out.println(x);//11
  • 短路与
    int x = 10
    int y = 8
    System.out.println(x < y && ++x < y);//++x < y没有被执行
    System.out.println(x);//10
    (某些方面来看,短路与更加智能,由于后面的表达式可能不执行,所以执行效率较高。实际开发中更常用)
    (但是在某些特殊业务中,要求两边式子全部执行,这时要用逻辑与)
    //x < y 结果是false,整个表达式结果已经确定是false,所以后面的表达式没有再执行,这种现象被称为短路现象。
    //短路与才会有短路现象,逻辑与不会存在短路现象。
  • 什么情况下会发生短路或?
    第一个表达式执行结果是true,会发生短路或。
  • 什么情况下会发生短路与?
    第一个表达式执行结果是false,会发生短路与。

赋值类运算符

  • 基本的赋值运算符:=
  • 扩展类的赋值运算符(+= -= *= /= %=)不改变运算结果类型,假设最初这个变量的类型是byte类型,无论怎么追加或追减,最终该变量的数据类型还是byte类型。

    byte i = 10;
    i += 5;//等同于:i = (byte)(i + 5)

    int k = 10;
    k += 5;//等同于:k = (int)(k + 5)

    long x = 10L;
    int y = 20;
    y += x;//等同于:y = (int)(x + 5)

字符串连接算术运算符

  • +运算符在Java中的两个作用:
    ①加法运算(求和):数字+数字--->【求和】
    ②字符串的连接:数字+“字符串”--->“字符串”【字符串连接】
    注:在一个表达式当中可以出现多个“+”,在没有小括号的前提下,遵循自左向右的顺序进行依次运算。
    例:
    int a = 10;
    int b = 20;
    System.out.println(a + "+" + b + "=" + (a+b));//10+20=30

三元算术运算符

  • 语法规则:
    布尔表达式 ?表达式1:表达式2
  • 执行原理:
    当布尔表达式的结果是true的时候,选择表达式1作为整个表达式的执行结果。
    当布尔表达式的结果是false的时候,选择表达式2作为整个表达式的执行结果。
    例①:
    boolean sex = true;
    char a = sex ? '男' : '女'; //不能加双引号(“”)
    System.out.println(a); //男
    例②
    boolean sex = true;
    System.out.println(sex ? '男' : "女"); //输出男,因为print里面可以放字符串也可以放字符。
    例③
    boolean sex = true;
    String s = sex ? "男的" : "女的";
    System.out.println(s); //男的
posted @ 2020-04-04 16:55  YU_UY  阅读(191)  评论(0编辑  收藏  举报