Java8种基本数据类型

8种基本数据类型

第一类:逻辑型(boolean)

boolean类型只存在true(真),false(假)两种形式
例: boolean a = true; boolean b = false;

第二类:文本型(char)

字符常量通常用单引号括起来(可以是中文)java采用unicode编码,每个字符占两个字节,
例: char a=‘a’;char b=‘你’;

第三类:整数型(byte,short,int,long)

byte: 8 位,用于表示最小数据单位,如文件中数据,-128~127
short: 16 位,很少用 从-32768到32767
int: 32 位、最常用,-231-1~231 (21 亿) 从-2147483648,到2147483647共10位
long: 64 位、次常用 从-9223372036854775808到9223372036854775807共19位

第四类:浮点型(float,double)

float: 32 位,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数
double: 64 位,最常用,后缀 D 或 d,1 位符号位,11 位指数,52 位有效尾

注意: 在数学中0到1有无数个浮点数;而计算机是离散的,所以表示的时候有误差,计算机用精度(小数点后几位来表示正确),比较浮点数时a==0.1是不合适的,应该a-0.1==0;如果a是0.1,则即使有误差 a-0.1==0因为a和0.1都被表示为一个有误差的计算机二进制

各类型中的注意点

整数在Java中默认是int类型,浮点数默认是double类型
定义long类型数据的时候,要加L或l,建议大写的L
定义float类型的数据的时候,要加F或f,建议大写的F

特别说明(String)

String不是基本类型而是引用类型

类型转换

自动转换:byte–>short–>int–>long–>float–>double

**注意:**小可转大,大转小会失去精度

String转换为int或double

int 或 Integer num = Integer.parseInt(String str);
double 或 Double num = Double.parseDouble(String str);

int转换为String

int a = 9;
String s = String.valueOf(a);

自动类型转换

byte short char --> int --> long --> float --> double
由小到大
例:
byte a = 20;
int b = a; // 这里就会自动将a转换为int类型

强制类型转换

// 注意:强制类型转换有可能损失精度
由大到小
例:
int a = 200;
byte b = (byte)a; // 这样就会损失精度,因为byte最大127
posted @ 2019-08-02 12:15  每一天,为明天。  阅读(142)  评论(0)    收藏  举报