课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > 达内新闻 > java基本数据类型
  • java基本数据类型

    发布:昆明Java培训      来源:达内新闻      时间:2016-11-18

  • 昆明Java培训机构的老师今天给同学们讲基本数据类型。

    byte tt=(byte)130 等于-126。byte占一个字节,8bit。第一位是符号位,0表示正数,1表示负数。因此byte的取值范围[-128, 127]。

    130的二进制是00000000000000000000000010000010,截取成byte类型只保留后8位,也就是10000010,第1位是符号位0代表正数、1代表负数,这里第一位是1也就是负数,计算机存储的负数是补码,必须将其他位取反再加1,取反加1后这个为-1111110 ,这个二进制数转换为整数是-126。

    byte a= (byte) 0x00000111;  十六进制16*16 + 16 + 1 = 256 + 17 = 0000001 00010001。截取后8位,则a = 17。

    byte c = (byte)0xFF; 十六进制15*16 + 15 = 255 = 11111111,最前面1表示负数,存储的是补码,后面7位取反加1等于1,则c = -1。  System.out.println(c); 输入-1。

    八进制必须以0开头,十进制不能以0开头(0除外)。

    byte a= 00000111; 八进制64 + 8 + 1,则a = 73。

    byte a= (byte)00001111;八进制8*8*8 + 64 + 8 + 1 = 00000010 01001001,转换成byte,取后8位,则a = 73。  byte a= 00001111,会报错超出范围[-128,127]。

    byte占8位。short占16位,取值范围[-32768, 32767]

    short s1 = 1; s1 = s1 + 1;会报错,因为1是int类型,计算结果是int类型,需要强制转换成short类型,写成 s1 = (short)(s1 + 1); 或者s1 += 1;此种写法含有隐式的强制类型转换。相当于(short)(s1 + 1) 

    int类型在内存中占32位,4个字节。取值范围[-2147483648, 2147483647]。

    2^31 = 2147483648

    long型如果赋值超出int型的范围,则需要在数字后加上L或l。表示该值是长整型。

    long n = 2147483650L + 4;则n值是2147483654。

    long m = (long)(2147483647 + 4); 计算过程:2147483647存储是:01111111 11111111 11111111 11111111加上00000000 00000000 00000000 00000100等于10000000 00000000 00000000 00000011。

    前面的1表示负数。负数存储的是补码,将其他位取反加1。源码是11111111 11111111 11111111 11111101。则m等于-(2^32-1-2)= -2147483645。

    了解详情请登陆昆明达内Java培训官网(km.Java.tedu.cn)!

    推荐文章

上一篇:java中的八种基本数据类型

下一篇:eclipse中的代码提示功能

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:11/30

Java--零基础业余班

Java--零基础业余班

开班日期:11/30

Java--周末提升班

Java--周末提升班

开班日期:11/30

Java--零基础周末班

Java--零基础周末班

开班日期:11/30

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56