您的位置:首页 > 编程语言 > Java开发

Java语法2(运算符,运算符的优先级)

2020-04-22 09:45 369 查看

Java语法(运算符,运算符的优先级)

  • 运算符的优先级
  • 运算符

    运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等

    算数运算符


    注意

    • 字符串的加号是字符串的拼接。(+)还能把非字符串转换为字符串
      String str1 = "5+5"+"="+"55"; String str2 = "5+5="+5+5;

      str1和str2都是 5+5=55
    • 对于除号(/),它的整数除和小数除是有区别的:整数之间做除法,只保留整数部分,小数部分舍去。若想得到有小数的值,只需在除数或被除数后面乘以1.0
    • 如果对负数取模,可以把模数负号忽略不计,如: 5 % -2 = 1 。 但被模数是负号则补课忽略,如: -5 % 2 = -1 。取模运算的结果不一定总是整数。
    • i++的值为i+1之后的值,++i为i+1之前的值
    • 以下两者的区别
      System.out.println('A'+'B'+'C');/*charl类型数据是可以做数学运算的,在做数学运算时把字符转化为ASCII码进行计算*/
      System.out.println("A"+"B"+"C");/*字符串与其它数据类型相加时,实际上将其他数据转换为字符串,做字符串的拼接*/
      运行结果:
      198
      ABC

    赋值运算符

    符号:=

    • 当 = 两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。强制类型转换在之前的Java语法1中提到过。
    • 支持连续赋值

    扩展赋值运算符
    +=,-=,*=,/=,%=

    int i = 1;
    i += 2;//i = i + 2;
    i -= 3;//i = i - 3;
    String str = "he";
    str += "llo";//字符串的+=是字符串的拼接
    
    int a = 1;
    a *= 0.1;
    System.out.println(a);//0  变量在参与运算时,会把结果转换为当前变量的类型

    比较运算符(关系运算符)


    注意

    • 比较运算符的结果都是boolean型,要么是ture要么是false
    • 比较运算符“==”不能写成“=”

    逻辑运算符

    &——逻辑与
    | ——逻辑或
    !——逻辑非
    &&——短路与
    ||——短路或
    ^——逻辑异或

    注意

    • & 和 && 的区别

      单&时,左边无论真假,右边都进行运算
    • 双&&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算
  • | 和 || 的区别

      | 和 || 的区别同理,|| 表示当左边为真,右边不参与运算
  • 异或(^)与或(|)的不同之处

      当左右都为true时,结果为false。异或追求的是

    位运算符

    位运算符是直接对二进制进行运算

    • 左移(右移),小数点右(左)移。例(二进制,左右移2位):011. ->左移2位-> 01100. -> 右移2位-> 011.
    • &运算,同位&运算时,都是1结果为1,其他情况都是0
    • |运算,同位|运算时,都是0结果为0,其他情况都为1
    • ^运算,同位异或运算时,都是0或者都是1时结果是0,其他情况都是1
    • ~运算,是把二进制的同位反转,也就是0变1,1变0

    三元(目)运算符

    格式:
    (条件表达式)?表达式1:表达式2;
    当条件表达式为true,运算后的结果是表达式1;
    当条件表达式为false,运算后的结果是表达式2。

    例子

    /*获取两个数中的较大数*/
    max = m > n ? m : n;
    /*获取三个数中的较大数*/
    max = m > n ? (m > k ? m : k) : (n > k ? n : k);

    运算符的优先级

    • 运算符有不同的优先级,所谓优先级就是表达式中的运算顺序。如下表,上一行的运算符总优先于下一行
    • 只有单目运算符、三元运算符、赋值运算符是从右向左运算的
    • 点赞
    • 收藏
    • 分享
    • 文章举报
    nasssss 发布了3 篇原创文章 · 获赞 1 · 访问量 46 私信 关注
  • 内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: