提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
Java中的数据类型分为基本数据类型和引用数据类型,这里主要是基本数据类型的小记。(引用数据类型留到以后再记录)
一、基本数据类型分类
1、数值类型
(1)整数类型(byte、short、int、long)
主要注意Java中默认的整型数据类型是int,取值范围 byte < short < int <long < float < double
具体的各个数据类型所占内存和取值范围参考资料:
byte a = 127;
short b = 128;
int c = 10,d = 1001;
long e = 1005L; //数值末尾加上字母 L,区别于int
链接:Java八种基本数据类型(图文详解)
————————————————
版权声明:本文为CSDN博主「Keyl丶Yng」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42225047/article/details/107094715
(2)浮点类型(float、doule)
Java默认浮点类型是double
float a = 1234.567F;//数值末尾F表明是float类型
double b = 1234.567;//默认小数类型
2、字符类型
参考资料链接:
史上最全ASCII码对照表0-255(%d)
1、char类型用于存储单个字符,可以与int类型参与运算。
声明格式:
char a = 'A';
char b = '中';
2、转义字符
转义字符是一种特殊的字符变量,以反斜线“\”开头,后面跟着一个或者多个字符。参考ASCII码表。
声明格式:
char a = '\"'; // 输出一个双引号 "
char b = '\\'; // 输出一个反斜线 \
char c = '\n'; // 作用是换行,光标会移动到下一行开头
char d = '\t'; // 制表符,相当于tab缩进空格
3、布尔类型
布尔类型只有两个值,true和false。
通常用来进行逻辑判断,比如谁大谁小,判断条件是否为真。
boolean a = true;
boolean b = false;
二、数据类型转换
1.自动类型转换(隐式转换)
在定义了不同数据类型之后,有时候不同数据类型相互参与运算会发生自动类型转换,系统自动执行的,不需要我们动手操作
自动数据类型转换的前提:小容量数据类型》》转成 》》大容量数据类型
byte、short、char在和int做运算时,会自动转换成int类型,float与double运算也会自动全转成double类型。
想象一大一小的水杯,大水杯可以装的下小水杯的水。
如果想把大水杯的水强制(强制数据类型转换)倒到小水杯里面,就可能发生溢出,Java里面就是精度丢失。
byte a = 10;
byte b = 20;
a = a + b;//编译会报错,a+b得到一个int类型,int类型数据不能放到byte里面。
a += b; //编译不报错,结果精度可能丢失精度
int a = 10;
double b = 15.55;
a = b;//编译就提示错误了
System.out.println(a);
2.强制类型转换(显示转换)
怎么解决就是要用小水杯接收大水杯的问题呢?
强制进行数据类型转换,但是数据精度可能丢失。
强制数据类型转换的使用:大容量数据类型》》转成 》》小容量数据类型
语法格式:
需要的数据类型 变量1 = (需要转成的数据类型)(运算结果);
还是上面那个例子
int a = 10;
double b = 15.55;
a = (int) b; //强制把double类型的b转成int类型
System.out.println(a);
参考资料链接:
原码、反码和补码之间符号位改变的特殊情况分析(正零+0,负零-0,)
总结
这里主要记录不同数据类型之间参与运算发生的类型不兼容问题该怎么解决,记住,小转大自动进行,大转小需要强制转化。