读书笔记 | 《Think in Java》Ⅲ 操作符

2018-04-06  本文已影响15人  寒食君
信仰牌咖啡

Ⅲ 操作符

---4.6更新---

3.4 赋值
//举个例子,假如Person类有一个属性是int型的age。
class Person{
int age;
}

public static void main(String[] args){
  Person tom=new Person();
  Person jerry=new Person();
  //基本类型赋值
  tom.age=10;
  jerry.age=20;
  //对象赋值,此时tom和jerry的age都变为20
  tom=jerry
  //此时tom和jerry的age都是15
  tom.age=15
}

如果将tom=jerry改为tom.age=jerry.age那么,就将对象的引用赋值转化为基本类型的值赋值,就避免了这一问题。

3.6 自动递增和递减
public static void main(String[] args){
  int a=1;
  ++a;//a=2
  a++;//a=2
  ++a;//a=4
}

同理,自减也是如此。

3.7 关系操作符
//包装类
Integer n1=new Integer(10)
Integer n2=new Integer(10)
n1.equals(n2)//true
//自定义类
Person p1=new Person()
Person p2=new Person()
p1.age=10
p2.age=10
p1.equals(p2)//false

不过大多数的Java类库都实现了equals()来使他们去比较值。只是在我们的使用中,假如出现了问题,要知道,原始的equals()默认行为还是比较引用,只不过常常被重写了。

Integer.java:

3.8 逻辑操作符
3.10 按位操作符
1,1 1,0 0,0
按位与(&) 1 0 0
按位或 (l) 1 1 0
异或(^) 0 1 0
3.15 类型转换操作符
3.16 Java没有sizeof
扫一扫,关注公众号

小白的成长探索之路。

上一篇 下一篇

猜你喜欢

热点阅读