一、

1、
基本类型:short 二进制位数:16 
包装类:java.lang.Short 
最小值:Short.MIN_VALUE=-32768 (-2的15此方)
最大值:Short.MAX_VALUE=32767 (2的15次方-1)

2、
基本类型:int 二进制位数:32
包装类:java.lang.Integer
最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方)
最大值:Integer.MAX_VALUE= 2147483647  (2的31次方-1)

3、
基本类型:long 二进制位数:64
包装类:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808 (-2的63次方)
最大值:Long.MAX_VALUE=9223372036854775807 (2的63次方-1)
4、
基本类型:float 二进制位数:32
包装类:java.lang.Float
最小值:Float.MIN_VALUE=1.4E-45 (2的-149次方)
最大值:Float.MAX_VALUE=3.4028235E38 (2的128次方-1)
5、
基本类型:double 二进制位数:64
包装类:java.lang.Double
最小值:Double.MIN_VALUE=4.9E-324 (2的-1074次方)
最大值:Double.MAX_VALUE=1.7976931348623157E308 (2的1024次方-1)

基本类型 字节数 位数 最大值 最小值
byte 1byte 8bit 2^7 - 1 -2^7
short 2byte 16bit 2^15 - 1 -2^15
int 4byte 32bit 2^31 - 1 -2^31
long 8byte 64bit 2^63 - 1 -2^63
float 4byte 32bit 3.4028235E38 1.4E - 45
double 8byte 64bit 1.7976931348623157E308 4.9E - 324
char 2byte 16bit 2^16 - 1 0

二、当整数数据类型的值和浮点小数相加减时,最好先把类型做强转之后再加减,或者使用BigDecimal 来进行计算。

例子1:

long long1=922337203685477580L;
float float1=1.911111111F;
float float4=long1-float1;
double double1=long1-float1;
long long2=(long)(long1-float1);
float float2=(float)(long1-float1);
long long3=long1-(long) float1;
float float3=(float)long1-float1;
Log.d("qtest",float4+"/"+double1+"/"+long2+"/"+float2+"/"+long3+"/"+float3+"/");
结果: 9.223372E18/9.223372036854776E18/922337203685477580/9.223372E18/922337203685477580/9.223372E18/

例子2:

long long1=92233720685477580L;
float float1=1.911111111F;
float float4=long1-float1;
double double1=long1-float1;
long long2=(long)(long1-float1);
float float2=(float)(long1-float1);
long long3=long1-(long) float1;
float float3=(float)long1-float1;
Log.d("qtest",float4+"/"+double1+"/"+long2+"/"+float2+"/"+long3+"/"+float3+"/");
结果: 9.223372E18/9.223372036854776E18/92233720685477580/9.223372E18/92233720685477580/9.223372E18/

例子3:

long long1=923372036854775807L;
float float1=1.911111111F;
float float4=long1-float1;
double double1=long1-float1;
long long2=(long)(long1-float1);
float float2=(float)(long1-float1);
long long3=long1-(long) float1;
float float3=(float)long1-float1;
Log.d("qtest",float4+"/"+double1+"/"+long2+"/"+float2+"/"+long3+"/"+float3+"/");
结果: 9.123372E18/9.1233720040643625E18/9233720/9.123372E18/9233720/9.123372E18/

总结:
  整数减去浮点小数,得到的是浮点小数类型的值。所以,如果想要得到整数类型的值,那么先把浮点小数转为整数类型,然后进行运算。

