Java基础之数据类型
Posted 木木子木木呀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础之数据类型相关的知识,希望对你有一定的参考价值。
数据类型
进制之间的转换
十进制 二进制(0B) 八进制(0) 十六进制(0X)之间的转换
十进制转二进制:除2到取余
二进制转八进制:从最右边开始,三位一组,换算成十进制的值
二进制转十六进制:从最右边开始,四位一组,换算成十进制的值
浮点型float和double
小数涉及:整数部分 小数部分 . 正负号
1、小数部分转成二进制,是乘2取整数部分
3.14----》11.00100...
2、科学计数法表示
1.100100...*n的1次方
科学计数法,整数部分永远是1,小数点也不用存储,只存三个内容:正负号,几次方,小数点部分。
float:4个字节, 最高位符号位,8位存指数,其他小数部分
double:8个字节, 最高位符号位,11位存指数,其他小数部分
3、浮点类型不稳定,因为十进制转二进制,小数点需要会舍掉一些
4、float类型存的范围其实比long还要大,因为浮点型的底层存储的是指数
基本数据类型转换
1、隐性转换:数值类型,如果小的类型可以转成大的类型,大的类型不可以转成小的
2、强制转换:运用于字符和数值型,强制转成想要的,例如int a=(int)10.0,缺点:会溢出,缺失精度
3、两个byte,short,char类型相加,产生编译错误
byte a = 1; byte b = 1; byte c = a + b; //因为byte底层还是用Int进行运算 //同理short,char也会转成Int类型
任何类型和字符串拼接,都会转成字符串类型
char c1 = ‘0‘; char c2 = ‘1‘; System.out.println(c1+c2+""); //97 System.out.println(""+c1+c2); //01 System.out.println(c1+""+c2); //01 //算法运算用左往右,所以c1+c2按照求和运算,char+char=int, 所以结果是97 //""+c1 是按照拼接运算,字符串+char=字符串
以上是关于Java基础之数据类型的主要内容,如果未能解决你的问题,请参考以下文章