1:整数默认为int型, long l = 23333333333 ; 所以 23333333333虽然在long的表示范围内,但是默认为int型,所以编译器会提示超出范围提示,必须显示的加上L,即必须定义成long l = 23333333333L。
2:可以将一个较小的整数直接付给byte或者short型。即byte b = 56;系统会自动把它当做byte或者short型处理。
3:浮点数默认为double型,float f = 1.0;这样定义是错的,因为1.0默认为double型,double型8个字节,float型4个字节,所以不能自动转换,需要我们强制转换,所以只能定义成float f=1.0f;或者 float f1 =(float)1.0;
4:java整数有三种表示方式,0开头开始八进制,16进制以0x开头,10-15进制以a-f开头。
5:基本类型满足宽转换,即当把一个 容量小的变量赋给容量大的变量时,是可以自动转换的,否则必须强制转换。 int a= 10 ; double x=a ;(可以自动转换)
6:float和double型可能无法精确的表示浮点数,这时候我们可以使用BigDecimal型,它定义了相应的方法支持大数运算。
7:java中的char占用2个字节,不像c++占用1个字节,因为他才有uniode编码,支持存储中文。
8:我们可以使用科学计数法表示浮点数,例如double y = 5.2e2;
9: java提供了三个特殊的浮点数,Double.NaN表示非数 .NEGATIVE_INFINITY 表示负无穷大 POSITIVE_INFINITY表示正无穷大,同样也可以使用float获取这些类型的数据。
10:只有浮点数和0进行除运算,才能得到正无穷大和负无穷大,整型和0进行除运算,会得到算数异常(除0异常)。
11:boolean类型只能用true和false表示,不能0或者非0表示,这点和c++有所不同。
12: byte型不能自动转换为char型。