Java 操作符注意点

1. 基本类型存储了实际的数值,而并非指向一个对象的引用,所以在为其赋值的时候,其实是直接将堆栈上的内容复制到堆栈上的另一个地方。

2. 一元减号用于转变数据的符号,而一元加号只是为了与一元减号相对应,他唯一的作用就是将较小类型的操作数提升为int。

public class Test {

    public static void main(String[] args) {
        byte a = 1;         // 正确
        byte b = (byte)+a;  // 正确
        int c = +a;         // 正确
        byte d = +a;        // 错误
    }
}
3. equals()的默认行为是比较引用,不过大多数Java类型都实现了equals方法,以便用来比较对象的内容,而非比较对象的引用。

class Value {
    int i;
}

public class Test {
    public static void main(String[] args) {
        Value v1 = new Value();
        Value v2 = new Value();
        v1.i = v2.i = 100;
        System.out.println(v1.equals(v2));	//(1)flase
        System.out.println(v1 == v2);		//(2)false
    }
}
4. 如果对基本类型做算术运算或位运算,只要类型比int小(char、byte、short),那么在运算前,这些值就会自动转换成int。

表达式中最大的数据类型决定了表达式最终结果的类型。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值