java的8种基本数据类型及转换、比较

来源:互联网 发布:淘宝最靠谱的玉器店 编辑:程序博客网 时间:2024/05/30 04:12

1.java提供了8种基本类型,但是这8种基本类型不支持面向对象的编程机制,Java分别为这8种基本类型提供了包装类,如下

基本类型包装类型byteByteshortShortintIntegerlongLongcharCharacterfloatFloatdoubleDoublebooleanBoolean通过一个例子来看下基本类型与包装类型

基本类型,就是一个单纯的数字,没有object的一些特征,看下面,b后面输入点时,没有任何联想匹配

包装类型,是一个对象,具有object的特征,看下面,b后面输入点时,有联想匹配

2.包装类型与基本类型之间的转换

JDK1.5后提供了自动装箱与自动拆箱功能,因此我们不必关心基本类型与包装类型之间的转换了,如下面的例子

public static void main(String[] args) {
        Integer b = 5;
        int t= b;
        System.out.println(t);
    }可以直接赋值,无需显示转换。


虽然包装类型的变量是引用数据类型,但包装类的实例可以与数值类型的值进行比较,这种比较是直接取出包装类实例所包装的数值进行比较,但是两个包装类型的比较就变得复杂了,只有两个包装类引用指向同一个对象时才会返回true。如下所示

public static void main(String[] args) {
        Integer b1 = 150;
        Integer b2 = 150;
        int t = 150;
        System.out.println(b1==t);
        System.out.println(b2==t);
        System.out.println(b1==b2);
    }运行结果如下

true
true
false3.“==”与equals方法

(1)“b1==b2”,如果b1与b2是基本数据类型,只要他们俩值相同,就返回true;如果b1与b2是引用类型,必须指向同一个对象,才返回true。

(2)equals方法是值相等的意思

例子:

public static void main(String[] args) {
        Integer b1 = 150;
        Integer b2 = 150;
        int t = 150;
        System.out.println(b1.equals(t));
        System.out.println(b2.equals(t));
        System.out.println(b1.equals(b2));
    }运行结果如下

true
true
true