ch3 控制程序流程

来源:互联网 发布:眼镜零售店软件 编辑:程序博客网 时间:2024/06/11 16:16
几乎所有的运算符只能操作基本类型,但是 = 、 == 、 != 能操作所有对象。另外,String类支持 + 、+= 。
对象类型与基本类型赋值操作的不同效果:别名!
Object类中的equals方法默认是比较引用是否相同。继承后可以用自己的方法覆盖,比如Integer覆盖为比较被包装的基本类型的值。
java.lang.Object:
    public boolean equals(Object obj) {
        return (this == obj);
    }

java.lang.Integer:
    public boolean equals(Object obj) { 
        if (obj instanceof Integer) {
            return value == ((Integer)obj).intValue();
        }
        return false;
    }

逻辑运算符操作时候会有短路现象:如果前面的值已经确定最终结果,则后面的值不需要计算 。
c 、c++ 中,复制表达式中得到结果为非零值,则可转换为true;java中,不能够自动转换为布尔值,所以如果放在布尔判断的位置则会得到编译时错误。
如果可能会因范围缩小造成数据丢失,则必须进行强制类型转换。除布尔类型的基本类型可以随意进行相互强制类型转换。
java中没有sizeof运算符,因为不需要平台间移植。


0 0