• Java基础语法(三)


    运算符

    Java中运算符可以分为算术、赋值、比较、逻辑、位和类型相关运算符等多种,本篇一一做出总结。

    算术运算符

    算术?无非就是加减乘除嘛,除此之外还有呢。

    • +:除了可做基本数据类型的加法,还可以作为字符串的拼接符。

    • /:除法也相对特殊,用作整数计算,且除数不能是0,结果也为整,就算取不到整数也得强行截断。如果至少有一个浮点数,那么就是自然除法,而且还会有无穷和非数的情况出现。

    • %:求余运算,涉及到除法运算需要注意除法运算相关事项。

    • ++:自加,只能操作一个操作数或者单个数值类型的变量(变量!!!)。

      ++mm++的区别:

      1. ++m是先把m加上1,然后再把结果放入表达式中进行计算。

      2. m++实先把m的值放到表达式中计算,然后给m值加1。

        int a =5;
        int b = a++;//b=5,之后a++,变为6
        int c = ++a;//c=6+1=7
        System.out.println(a+","+b+","+c);
        
    • --:同理++

    Java中可以借助java.lang.Math类中的方法完成相对麻烦的数学运算,如乘方、开方等运算。

    import static java.lang.Math.*;
    

    赋值运算符

    为变量指定变量值。就是把什么东西装到容器里面。

    • Java与其他语言类似,也是用=进行赋值操作。

      double pi = 3.14;
      
    • 赋值也可以将一个变量的值赋给另外一个变量。

      int a = 5;
      int b = a;
      
    • 可以一次为多个变量赋值,但可读性较差。

      扩展赋值运算符

      隐含强制转换类型,更具健壮性。

      tips:a+=5;与a=a+5;有些时候代表的并不相同。

      byte a = 4;
      a = a + 5;//报错,因为左边为byte,右边自动上升为int。
      byte b = 4;
      b += 5;//正常,因为把b设置为(byte)(b+5)
      

    比较运算符

    就是比大小嘛,出来是个布尔值。

    • ==:
      • 如果比较的是两个数值类型的数,只要值相等,就返回true,哪怕类型不相同。5.0==5;
      • 如果都是引用类型的话,必须指向同一对象才会返回true。
      • boolean类型也可以比较。true == false;,返回false。

    逻辑运算符

    用来操作两个布尔型的变量或者常量。

    • &&&:都表示着与逻辑,全真为真,有零出零。前者&&代表“短路与”,即如果判断的第一个操作数或者表达式为false,就不再对后面的操作数求值,而是直接返回false。
    • |||:都表示着或逻辑,有真出真,全零出零。前者代表“短路或”,同理于“短路与”。第一个为true,直接true,根本不管后面的相当于短路掉了。

    位运算符

    处理整型类型时,直接对组成整型数值的各个位完成操作。

    • &是按位与,|是按位或,~是按位非。
    • ^是按位异或,两位相同为0,不同为1。
    • <<是左移,>>是右移。
    • >>>是无符号右移,没有<<<这个符号。
      • >>>会用0填充高位,前者则是用符号位填充。
      • 对于比int类型小的操作数,总是先转换为int再移位。
      • 对于int类型a>>b,如果b>32,则移位的位数为b%32,long类型同理。
      • 移位时,如果二进制码没有发生有效数字丢失的情况,左移n位等价于乘上2的n次方,右移则是除以2的n次方

    三目运算符

    直接上例子!

    String a;
    a = 2>1 ? "2比1大":"2比1小";
    System.out.println(a);
    
    • 表达式 ? 成功语句 :失败语句;是基本定义式子。
    • 表达式为true,执行成功语句,false则执行失败语句。
    • 三目运算符不支持多个语句,但可以嵌套使用。

    运算符优先级和结合性

    运算符优先级自上而下逐级递减。

    运算符说明 Java运算符 结合顺序(<--表示从右到左)
    分隔符 . [] () {} , ; -->
    单目运算符 ++ -- ~ ! <--
    强制类型转换运算符 (type) -->
    乘,除,求余 * / % -->
    加法,减法 + - -->
    移位运算符 << >> >>> -->
    关系运算符 < <= >= > instanceof -->
    等价运算符 == != -->
    按位与 & -->
    按位异或 ^ -->
    按位或 | -->
    条件与 && -->
    条件或 || -->
    三目运算符 ?: <--
    赋值 = += -=等 <--
  • 相关阅读:
    Swift中的设计模式
    ios应用view之间数据传递的方式
    关于iOS多线程,你看我就够了
    iOS开发-21UINavigationController导航控制器初始化 导航控制器栈的push和pop跳转理解
    iOS蓝牙4.0开发例子
    工作记录8:iOS 传值问题总结(7种传值完美介绍)
    iOS 各种传值方式
    iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)
    Swift类与结构、存储属性、计算属性、函数与方法、附属脚本等
    源码推荐(7.17):不规则按钮类似于遥控器按钮,一个可以最大程度简化PageView与TabView切换的第三方框架
  • 原文地址:https://www.cnblogs.com/summerday152/p/11835656.html
Copyright © 2020-2023  润新知