2016年9月28日。
在最底层,Java中的数据是通过使用操作符来操作的。
3.3 优先级
System.out.println()语句中包含“+”操作符,在这种上下文环境下,“+”意味着“字符串连接”,并且如果必要,它还要执行“字符串转换”。当编译器观察到一个String后面紧跟着一个“+,而这个“+”的后面又紧跟着一个非String类型的元素时,就会尝试着将这个非String类型的元素转换为String。
3.5算术操作符
public class Equivalence{
public static void main(String[] args){
Integer n1=new Integer(47);
Integer n2=new Integer(47);
System.out.printlv(n1==n2);//false
System.out.printlv(n1!=n2);//true
}
}
两个Integer对象的内容都是47,但是两个对象的引用却是不同的。
<pre name="code" class="java">class Value{
int i;
}
public class EqualsMethod2 {
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));//false
}
}
结果是false,这是由于equals()的默认行为是比较引用。所以除非在自己的新类中覆盖equals()方法,否则不可能表现出我们希望的行为。
3.15 类型转换操作符
Java允许我们把任何基本数据类型转换成别的基本数据类型,但布尔型除外,后者根本不允许进行任何类型的转换处理。
参考向上造型与向下造型。http://blog.csdn.net/shanghui815/article/details/6088588