zoukankan      html  css  js  c++  java
  • Java基础:类型

    基本类型和引用类型

    分为基本类型和引用类型

    基本类型就是四类八种

    引用类型就是变量,存储在堆内

     Person对象有一个为int类型的属性,这个属性也是放在堆中的

    当==两边是基本数据类型时,==于比较的是两边的两个值是否相等,当==两边是引用类型时比较的是两个内存地址。.equals()是比较值
     
     

    基本类型

    四类八种:
     

     

    整型的范围:

    int为例

    -(2^31)~(2^31-1)

    4个字节,一个字节8位,共32位

    符号占一位,剩下31位,最大值为2的31次方减1(31位全为1的情况,等于32位为1再减去1,注意32位为1表示2的31次方,正如1位为1表示2的零次方)

    负数多表示一个数是因为,0不需要两种表示方式,10000000这样就用来表示最小值

    int在32位环境中,取值范围为-2147483648~2147483647。
    即-(2^31)~(2^31-1);第一,为什么是31次幂而不是32次幂?因为有一位是符号位,代表正负。第二,为何最小值为-2147483648而最大值为2147483647?因为最大值为
    01111111 11111111 11111111 11111111
    等于2^31-1,而00000000表示0,10000000就可以不用表示0,用来表示最小值。故最小值用补码可以表示成10000000 00000000 00000000 00000000;

    小数默认为double,如果要float的话,float a=1.1f;

    char默认4位,Unicode编码,写成16进制就变成了常见的u2A13这种

    浮点数问题:

    类型转换

    转换:
    将一种类型的值赋值给另一种类型是很常见的
     
    将6种数据类型按下面顺序排列一下:
    double > float > long > int > short > byte
    如果从小转换到大,那么可以直接转换,而从大到小,或char 和其他6种数据类型转换,则必须使用强制转换。
     
    自动转换:
    除了整数转小数,不会有精度损失
    不会出现任何运行时(run-time)异常。
     
     
    强制转换
    把大的转成小的
    (target-type) value;
     
    如果整数的值超出了byte所能表示的范围,结果将对byte类型的范围取余数。例如a=256超出了byte的[-128,127]的范围,所以将257除以byte的范围(256)取余数得到b=1;需要注意的是,当a=200时,此时除了256取余数应该为-56,而不是200。
    将浮点类型赋给整数类型的时候,会发生截尾(truncation)。也就是把小数的部分去掉,只留下整数部分。此时如果整数超出目标类型范围,一样将对目标类型的范围取余数。

  • 相关阅读:
    亚信防毒墙网络版卸载
    Ubuntu之apt
    Python(00):内存中读写数据StringIO和BytesIO
    Windows使用cmd命令行中查看、修改、删除与添加环境变量
    微信小程序教程
    微信小程序之云开发
    微信小程序-简易计算器
    第一个微信小程序——实现获取用户信息替换用户名和头像到首页
    Python(00):RSA加解密
    Python(00):使用selenium模块
  • 原文地址:https://www.cnblogs.com/take-it-easy/p/14500607.html
Copyright © 2011-2022 走看看