您的位置:首页 > 编程语言 > Java开发

Java编程思想学习(1)

2017-05-10 13:44 204 查看

1、基本语法

1. 
==
和equals()

(1)      
 对于
= =,如果作用于基本数据类型的变量,则直接比较其存储的“值”是否相等;
如果作用于引用类型的变量,则比较的是所指向的对象的地址

(2)      
对于equals方法,注意:equals方法不能作用于基本数据类型的变量

如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;

诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。

2. 
short和byte的无符号右移问题(>>>)

short和byte在进行移位的时候都是先转化为int
,再在int型上进行移位,其移位结果是int型。
1. == 和equals()

(1) 对于==,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;

如果作用于引用类型的变量,则比较的是所指向的对象的地址

(2) 对于equals方法,注意:equals方法不能作用于基本数据类型的变量

如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;

诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。

2. short和byte的无符号右移问题(>>>)

short和byte在进行移位的时候都是先转化为int ,再在int型上进行移位,其移位结果是int型。

 

而byte是1个字节,short是两个字节,int是4个字节,若移位的位数小于24(对于byte)或16(对于short)的话,如果使用了>>>=
,则是将int型的移位结果进行低位截取8位(对于byte)或16位(对于short)重新赋给short或byte型。

如上图的例子,当右移了10位后,byte截取了低8位,所以其结果还是b
= -1,输出的结果还是32位的1。而最后一行语句中,b直接进行移位并输出,不转化回byte,即这个过程一直是以int型进行的移位,其结果就为22位的1。

3. 
final

类常量无需构造对象,可直接引用,“static final”;一般常量要构造对象,“final”。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 编程