java编程思想3-操作符

1 对一个对象进行操作时,我们真正操作的是对象引用。
2 基本类型存储了实际的值,不是引用。
3 引用的别名现象:多个引用名字不同但是指向相同的对象。
4 随机数生成方法:
Random rand = new RandRom(47);
rand,nextInt(100);
rand.nextFloat();

5 关系运算符
等于和不等于适用于所有的基本数据类型,而其他比较符(< > <= >= !=)不适用于boolean类型。
对象比较使用equals()方法,equals()默认行为是比较引用。引用不相同则返回false。
6 逻辑运算符
只可应用于布尔值,注意,如果在应该使用String值的地方使用了布尔值,布尔值会自动转换成适当的文本形式。
浮点数不要比较相等。
短路现象:略
7 直接常量
Long l = 12L;
Float f = 1.2f;
double d = 1.2d;
//float f = 23.2; //会报错,在后面应该加f
short s = 0x7fff
float expFloat = 1.39e-43f; //指数计数法,指数和小数都是默认双精度,故需要加f
无二进制表示,需要toBinaryString()
8 按位运算符
& | ~ ^
&= ^= |= 只有~不能与=联合使用
9 移位运算符: 不会,补充计算机组成原理知识
<< 左移位操作符 向左移动,低位补零

“有符号”右移位操作符,向右移动,使用符号扩展:若符号为正,则在高位插入0,符号为负,高位插入1

“无符号”右移位操作符,无论正负都在高位插入0
char byte short 进行位移处理前,会被转换为int,得到的结果也是一个int值。
可以与等号组合使用 <<= >>= >>>=
10 三元运算符 boolean-exp?value0:value1
11 +和 += 连接字符串
12 while(x = y) 会报错
13 类型转换
1 窄化转换:是截尾不是舍入,需要强制转换()
2 提升:如果对基本数据类型执行算术运算或按位运算,只要比int小,那麽在运算之前,这些值会自动转换成int,如果给小的类型赋值,就必须使用强制转换,
通常,表达式中出现的最大的数据类型决定了表达式最终结果的数据类型
14 boolean 类型只能比较和 与,或, 异或操作,不能非(~)操作

你可能感兴趣的:(java编程思想3-操作符)