1.数据类型
- 数据类型:数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。
- 二进制:计算机底层本质存储的数据形式就是二进制数据
- 基本数据类型(8种)
- 整数数据类型:byte(8位);short(16位);int(32位);long(64位)
- 浮点型:float(单精度32位);double(双精度64位)
- 字符 char
- 布尔类型boolean(true false)
- 引用类型string
- String是 java中已经设计好的一个类,表示的值是字符串,是字符串数据类型
[注意:Java中设计的类和我们自己设计的类的性质是一样的]
当String 和 + 一起使用的时候,这时候+ 是拼接字符串的功能===字符串(从左往右运算的)
一个类其实就是一种引用数据类型(自己写的一个类也是一种数据类型,类型为类名)
这里 我们来看一下数据类型的转换
2.数据类型转换
- 数据类型转换的介绍
- 概念:数据的类型转换,比如整数10转换成小数10.0为什么要进行数据转换
为了节省空间大转小,Web前台传的都是字符串数据,如果后台需要运算,得转换
- 一些需要明确认识的:
-
-
- 整型数据【值】 : 默认类型为int类型 :例如:12默认为int类型
- 小数数据 : 默认为double类型 :例如:3.14默认为double类型
- 自动类型转换:小数据类型转大数据类型【存储空间的大小】
- 强制类型转换
- 大数据类型转小数据类型[存储空间大小]
- 相同存储空间不同类型表达值范围不一样[例如:char及short
-
-
为什么float 在long 后面?
小数(浮点数) 的存储方式,结构和整数不一样
- 自动转换
- 数据类型过长 和 溢出
- long float double只要两个操作数中有一个是上面类型的,另一个就会被转换成相应类型,并且结果也是该类型
- 如果2个操作数(包括byte,short,char,int),都将会转换为int类型,并且结果也是int(自动向上转型
- char类型向更高长度类型(例如整型)转换时,会转换为对应的ASCII码值,再做其他类型的自动转换
注意:
- char型具有两个字节,其数值范围是0 ~ 2^16-1,
- short类型也具有两个字节,其值的范围是-2^15 ~ 2^15-1
这直接导致byte型不能自动类型提升到char,char和short直接也不会发生自动类型提升(因为值范围问题),同时,byte当然可以直接提升到short型。
所以,char 不能和byte short 相互自动转换
- 强制转换
- 语法
- 数据类型 变量名 = (数据类型)值;//值可能是更高的类型
- 前面:较小的数据类型
- 后面:较大的数据类型
- 注意事项
- 高转低会导致精度丢失,不同类型的强制转换,可能会导致精度的下降.
- 实际开发中:应该要知道被强制转换的数据,是在一个已知的范围