码迷,mamicode.com
首页 > 编程语言 > 详细

java里的基本数据类型

时间:2016-03-09 01:18:38      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:

  java里一共有八大数据类型 boolean(未定) char(2字节) byte(1字节) short(2字节) int(4字节) long(8字节) float(4字节) double(8字节),还有与之对应的包装类 Boolean Character Byte Short Integer Long Float Double, 基本数据与包装类之间的转换叫做装箱与拆箱

        Integer i = new Integer(10);//装箱这个在java1.5之前只能这样new一个出来
        Integer i1 = 10;//java1.5之后可以直接这样初始化一个integer对象出来;
        
        Integer j = new Integer(10);
        int k = j; //这叫做拆箱
    

int i 与Integer i 到底有什么区别呢,看程序:

        Integer n1 = 127;
        Integer n2 = 127;
        Integer n3 = new Integer(10);
        Integer n4 = 10;
        System.out.println(n1.equals(n2));
        System.out.println(n1==n2);
        
        System.out.println(n3==n4);
        System.out.println(n3.equals(n4));
    

结果是true
     true
     false
     true
java里"=="比较的是对象的地址,而equal比较的是内容,n3与n4比较的结果不以外,那么为什么n1跟n2 "=="比较也是true呢,看数值127 是byte的最大值,java里对于byte范围的数据因为使用多,所以这个对象会放到内存中保存,n1与n2指向的是同一个内存地址,但是超过127或者小于-128结果就是

        Integer n1 = -129;
        Integer n2 = -129;
        Integer n3 = new Integer(10);
        Integer n4 = 10;
        System.out.println(n1.equals(n2));
        System.out.println(n1==n2);
        
        System.out.println(n3==n4);
        System.out.println(n3.equals(n4));
    

true
false
false
true

包装类有一些常用的方法,主要就是数据类型转换,除了boolean char之外的构造方法除了构造方法有两种,不过Float有三种。

数制转换方法,用Integer做例子。byteValue();doubleValue();floatValue;intValue;shorValue;这些方法都是拆箱,返回的都是基本数据类型。

反过来 valueOf(int i)是放回包装类的。

 

ps:基本数据类型转换遵循的原则:

  1 容量小的类型自动转换成容量大的数据类型,数据类型按照容量大小排序是

    byte,short,char<int<long<float<double; 注意这是是容量大小不是所占字节数

  2 容量大的数据类型转换成容量小的数据类型时,要加上强制转换符,但是可能造成精度降低,或者溢出。

  3 有多种数据类型混合运算是,系统将自动所有数据转换成最大的那个类型,然后进行运算。

  4 实数常量,系统默认为double;

  5 整数常量,系统默认为int;

所以long lg = 10000000000l;后面要加一个l,不然系统会保存因为默认为int就超出范围了

java里的基本数据类型

标签:

原文地址:http://www.cnblogs.com/ashitaka/p/5252500.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!