JAVA基础类型

来源:互联网 发布:js将对象添加到数组中 编辑:程序博客网 时间:2024/06/05 07:08

基本数据类型

类型 存储大小 包装类 取值范围 byte 8 Byte -128~127 short 16 Short -2^15~2^15-1 int 32 Integer -2^31~2^31-1 long 64 Long -2^63~2^63-1 float 32 Float -3.40E+38 ~ +3.40E+38 double 64 Double -1.79E+308 ~ +1.79E+308 char 16 Character 0~65535 boolean 1 Boolean true/false

  • 从byte到long位数成倍增加,float和double位数分别对应int和long。
  • 整数因为带符号所以最大值2^(位数-1)-1,最小值最高位同时作为符号和值所以取值-2^(位数-1)。
  • char是不带符号的。

基本类型运算

概念介绍

  • 原码:是一种计算机中对数字的二进制定点表示方法,带符号的最高0为正数,1为负数。 举例
    byte类型的原码3:00000011,-3:10000011.(最高位1表示符号位)

  • 补码:“模“概念是指一个计量系统的计数范围,比如short的模2^7(去除1位符号位),在以10模的系统中,加8和减2效果是一样的,因此凡是减2运算,都可以用加8来代替,比如在模为10下计算6-2=(6+8-10)%10=(6+8)%10=4,在10为模下2和8互为补数(区别补数和补码)。在通过模可以把减法运算统统转换成加法运算
    在二进制中 1、正整数的补码是其二进制表示,与原码相同 ;2求负整数的补码,将其对应正数二进制表示所有位取反(包括符号位,0变1,1变0)后加1。

  • 反码正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

计算机通过补码进行计算,结果为补码,补码的补码为原码。
short负数:原码+反码 =2^7-1 原码+负数补码(补数)=2^7 =》补码=反码+1

计算溢出

类型 十进制 二进制 操作 理论值 溢出值 Max 127 01111111 +1 128 10000000 -128 Min -128 10000000 -1 -129 11111111 -127

类型转换

  • 小范围类型转换为大范围类型,自动转换。
  • 大范围类型转换为小范围类型,要显示转换。
  • Short i;int j;j=i+1;自动转换到int,不需要显示转换。