1.基本数据类型转换:所谓的基本类型转换,就是将a类型空间中的数据,移动到b类型空间中,基本数据类型有8种,但能够转换的只有7种, boolean不能参与转换。情况分为两种:
①自动转换:将数据从小空间,移动到大空间,数据没有任何变化, 不需要任何额外的编码。
②强制转换:将数据从大空间,移动到小空间,数据有可能放不下(会出现失真或精度丢失)
需要通过编码强制jvm来完成这件事。
2.自动转换:
①在变量赋值时发生自动转换。
②在四则混合运算时会发生自动转换,如果有不同类型的数据进行运算,会自动转换成高类型,再运算。如果运算有多步,逐步运算时自动转换,而不是都转换完再运算。
3.强制转换:
①变量赋值时
②人为强转(就是想转) , 不一定非要高转低,也可以低转高
4. ①7种基本类型之间的大小转换关系
byte < short char < int < long < float < double
②short 和 char的关系
-
虽然都是两个字节大小的空间。
-
short取值范围 -32768 ~ 32767
-
char取值范围 0 ~ 65535
-
short和char之间的互转都需要强转。
③float 和 long的关系
-
对于byte,short,int,long这些整形而言,其数字转换成的二进制,按位存储在对应的bit空间中。
-
float的存储与整形不同。
-
将十进制浮点数转换成二进制浮点数 10.14 ==》 1010.10010101
-
将二进制的浮点数变成科学技术法 1010.10010101 ==》 1.01010010 * 23
-
将float的32个bit位置分成3份。 1bit存符号, 8个bit存2的指数,23个bit存小数精度。
-
5.运算符
①比较运算符:比较两个数字的大小相等的情况。 比较的结果是一个boolean值。
-
true 表示比较成功, false表示比较没有成功
比较的运算符有:(== , > , < , >= , <= , !=)
字符串的比较不能用 ==,用equals方法
②条件运算符:条件运算最终会从两个结果中返回其中的一个结果,具体返回哪一个,需要有一个条件,这个条件是一个boolean结果。
条件运算符只有一个,语法如下:
boolean结果?值1:值2
boolean结果为true,最终的条件计算结果为值1
boolean结果为false,最终的条件计算结果为值2
③逻辑运算符
&(逻辑与) , |(逻辑或) , !(非)
&&(短路与) 和 ||(短路或)