码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础之数据类型

时间:2019-11-14 20:02:25      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:编译   缺点   次方   不可   long   java   计数   style   字节   

数据类型

进制之间的转换

十进制 二进制(0B) 八进制(0) 十六进制(0X)之间的转换

十进制转二进制:除2到取余

二进制转八进制:从最右边开始,三位一组,换算成十进制的值

二进制转十六进制:从最右边开始,四位一组,换算成十进制的值

浮点型float和double

计算机中存储3.14

小数涉及:整数部分 小数部分 . 正负号

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 = 1byte c = a + b;   //因为byte底层还是用Int进行运算

//同理short,char也会转成Int类型

4、字符串类型

任何类型和字符串拼接,都会转成字符串类型

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基础之数据类型

标签:编译   缺点   次方   不可   long   java   计数   style   字节   

原文地址:https://www.cnblogs.com/elegantdream/p/11860959.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!