数据类型
**强类型语言:**要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
**弱类型语言:**对变量的使用要求不严格,如VB,JS
Java数据类型
基本类型(primitive type):
**整数类型:**byte(1字节,-128-127),short(2字节,-32768-32767),int(4字节,-2147483648-2147483647,一般用int型就够了),long(8字节,需要在数字后面加L以区分,如30L)
**浮点类型:**float(4字节,在小数后加F以区分,如50.1F),double(8字节,常用此类型)
**字符类型:**char(2字节),String不是关键字,是类
**Boolean类型:**占1位,只有true和false两个值
引用类型(reference type):
类、接口、数组
拓展:
整数拓展:
进制:二进制0b,十进制,八进制0开头,十六进制0x开头
如输出不同类型中的“10”:
十进制:i=10(10)
八进制:i1=010(8)
十六进制(09,AF):i3=0x10(16)
浮点数拓展:
浮点数能表现得字长是有限的,它是离散的,有舍入误差,大约、接近但不等于
所以最好完全避免使用浮点数进行比较!!
银行业务怎么表示?用Bigdecimal这个数学工具类
类型转换
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换,运算中,不同类型的数据先转换位同一类型,然后进行运算
转换时由低到高
byte,short,char—>int—>long—>float—>double(小数的优先级大于整数)
强制转换(高—>低):(类型)变量名
**自动转换(低—>高):**直接将内存低的赋值给内存高的
Notice!!!
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出,或者精度问题
- 操作比较大的数的时候,注意溢出问题
- JDK7新特性,数字之间可以用下划线分割,如:10_0000_0000