首页 > 编程语言 > 详细

《JAVA----day01》

时间:2015-11-10 22:26:35      阅读:216      评论:0      收藏:0      [点我收藏+]

1,(在有符号的情况下)若一个二进制数都是1,则对应的十进制数是-1
2,在定义数值类型时,若无特别说明,整数默认:int 小数默认:double
在内存中
占字节数 取值范围
(1)byte:1个字节(8个二进制位) -2(7) --- -2(7)-1
(2)short:2个字节(16个二进制位)-2(15)--- -2(15)-1
(3)int :4个字节(32个二进制位)-2(31)--- -2(31)-1
(4)long: 8个字节(64个二进制位)-2(63) --- -2(63)-1
class VarDemo
{
public static void main(String[] args)
{
//数据类型 变量名 = 初始化值
byte b = 6;
short c = 8;
int x = 123l;
long l = 123456789006l; //注意最后是英文字母“l”,不是数字1
}
}

虽然在程序中定义了byte类型的变量b,并赋给了初值为整数6,但是此时这个整数6是默认为int(占据4个字节)类型的,在内存中的表示形式为:00000000 00000000 00000000 00000110,但是byte在内存中只占据了一个字节00000000,那他是如何装下这个整数6呢?

但是编译器在检查的时候,发现6这个整数在byte范围之内,所以会自动把前面的三个字节段去掉
【00000000 00000000 00000000 00000110】---》【00000110】

其他的依照这个类推!

 

class VarDemo 
{
    public static void main(String[] args) 
    {
        byte b = 6;

        short s = 4;
        
        int i = 7;

        long l = 1234567890l;    //过大的数(范围超过了int型)

        float f = 2.3f;    //如果不加f的话,编译的时候会报错,说损失精度,因为小数默认是double类型的

        double d = 3.4;

        char c = ‘1‘;        //char c = 1

        boolean bo = true;  //bo = false
    }
}

 

《JAVA----day01》

原文:http://www.cnblogs.com/sun-/p/4954459.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!