ThinkInJava(Java编程思想总结)2017.8.9-------操作符

来源:互联网 发布:淘宝上找货源 编辑:程序博客网 时间:2024/05/17 16:43

1.System.out.println中输出字符串和数字的时候:

书中内容:

当编译器观察到一个String后面紧跟着一个“+”,而这个“+”后面又紧跟着一个非String类型时,就会尝试着将这个非String类型的元素转换为String。

所以,如果是非String类型在前,会先对非String类型进行计算。下面以int为例子。
代码如下:
代码

运行结果如下:
运行结果

2.测试对象的等价性

Integer n1 = new Integer(47);
Integer n2 = new Integer(47);
System.out.println(n1 == n2);
System.out.println(n1 != n2);
/*Output:
false
true
*///

==和!=比较的是对象的引用,此处用的是int的包装类,所以n1和n2的引用是不同的,他们相当于对象,可以用equals进行比较。
基本类型直接用==和!=进行比较即可。
自己创建的类进行比较的时候需要重写equals方法,因为Object的equals方法默认进行的比较是引用比较。

对于浮点数的比较是非常严格的,即使一个小数仅在小数部分与另外一个小数存在细微的差别,也认为不相等,如和“0”的比较。

3.重载的说明

每个重载的方法都必须有一个独一无二的参数列表。不可以通过返回值来区分。

对于一个方法,如果只是需要的这个方法的执行效果,而不在意返回值,系统就不知道该调用哪一个方法,所以不可通过返回值区分,只能通过参数列表

4.单目运算符的特殊说明

这里写图片描述
输出6
即使有括号 ,也是先执行*后执行+

原创粉丝点击