Java数据类型详解

基本数据类型(8种)

整数类型

  • byte 1个字节 -128-127
  • short 2个字节 负的3万多到正的三万多 -32768-32767
  • int 4个字节 负的20多亿到正的20多亿 -2147483648-2147483647
  • long 8个字节 最大,需要在数字后加大写L表示long型

拓展

进制问题

​ 2进制 8进制 10进制 16进制

​ 0b开头 0开头 正常 0x开头 0-9 a b c d e f

比如 数字10的表示

int a = 10;// int a = 0b1010;		int a = 012;		int a = 0xa;

拓展

bit是数据存储的最小单位,而byte字节是数据处理的基本单位

1byte即1字节=8bit(8位二进制数)

1kb=1024B;1Mb=1024kb;1GB=1024MB;1tb=1024gb;

浮点数

  • float 4个字节 同样需要在数字后面加大写的F来表示;
  • double 8个字节 默认类型

拓展

银行金融业务

尽量避免或者不使用浮点型比较!!!

浮点型 有限 离散 舍入误差 大约 接近但不等于

进行比较应选择Bigdecimal类

字符型

  • char类型 占2个字节

拓展

字符是指计算机中使用的字母,数字,字,符号

编码Unicode表

u0000-uFFFF 大约表示60000多个 65536

char a = ‘\u0061’;	char a = ‘a’;

字符本质上还是数字,只不过经过各种编码,把字符转成数字,或者数字转成字符

转义字符

布尔类型

  • boolean true/false 对或者错 占一位即1bit

拓展

boolean flag = true;
if(flag==true){}//新手
if(flag){}//熟练

引用数据类型

类、数组、接口······不是基本数据类型就是引用数据类型


基本数据类型初始化都是0或者0.0;u0000;布尔类型默认为false

但是除了基本数据类型之外的数据类型初始化值都为null


数据类型转换

低容量----------------------------------------->高容量

byte short char int long float double

  • 强制转换 高容量------>低容量 格式: (低类型名)高类型变量名
  • 自动转换 低容量------>高容量

注意:

不能对布尔类型操作

不能把对象转换为不相干的类型

高精度转低精度时,强制转换

高转低时,容易发生内存溢出,或者精度问题

操作比较大的数时,注意溢出问题

int money =10_0000_0000;//JDK7新特性,数字可以用下划线分割开
int years =20;
//int total = years * money;	计算时内存溢出
//long total = years *monry;	转换操作之前内存溢出就已经发生
long total = ((long)years)*money;//long total = years*((long)money);
posted on 2023-03-09 18:38  酥皮面包康  阅读(47)  评论(0)    收藏  举报

ヾ(≧O≦)〃嗷~