标签:计算机 二进制 赋值 字节 nbsp 强制 数位 结果 cond
整数类型:byte、short、int 、long
范围与字节的公式:
byte:1个字节,-128-127,(按理说应该是-127-127,因为0有+0和-0的区别,所以多了一个-0,而-0被看成了-128,印度人做的贡献)
short:2个字节,-32768-32767
int:4个字节,-2147483648-2147483647 正好超过了20亿
long:8个字节,-2^63~2^63-1,大概是9*10^18 海量数可以通过字符串或者字符数组来解决
小数类型:float、double
Float:单精度类型,4个字节,大约有效位数6-7位
-3.403E38~3.403E38
Double:双精度类型,8个字节,大约有效位数15位
注:
float a=1.3;这个会报错,因为1.3默认为double,高精度转低精度会损失精度。正确的应该是float a=1.3f;Float的第七位数字会产生四舍五入
用于表示溢出和出错情况的三个特殊浮点数值:正无穷大(double.positive_infinity)、负无穷大(double.negative_infinity)、NaN(Double.NaN)以及相应的float类型的常量。其中NaN不是一个数字,不可以用于判定一个变量是否是==NaN,正确的使用方法是double.isNaN(xxxx)返回布尔值
布尔类型:true和false
字符类型:char、string
char:单个字符,2个字节,可以存放汉字;string:多个字符(String不是基本数据类型,而是引用数据类型)
数据类型可以自动从低精度转换到高精度,高精度到低精度需要强制转换
Int a =(int)1.2;
Int a = (int)1.9; 最后结果里面a均为1,即不管后面,只是截取前面整数部分
Float a=1.2; //报错,损失精度,因为Java中的小数默认是double类型
Float a =1.2f; //正确
Int a=3;
Int b=a+3.4;//计算机中,先计算a+3.4并且往高精度转,所以得到6.4,但此时并不能存入int类型(加减乘除都会往高精度转)
3.引用数据类型:数组、类、接口、枚举
4.未初始化的变量不能拿来直接使用,编译器会报错;变量的初始化和声明可以放在同一行,也就是声明赋值在同一句代码里;利用final指示常量,表示一旦被赋值之后,就不能再更改了,习惯上常量用全大写来表示,如果需要某个常量被一个类的多个方法使用的 话,可以在前面添加static
标签:计算机 二进制 赋值 字节 nbsp 强制 数位 结果 cond
原文地址:https://www.cnblogs.com/ThreeJinBlogs/p/8985116.html