注释 JDK JRE JVM 基本数据类型 强制类型转换 单精度与双精度
一 注释
单行注释
//
多行注释
/*
*
*/
文档注释
/**
*
*
*/
二 JDK , JRE , JVM的区别
三 基本数据类型(8个)
整型:
byte 1个字节 二进制位8位 00000001 -128~127 1byte = 8bit 默认值:0
short 2个字节 二进制位16位 是int的二分之一
int 4个字节 二进制位32位
long 8个字节 二进制位64位 long l1 = 10L;
字符型:
char 2个字节 c = 'a';
浮点型:
float 4个字节 f1 = 1.1f; //单精度
double 8个字节 d1 = 2.2; //双精度
布尔型:
boolean 1个字节 b2 = true;
强制类型转换的时候 , 如果超过了范围他就会倒回去,重新开始算,比如:
输出的是 -56
- 单精度与双精度
float精确度是7位,12.34567是精确的,12也占位
单精度和双精度单精度数(float)是指计算机表达实数近似值的一种方式。VB中Single(单精度浮点型)变量存储为IEEE 32位(4个字节)浮点数值的形式,它的范围在负数的时候是从-3.402823E38到-1.401298E-45,而在正数的时候是从1.401298E-45到3.402823E38。双精度浮点数(double)是计算机使用的一种数据类型,使用 64位(8字节) 来存储一个浮点数。 它可以表示十进制的15或16位有效数字,其可以表示的数字的绝对值范围大约是:2.23x10-308 ~1.79x10308。IEEE754为其定制标准 单精度和双精度区别:单精度和双精度的字节数不同。前者占4个字节;后者占8个字节。单精度是这样的格式,1位符号,8位指数,23位小数。
单精度是这样的格式,1位符号,8位指数,23位小数。
双精度是这样的格式,1位符号,11位指数,52位小数。
它们都分成3部分,符号位,指数和尾数。不同精度只不过是指数位和尾数位的长度不一样。
解析一个浮点数就5条规则
- 如果指数位全零,尾数位是全零,那就表示0
- 如果指数位全零,尾数位是非零,就表示一个很小的数(subnormal),计算方式 (−1)^signbit × 2^−126 × 0.fractionbits
- 如果指数位全是1,尾数位是全零,表示正负无穷
- 如果指数位全是1,尾数位是非零,表示不是一个数NAN
- 剩下的计算方式为 (−1)^signbit × 2^(exponentbits−127) × 1.fractionbits