博客园 首页 私信博主 显示目录 隐藏目录 管理

Java数据类型

Java数据类型

1、基本数据类型(primitive type)

byte

一个字节 -128 ~ 127

byte num = 10;
int

四个字节 -2147483648 ~ 2147483647

int num = 100;
long

八个字节 -9223372036854775808 ~ 92233720368547758087

long num = 100L;
float

四个字节

float num = 100.0f;
double

八个字节

double num = 100.0;
char

两个字节

char num = 'a';
short

两个字节 -32768 ~ 32767

short num = 30;
boolean

一个字节 只有true 和 false

boolean num = true;

字节是什么?

  • 位(bit)是计算机内部数据存储的最小单位,11001100是一个八位二进制数

  • 字节(byte)是计算机中数据处理的基本单位,习惯上用大写B来表示

    1B = 8 bit

    1024B = 1KB

    1024KB = 1M

    1024M = 1G

  • 字符是指计算机中使用的字母、数字、字和符号

2、引用类型(reference type)

  • 接口
  • 数组

扩展

int扩展(进制)
  • 二进制

    int i = 0b01001;
    
  • 十进制

    int i = 100;
    
  • 八进制

    int i = 010;
    
  • 十六进制

    int i = 0x10;
    
float和duoble扩展(精度问题)

float对于长度过长的数据表示是有误差的,存储的是大约的数据,金额尽量采用BigDecimal

字符扩展(字符转换为数字)
char num = 'a';
int result = (int)num;//a:97 A:65

字符本质是数字(unicode编码)

转义字符
转义字符 意义 ASCII码值(十进制)
\b 退格(BS) ,将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行(LF) ,将当前位置移到下一行开头 010
\r 回车(CR) ,将当前位置移到本行开头 013
\t 水平制表(HT) (跳到下一个TAB位置) 009
\v 垂直制表(VT) 011
\\ 代表一个反斜线字符\ 092
\' 代表一个单引号(撇号)字符 039
\" 代表一个双引号字符 034
\0 空字符(NULL) 000
\ddd 1到3位八进制数所代表的任意字符 三位八进制
\uhhhh 1到2位十六进制所代表的任意字符 二位十六进制
类型优先级

从低到高

byte,short,char------>int---->long------>float------->double

数值运算时,优先转换成高的同一种数据类型在进行计算

高优先级的数据类型变成低优先级的数据需要强制转换,但是需要注意会不会出现数值超越范围的情况(内存溢出或者精度问题)

低优先级的数据类型变成高优先级的数据是可以直接转换

int num1 = 10000;
byte num2 = (int)num1;//内存溢出
float num3 = 100.11f;
int num4 = (int)num3;//精度损失
char num5 = 'a';
int num6 = num5 + 1;
posted @ 2021-04-29 21:15  莫逆追风  阅读(59)  评论(1)    收藏  举报