『JavaSE』数据类型

微笑、不失礼 提交于 2020-03-04 06:53:59

Java里面包含8个基本数据类型,分别是:boolean、byte、char、short、int、float、douboe、long。

整型变量

byte
占用存储空间:1字节,8位;
表示范围:[-128~127];
表示:byte num = 1;
short
占用存储空间:2字节,16位;
表示范围:[-32768-32767];
表示:short num = 1;
int
占用存储空间:4字节,32位;
表示范围:[-2^31, 2^31 - 1];
表示:int num = 1;
long
占用存储空间:8字节,64位;
表示范围:[-2^63, 2^63 - 1];
表示:long num = 1l或long num = 1L;建议使用大写L,小写容易误认为数字1;

浮点类型

float
占用存储空间:4字节,32位;
表示范围:-3.403E38~3.403E38;
表示:float num = 1f或float num = 1F;
double
占用存储空间:8字节,64位;
表示范围:-1.798E308~1.798E308;
表示:double num = 1.0;
默认是double. 浮点数存在误差,所以在比较中尽量避免使用浮点数,如

float num1 = 0.1fdouble num2 = 1.0/10;
System.out.println(num1==num2);
//输出的是false而不是true;

字符型

char
占用存储空间:2字节,16位;
表示范围:0~216216-1(0~65535);
表示:
char c = ‘a’; 直接通过单个字符指定;
char c = ‘\n’; 通过转义字符制定;
char c = '\uXXXX’XXXX代表一个十六进制的整数,通过Unicode表示;

布尔型

boolean
占用存储空间:1位;
表示范围:true,false;
表示:boolean b = true;

类型转换

1、自动类型转换
容量(表示的数据个数)小的数据类型可以自动转换为容量大的数据类型:

int i = 1;
double d = i;
float f = i;
double d2 = f; 

特例:可以将整数常量直接赋值给byte,short,char等类型变量,而不需要强制类型转换,只要不超出其表示范围:

short b = 12;// 合法;
short b = 1234567;//非法

2、强制类型转换
①强制类型转换用于显示的转换一个数值的类型,在有可能丢失信息的情况下进行的转换是通过强制类型转换来实现的,但可能造成精度降低或溢出;
②当一种类型强制转换为另一种类型,而又超出了目标类型的表示范围,就会被截断为完全不同的值;

char与int的转换

1、char转int
char与int的想换转换,联想ASCll码,字符’0’对应的值为48,所以不能直接加减’ ’

char ch = '9';
int ch_int = ch - '0';
//ch_int = 9

2、int 转char

int i= 9;
char i_ch = i + '0';
//此时i_ch = '9' 
字符值 ASCll值
‘0’ 48
‘9’ 57
‘A’ 65
‘Z’ 90
‘a’ 97
‘z’ 122
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!