• Java编程思想之三 操作符


    在底层,Java中的数据是通过使用操作符来操作的。

    3.2 使用Java操作符

    操作符接收一个或多个参数,并生成一个新值。
    操作符作用于操作数,生成一个新值。有些操作符可能会改变操作数自身的值,这被称为副作用
    几乎所有的操作符都只能操作基本类型

    3.3 优先级

    当一个表达式中存在多个操作符时,操作符的优先级就决定了各部分的计算顺序。

    3.4 赋值

    赋值使用的操作符=。它的意思时取右边的值把它赋值给左边。
    基本类型存储了实际的数值,而并非指向一个对象的引用,所有在为其赋值的时候,是直接将一个地方的内容复制到另一边的。
    对一个对象进行操作时,我们真正操作的时对象的引用。这种称为"别名现象",也是Java操作对象的一种基本方式。

    3.4.1 方法调用中的别名问题

    方法调用中,也会产生别名问题。

    3.5 算术操作符

    算术操作符包括:+、1、/、*、%

    3.5.1 一元加、减操作

    一元加、减与二元符号相同,不过只作用于一个数据。

    3.6 自动递增和递减

    这两个操作符各有两种使用方法,称为前缀式、后缀式。
    前缀式:位于操作数前面,会先执行运算,在生成值。
    后缀式:位于操作符后面,会先生成值,再执行运算。

    3.7 关系操作符

    关系操作符式一个boolean结果。

    3.8逻辑操作符

    逻辑操作符与(&&)、或(||)、非(!)能根据参数的逻辑关系,生成一个布尔值。
    与(&&)、或(||)、非(!)只能作用于布尔值。

    3.8.1 短路

    一旦明确无误的确定整个表达式的值,就不再执行后面的部分。可以用return等方式返还。

    3.9 直接常量

    直接常量后面的后缀字符标志了它的类型。L(long),F(float),D(double)。
    十六进制适用于所有整数数据类型,前缀0x或0X,后面跟随0-9或A-F、a-f。
    e再java中代表10的幂次。1.39e-43就是1.39*10-43。

    3.10按位操作符

    按位操作符用来操作整数基本数据类型中单个"比特(bit)",二进制位。按位操作符会对两个参数中对应位执行布尔代数运算,并生成一个结果。
    1&1=1,其他为0。
    0|0=0,其他为1。
    000000=0,111111=0,只要有1,不全是1,则输出都为1。
    1=0,0=1。
    按位操作可与=连用,但~十一元操作符,所以它不能。

    3.11移位操作符

    移位操作符操作运算对象也是二进制的“位”。移位操作符只可用来处理整数类型。左移位操作符(<<)能按照操作符右侧指定的位数将移位操作符左边的操作数向左移动(在低位补0)。“有符号”右移位操作符(>>)按照操作符右侧指定的位数将操作符左边的操作数向右移动。"有符号"右移位操作符使用"符号扩展":若符号为正,则在高位插入0,若符号为负,则在高位插入1。Java中增加了一种"无符号"右移位操作符(>>>),它使用"零扩展":无论正负,都在高位插入0。
    移位可以于等号连用(<<== 或 >>== 或 >>>==)。

    3.12 三元操作符 if-else

    三元操作符也称为条件操作符。
    ?:和if-else效果一致。

    3.13 使用操作符常犯的错误

    使用操作符常犯的错误就是,即使对表达式如何计算有点不确定,也不愿意使用括号。

    3.14 类型转换操作符

    在适当的时候,Java会把一种数据类型自动转换为另一种数据类型。
    执行窄化转换,编译器会强制我们进行类型转换,必须显示的进行。
    对于扩展转换,则不必要显示的进行类型转换,因为新类型肯定能容纳原来类型的信息,不会照成任何信息的丢失。

  • 相关阅读:
    NX CAM二次开发-UF_OPER_unload_path卸载刀路
    NX CAM二次开发-UF_PARAM_set_int_value不勾选侧面与底面余量一致
    NX CAM二次开发-UF_PARAM_set_subobj_ptr_value设置进给率
    NX CAM二次开发-UF_PARAM_set_double_value设置转数
    NX CAM二次开发-UF_NCGROUP_ask_object_of_name通过名称获得指定组(NCGroup)的TAG
    NX CAM二次开发-修改操作所属的刀具,几何体,程序组等
    VC++-OLE/COM将EXCEL导出PDF,ExcelBook.ExportAsFixedFormat
    VC++将PNG转成二进制文件,在将二进制文件转回PNG图片
    实例开发-NX二次开发批量设置体到图层工具
    NX-二次开发UFUN在面上创建等参数曲线UF_MODL_create_isocurve
  • 原文地址:https://www.cnblogs.com/Tan-sir/p/11103857.html
Copyright © 2020-2023  润新知