java编程思想第三章

操作符

3.4 赋值 =

基本类型:直接将内容赋值到另一个地方,a=b,之后修改a的值对b没有影响
对象:将一个对象的引用从一个地方复制到另一个地方,两个地方都指向一个对象

3.5 算术操作符

++和--
递增和递减
分为前缀递增a++,先计算再赋值
和后缀递增,先赋值再计算(后缀是唯一有副作用的操作符)

==和equels

 public static void main(String[] args) {
        Integer a = new Integer(47);
        Integer b = new Integer(47);
        System.out.println(a.equals(b))}//true
public class Equals {
    int value;
    public static void main(String[] args) {
        Equals eqa = new Equals();
        Equals eqb = new Equals();
        eqa.value=eqb.value=47;
        System.out.println(eqa.equals(eqb));
    }
}//flase

原因:equals默认是比较的对象的引用

看看两个equals()方法,
Integer

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

即比较的两个Integer对象的值

Equals

public boolean equals(Object obj) {
        return (this == obj);
    }

即比较两个对象的引用,对象不一样则两个引用则不同

3.10 按位操作符

用来操作整数基本数据类型中的单个“比特”(bit),即二进制
二元运算符
	与(&)
	或(|)
	异或(^) 即相同为0,相异为1,1^1、0^0为0,1^0为1
一元运算符
	非(~) 取反

3.11 位移操作符

用来操作整数基本数据类型中的单个“比特”(bit),即二进制
左移操作符<<
	按照操作符右侧指定的位数将操作符左边的操作数向左移动,低位补0
右移操作符>>
	符合位正:操作数右移,高位补0
	符合为负:操作数右移,高位补0
无符号右移>>>
	高位补0

3.12 三元操作符

boolean-exp ? value0:value1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值