浮点型变量
双精度浮点型double
大小:8个字节
1.
int型除以int型的值不会是小数的(int会自动省略小数)
如果要得到小数,要用double型
或者这样:
小数没有一个非常精确的数字,小数点后面也许会有几个甚至几十个小数位
注意事项:
单精度浮点型float
大小:4个字节
和double不一样的地方:flaot的值后面要加f,表示它是单精度浮点型,是4个字节。
字符型变量
char
大小:2个字节
在java中,char是2个字节,汉字其实是2个字节,所以char能存放汉字。
class Test{ public static void main(String[] args) { char a='A'; char b='吴'; System.out.println(a); System.out.println(b); } }
总结:
java中使用单引号引起单个字母的形式表示字符字面值。
c语言使用ASCII码值表示字符,而java使用Unicode表示字符,因此字符大小是两个字节。java能表示的字符种类更多。
布尔型变量 boolean
大小:没有明确规定多大
注意事项:
class Test{ public static void main(String[] args) { boolean flg =true; System.out.println(flg); } }
boolean的包装类是Boolean
类型转换
自动类型转换(隐式)
当数据范围小的赋值给数据范围大的时,范围小的类型会自动转变成范围大的类型。
总结:
- 字节小的能赋值给字节大的,并且会自动转换成那个字节大的类型。
- 字节大的不能赋值给字节小的,大碗水倒进小碗水里会溢出,在这里也就是会导致数据丢失。(不安全!)
强制类型转换(显式)(不建议)
字节大的赋值给字节小的也是有办法的,
就是在把字节大的强制类型转换成字节小的。
但这个办法有点冒险
会导致数据丢失。
boolean型不能转换成别的类型。
注意事项:
运算中的类型提升
小类型和大类型相加,要用那个大类型接收相加的结果
int型和long型相加,int会提升为long型,所以要用long接收相加的结果
class Test{ public static void main(String[] args) { int a =10; long b=100L; long c=a+b; System.out.println(c); } }
小于4个字节的类型相加,在运算的过程中会提升为4个字节,所以要用int类型接收相加的结果
byte型和byte型相加
class Test{ public static void main(String[] args) { byte f =10; byte f2=100; int f3=f+f2 System.out.println(f3); } }
总结
以上就是关于类型数据的内容,写了一遍印象更深刻了。