第3章 操作符

本章主要讲述了Java程序中常用的操作符的功能和优先级,以及相关的类型转化。

 

1.算术操作符:  用于算术运算

加号(+),减号(-),乘号(*),除号(/),取模操作符(%),一元减号(-),一元加号(+)

         算术运算符均能将较小类型转化为int型。

         加减乘除可以=连用,组成 +=, -=,*=, /=。

2.自动递增和递减:   用于变量快捷运算

        前缀++与前缀--: 先增1或减1后计算表达式

        后缀++与后缀--: 先计算表达式后增1或减1

3.关系操作符:   根据操作数的值之间的关系生成boolean(布尔)结果

         大于(>),小于(<),等于(==),不等于(!=),大于等于(>=),小于等于(<=)

         ==与 != 适用于所有对象,当比较对象是比较的是对象的引用值

         其他的适用于非boolean型的基本数据类型

4.逻辑运算符:   根据参数的逻辑关系生成boolean结果

         与(&&),或(||), 非(!)

         短路现象: 当&&的左值为false或||的左值为true时,操作符右边的表达式将不被计算,这样将获取潜在的性能提升,但对于实际开发有可能会隐藏一些bug。

5.直接常量:在程序中使用直接常量要注意引导类型信息。

        长整型(long): l 或 L后缀

        十六进制数: 0x 或 0X 前缀,后跟[0-9 a-fA-F]

         八进制数: 0前缀,后跟[0-7]

        单精度浮点型: f 或 F后缀

        双精度浮点型: d 或 D后缀

        二进制数:没有直接表示法,但Integer 和 Long的静态方法 toBinaryString() 可以实现;当把较小的类型传递给Integer.toBinaryString()时将自动转换为 Integer

 

        经典错误: float f = 3.5;

6.指数计数法: 

 1.5E-35; //E(e)代表10的幂次

        编译器通常叫指数作为双精度数(double)处理

 7.按位操作符: 操作整数基本类型中的单个比特(bit),即二进制位

        与(&): 两个输入位都是1时,输出位为1;否则为0

        或(|): 两个输入位都为0时,输出位为0,;否则为1

        非(~): 输入位为1,输出位为0;输入位为0,输出位为1

        异或(^): 输入位有且仅有一个1,输出位为1,;否则为0

        &, |, ^ 可以与等号连用 ->&=, |=, ^=

8.移位操作符: 处理整数类型的移位

        左移(<<):按照右边的操作数将左边的操作数左移指定的位数,并在低位补0

        右移(>>): 按照右边的操作数将左边的操作数右移指定的位数,根据左数的符号在高位补0或1,也称为“有符号右移”

        无符号右移(>>>): 与右移(>>)类似,但总是在高位补0

        移位可以与等号连用,如>>=, <<=, >>>=

        注: 对于int型左值,仅使用移位操作符右端操作数的低5位;对于long型左值,仅使用移位操作符右端操作数的低6位。因为对于int型数值,若移动位数大于31,则左值的信息将全部丢失,也就失去了移位的意义;long型同理。故Java规范对此做出了限定。

9.三元运算符: 用于条件判断,是if-else语句的简化形式,但不利于理解。

   int max =a > b ? a : b; //取a、b两个值中的最大值

10. 字符串操作符:  用于字符串连接

         + 以及 +=

11.运算符优先级;

        [图片来自互联网]

 

12.注意事项:

        1.若不清楚运算符的优先级,则应使用括号”()”来明确。

        2. &,|,=与&&,||,==的使用完全不同,不可混用

13.类型转换: 在适当的时候,Java会将一种数据类型自动转换为另一种类型。

         小类型到大类型可自动转换,数据将完整保存。

         大类型到小类型则必须显示转换,数据将被截取,故有可能丢失数据。

         使用(int)将浮点型转整型时,数据将被截尾。

14Java中没有sizeof: 因为Java中基本类型的大小是确定的,不收硬件的影响。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值