java 基本数据类型的取值的更多相关文章

  1. 了解Java基本数据类型的取值范围

    拿byte类型做栗子 一个字节是8位二进制数,然后最高位会用来作为符号位.正数计算机是存的原码,负数是存的补码. 也就说byte正数最大是0111 1111,转化为十进制是:127(这就是byte的上 ...

  2. Java基本数据类型的取值范围

    版权声明:本文为博主原创文章,未经博主允许不得转载. 先看一段代码public class Hello{    public static void main(String[] args){      ...

  3. Java 基本数据类型的取值范围

    基本数据类型,字节数,位数,最大值和最小值. 1. 基本类型:short 二进制位数:16 包装类:java.lang.Short 最小值:Short.MIN_VALUE=-32768 (-2的15此 ...

  4. mysql中数据类型的取值范围

    mysql整型bigint.int.mediumint.smallint 和 tinyint的语法介绍,如下: 1.bigint 从 -2^63 (-9223372036854775808) 到 2^ ...

  5. C语言中数据类型的取值范围

    C语言中数据类型的取值范围如下:char -128 ~ +127 (1 Byte)short -32767 ~ + 32768 (2 Bytes)unsigned short 0 ~ 65536 (2 ...

  6. C语言中各个数据类型的取值范围

    因为CPU的差异,各系统中的数据类型所占的字节数(bytes)不同,二进制位数(bit)也不同.那么怎样才能知道自己系统的数据类型的字节数,位数呢? 授之以鱼不如授之以渔,大家可以自己从电脑里获取这些 ...

  7. Java基础:8种基本数据类型,取值范围和储存字节说明。

    Java中,一共有8种基本数据类型: 4种整数型:int,short,long,byte. 2种浮点型:float,double. 1种字符类型:char. 1种表示真值的类型:boolean. [S ...

  8. java数据类型,取值范围,引用类型解析

      与javascript不同,Java是强类型语言,在定义变量前需要声明数据类型.主要分两种数据类型:基本数据类型和引用数据类型. 1.基本数据类型分析: 基本数据类型 数值型 整数型 byte字节 ...

  9. Java中float/double取值范围与精度

    Java浮点数 浮点数结构 要说清楚Java浮点数的取值范围与其精度,必须先了解浮点数的表示方法,浮点数的结构组成,之所以会有这种所谓的结构,是因为机器只认识01,你想表示小数,你要机器认识小数点这个 ...

随机推荐

  1. 002 网上看的unity学习路线

  2. Python:Mac 下 MQTT 服务器 Mosquitto 的配置

    我在Mac电脑上搭建时遇到了一些不同于网上大部分情况的问题,特此分享给可能也有遇到相同情况又找不到解决方法的人. 我的电脑系统:macOS Mojave 10.14.3. paho-mqtt 的安装 ...

  3. input表单强制大小写

    如题,在HTML页面中常常有遇到强制表单大小写的场景. 在css中设置,HTML页面元素引用就可以了 强制大写: .toUp{ text-transform:uppercase; } 强制小写: .t ...

  4. MySQL巧建sum索引帮我们提高至少100%的效率

    有两个表,表a CREATE TABLE `a` ( `id` mediumint() unsigned NOT NULL AUTO_INCREMENT, `fid` ) unsigned ', `c ...

  5. JS 获取图片的base64编码

    获取图片的base64编码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  6. 友盟统计单页面应用vue

    根据友盟官方提示在index.html的body标签末尾加入相关代码后: 后来发现,由于项目为单页面应用,在路由发生跳转时(到其他页面了),并不会重新将新页面加入统计中.需要在App.vue页面中,监 ...

  7. java -jar和hadoop jar的区别

    hadoop jar可以看做是java -jar的升级,可以和它一样带参数,程序一样的解析 不同的是hadoop jar运行的jar包他会依赖于hadoop安装目录下面的一些环境,并且你jar包里指定 ...

  8. Spring Cloud 2-RabbitMQ 集成(八)

    Spring Cloud  RabbitMQ  pom.xml application.yml 提供者 消费者 队列配置 单元测试 通过消息队列MQ做为通信中心,这里采用RabbitMQ.安装方参考: ...

  9. WPF实战之一 桌面消息框(右下角消息弹出框)

    此版本是根据别人的项目改造的,记录下笔记 原文:https://blog.csdn.net/catshitone/article/details/75089069 一.即时弹出 1.创建弹出框 新建一 ...

  10. 获取页面所有a标签href

    for(i=0;i<=document.getElementsByTagName("a").length;i++){ console.log(document.getElem ...