Java编程思想—第3章 操作符

3.1 更简单的打印语句

  1. 打印语句,可以进行进一步的封装成print,但没必要使用
System.out.println("我是Java");

3.2 使用Java操作符

  1. 操作符作用于操作数,生成一个新值
  2. 几乎所有的操作符都只能操作“基本类型”。但“=”,“==”和“!="可以操作对象

3.3 优先级

  1. 用括号明确计算顺序

3.4 赋值

  1. 必须有一个物理空间可以存储等号右边的值
  2. 对象的赋值是通过引用来的,基本类型存储实际的数值
  3. 方法调用中的别名问题

3.5 算术操作符

  1. 和C/C++差不多
  2. 随机数种子用于初始化随机数序列,若固定种子,则相应的随机数可以重现
  3. 一元加号,可以将较小类型的操作数提升为int

3.6 自动递增和递减

  1. 和C/C++一样

3.7 关系操作符

  1. 测试对象的等价性
  2. 比较两个对象的实际内容是否相同,采用对对象的特殊方法equals()
public class EqualsMethod{
    public static void main(String[] args){
        Integer n1 = new Integer(47);
        Integer n2 = new Integer(47);
        System.out.println(n1.equals(n2));
    }
}
  1. 由于equals()的默认行为是比较引用,所以除非在自己的新类中覆盖以equals()方法,否则不可能表现出我们希望的行为
  2. 大多数Java类库都实现了equals()方法,以便用来比较对象的内容,而非比较对象的引用

3.8 逻辑操作符

  1. 与、或、非,和C/C++不同的是:不可将一个非布尔值当做布尔值在逻辑表达式中使用
  2. 短路:一旦能够准确无误地确定整个表达式的值,就不再计算表达式余下的部分

3.9 直接常量

  1. 直接常量后面的后缀字符标识了它的类型
L:long
F:float
D:double
  1. 十六进制适用于所有整数数据类型
0x:前缀来表示,用0-9,a-f来表示
  1. 八进制由前缀0以及后续的0-7的数字来表示
  2. 通过Integer和Long类的Integer.toBinaryString()可以转换成二进制
  3. 指数计数法
float f4 = 1e-43f  //默认是double,float用于转型

3.10 按位操作符

  1. 按位操作符用来操作整数基本数据类型中的单个“比特”,即二进制位。
&:与
|:或
~:非
^:异或

3.11 移位操作符

  1. 移位操作符的运算对象也是二进制的。
  2. 移位操作符只可以用来处理整数类型(基本类型的一种)
<<:左移操作符,低位补0
>>:右移操作符,'有符号'使用“符号扩展”,若符号为正,高位插0
>>>:Java中增加的一种“无符号”右移位操作符,它使用“零扩展”
  1. “移位”可与”等号“组合使用,此时,操作符左边的值会移动由右边的值指定的维数,再将得到的结果赋给左边的变量
<<=
>>=
>>>=

3.12 三元操作符 if-else

boolean-exp ? value0 : value1

3.13 字符串操作符 + 和 +=

  1. +可用于字符串的转换

3.14 使用操作符时常犯的错误

  1. 在判断相等的时候用了“=”,应该使用“==”,Java不会将其他类型转换为boolean类型,故会报编译错误

3.15 类型转换操作符

  1. 隐式类型转换
  2. 显式类型转换
int i = 200;
long lng = (long)i;
  1. 截尾和舍入:类型转换总是进行截尾处理,可用java.lang.Math中的round()方法进行舍入
  2. 有些操作自动提升为范围更大的类型

3.16 Java没有sizeof

  1. Java不需要sizeof()操作符来满足这方面的需要,因为所有数据类型在所有机器中的大小都是相同的。

3.16 操作符小结

  1. 能够对布尔值进行的运算非常有限
  2. 窄化转换可能会造成信息的丢失
  3. int类型如果过大也会溢出,注意类型转换
  4. 对于charbyte或者short,符合赋值并不需要类型转换。

3.18 总结

  Java的操作符与C/C++类似。

发布了77 篇原创文章 · 获赞 20 · 访问量 5787

猜你喜欢

转载自blog.csdn.net/qq_42396168/article/details/104978357
今日推荐