赋值
将一个对象赋值给另一个对象,实际是将“引用”从一个地方复制到另一个地方,也就是倘若c=d,那么c和d都将指向原本只有d指向的那个对象。
方法参数传递
将对象作为实参传递至方法中,实际上传递的是一个引用,而并不是在作用域内复制参数的一个副本,所以说如果我们在方法内通过引用改变其中的值,实际改变的是方法之外的对象。
==与equals
“==”和“!=”比较的都是对象的引用,也就是比较两个引用是否指向同一个对象,如果想要比较两个对象的实际内容是否相同,必须使用所有对象都适用的特殊方法equals。
equals的默认行为和“==”,“!=”是一样的,都是比较对象的引用,对于自己创建的新类来说,如果想要比较对象中的实际内容是否相同,要自己覆盖equals方法。
具体的定义,随着博主的不断学习,我们在后面给出。
补充:
除布尔类型以外,任何一种基本类型都可通过类型转换变成其他基本类型。
如果对基本类型进行按位运算和算数运算,只要类型比int小,在运算之前,这些值自动会转换为int。
注意基本类型的“窄化转换”,对float或double进行int转换,会对数字进行截尾,想得到舍入的结果,要使用java.lang.Math的round方法。
“与”,“或”,“非”操作只能应用于布尔值。不可将一个非布尔值当做布尔值在逻辑表达式中使用,也就是Java中不能像C那样使用while(1)或其他表示ture或false。