Java编程思想—第3章 操作符

3.1 更简单的打印语句
  1. 打印语句,可以进行进一步的封装成print,但没必要使用
System.out.println("我是Java");
3.2 使用Java操作符
  1. 操作符作用于操作数,生成一个新值
  2. 几乎所有的操作符都只能操作“基本类型”。但“=”,“==”和“!="可以操作对象
3.3 优先级
  1. 用括号明确计算顺序
3.4 赋值
  1. 必须有一个物理空间可以存储等号右边的值
  2. 对象的赋值是通过引用来的,基本类型存储实际的数值
  3. 方法调用中的别名问题
3.5 算术操作符
  1. 和C/C++差不多
  2. 随机数种子用于初始化随机数序列,若固定种子,则相应的随机数可以重现
  3. 一元加号,可以将较小类型的操作数提升为int
3.6 自动递增和递减
  1. 和C/C++一样
3.7 关系操作符
  1. 测试对象的等价性
  2. 比较两个对象的实际内容是否相同,采用对对象的特殊方法equals()
public class EqualsMethod{
    public static void main(String[] args){
        Integer n1 = new Integer(47);
        Integer n2 = new Integer(47);
        System.out.println(n1.equals(n2));
    }
}
  1. 由于equals()的默认行为是比较引用,所以除非在自己的新类中覆盖以equals()方法,否则不可能表现出我们希望的行为
  2. 大多数Java类库都实现了equals()方法,以便用来比较对象的内容,而非比较对象的引用
3.8 逻辑操作符
  1. 与、或、非,和C/C++不同的是:不可将一个非布尔值当做布尔值在逻辑表达式中使用
  2. 短路:一旦能够准确无误地确定整个表达式的值,就不再计算表达式余下的部分
3.9 直接常量
  1. 直接常量后面的后缀字符标识了它的类型
L:long
F:float
D:double
  1. 十六进制适用于所有整数数据类型
0x:前缀来表示,用0-9,a-f来表示
  1. 八进制由前缀0以及后续的0-7的数字来表示
  2. 通过Integer和Long类的Integer.toBinaryString()可以转换成二进制
  3. 指数计数法
float f4 = 1e-43f  //默认是double,float用于转型
3.10 按位操作符
  1. 按位操作符用来操作整数基本数据类型中的单个“比特”,即二进制位。
&:与
|:或
~:非
^:异或
3.11 移位操作符
  1. 移位操作符的运算对象也是二进制的。
  2. 移位操作符只可以用来处理整数类型(基本类型的一种)
<<:左移操作符,低位补0
>>:右移操作符,'有符号'使用“符号扩展”,若符号为正,高位插0
>>>:Java中增加的一种“无符号”右移位操作符,它使用“零扩展”
  1. “移位”可与”等号“组合使用,此时,操作符左边的值会移动由右边的值指定的维数,再将得到的结果赋给左边的变量
<<=
>>=
>>>=
3.12 三元操作符 if-else
boolean-exp ? value0 : value1
3.13 字符串操作符 + 和 +=
  1. +可用于字符串的转换
3.14 使用操作符时常犯的错误
  1. 在判断相等的时候用了“=”,应该使用“==”,Java不会将其他类型转换为boolean类型,故会报编译错误
3.15 类型转换操作符
  1. 隐式类型转换
  2. 显式类型转换
int i = 200;
long lng = (long)i;
  1. 截尾和舍入:类型转换总是进行截尾处理,可用java.lang.Math中的round()方法进行舍入
  2. 有些操作自动提升为范围更大的类型
3.16 Java没有sizeof
  1. Java不需要sizeof()操作符来满足这方面的需要,因为所有数据类型在所有机器中的大小都是相同的。
3.16 操作符小结
  1. 能够对布尔值进行的运算非常有限
  2. 窄化转换可能会造成信息的丢失
  3. int类型如果过大也会溢出,注意类型转换
  4. 对于charbyte或者short,符合赋值并不需要类型转换。
3.18 总结

  Java的操作符与C/C++类似。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值