JavaSE基础-数据类型
Java中的数据类型
Java中的数据类型总共分为两种:基本数据类型和引用类型
- 基本数据类型
- 整数类型
byte: 占1个字节
short: 占2个字节
int: 占4个字节
long: 占8个字节 - 浮点型
float: 占4个字节
double: 占8个字节 - 字符型
char: 占2个字节 - 逻辑类型
boolean: 占一位,值为true或者false
- 整数类型
- 引用数据类型
类,接口,数组等等。 - Java数据类型中的进制
2进制的数据以0b开头,8进制数据以0开头,16进制数据以0x开头。public static void main(String[] args) { int x1 = 0b10; int x2 = 010; int x3 = 0x10; System.out.println("2进制x1="+x1); System.out.println("8进制x2="+x2); System.out.println("16进制x1="+x3); } //2进制x1=2,8进制x2=8,16进制x1=16 - 关于浮点型数据比较的问题
先来看关于浮点型的两组比较
之所以会出现这样的问题,原因是浮点型的数据是有限的,计算机不能精确的表示,结果是一个离散的有限值,所以要求;float f1 = 0.1f; double f2 = 1.0/10;//false System.out.println(f1==f2); float f3 = 232321213121313f; float f4 = f3+1; System.out.println(f3==f4);//true
尽量不使用浮点型进行比较 - 类型转换
由于Java是强类型语言,所以有的时候运算需要类型转换
运算中,不同类型的数据先转为同一类型,然后再进行运算。
从高类型到底类型需要进行强制类型转换
从低类型转换到高类型会自动类型转换
在高类型到低类型转换的时候,可能会发生内存溢出导致数据
结果为-128是因为byte只占一个字节,范围在-128~127之间。int i = 128; byte j = (byte) i; System.out.println(j);//结果为-128
注意点:- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出,或者精度的问题。
posted on 2021-03-13 20:06 huangcong111 阅读(20) 评论(0) 收藏 举报
浙公网安备 33010602011771号