一.数据类型的介绍
1.数据类型在数据结构中的定义是一个值的集合.
简单理解 : Java对数据进行了分类,存在不同的类型.
因为电脑储存的数据类型都是不一样的,而不同的数据类型占用的存储空间是不一样 的,所以数据分类是为了更好的利用计算机内存空间。
2.基本数据类型和应用数据类型的区别
基本数据类型:一个变量,存储的是值得本身。
int i = 10;i = 10
引用数据类型:一个变量,存储的是指的引用。
int b = 01023 01023 = 65;
3.二进制
计算机底层本质存储的数据形式就是二进制数据
逢2进1
进制的本质就是计算
4.整数数据类型
byte : 1byte------8bit
short : 2byte
int : 4byte
long : 8byte
不管多大,多小的整数都是int类型
要转换成long类型的整数,需要在数据后面加上L
整数类型的数值范围肯定是有点的
注意:BigLnreger(大整数)
5.浮点数据类型
浮点数:小数
float 4byte
double 8byte
一个浮点数的默认类型是double类型【编译:只看类型,不看数值大小】
浮点数,表示的不是一个精准的数字【只是一个无线接近于该数字的值】
6.字符布尔数据类型【了解】
什么是字符:单引号引起来的一个符号就是字符数据 例如:’A’
1)存储单位16 位[0-65535] [2个字节,16位]。字符常量使用单引号 ''包裹起来。
2)表现形式:
a.'A'最常用,最直观的方式
b. 使用一个数字表示,对应有一个ASCII码表[ 字符编码 ]
例如:char c = 65;//表示 'A' 这个字符
c.16进制表现形式
'A'-》65(10进制)
'A' -》0x41(16进制)怎么表示? '\u0041'
d.特殊符号(需要使用转义符号转义)
\' \" \\ \r(回车) \n(换行) \t(制表符Tab)
3).字符数据可以当成一个整数来使用,
4).什么是asscii表,就像化学元素周
5).布尔类型boolean
值只有两个 true false,不能使用 0 1表示
7.String类型
1)字符串 "ABC" 一串字符
引用数据类型【name】 应该存入的是地址值
String 与+号一起使用,是字符串拼接的效果
a.字符串拼接的结果是,字符串
字符串:都是从左往右运算的
拼接的结构是字符串
2)一个类其实就是一种引用数据类型
a.自己写的一个类也是一种数据类型,类型为类名
b.误区 : 很多人一开始觉得 Java中提供的类才是一种类型,而我们自己写觉得不是!
c.我们自己写的类和Java已经写好的,性质一样:面向对象会详细讲解这块内容
二.数据类型转换
- 数据类型转换介绍
1)基本数据类型
byte short char int long float double boolean
2)引用类型数据
String, 枚举 , 数组 ,接口,枚举
3)基本数据和引用类型数据的区别
1.基本数据类型变量: 存的是值的本身
2.引用类型数据变量: 存的是对值的引用[ 地址值 ]
4)什么是数据类型转换
数据类型的转换:数据的类型转换,比如整数10转换成小数10.0
5)为什么要进行数据类型的转换
为了节省空间大转小
Web前台传的都是字符串数据,如果后台需要运算,得转换
2.数据类型转换到核心认识
为什么要数据类型的转换呢?
是为了节省空间大转小,而Web前台传的都是字符串数据,如果后台需要运算,就必须得转换。
核心认识:
整型数据【值】 : 默认类型为int类型 :例如:12默认为int类型
小数数据 : 默认为double类型 :例如:3.14默认为double类型
数据类型转换又分为:
自动类型转换和强制类型转换。
3.自动类型转换
概念:
是小数据类型转换成大数据类型【存储空间大小】。
基础原则+细节:
最基础的,就是所谓的自动转换
long c = 10;
short s = 20;
int k = s;
1)数据类型过长 和 溢出
2)long float double只要两个操作数中有一个是上面类型的,另一个就会被转换成 相应类型,并且结果也是该类型[自动类型的提升】
3)如果2个操作数(括byte,short,char,int),都将会转换为int类型,并且结果也 是int(自动向上转型)
4)字符参与预算,会先转换成编码值,然后再参与运算
5)特例:只看类型不看值
byte b = 10;
int i = 10;
b = i;//编译的时候看变量,只看类型不看值
4.强制类型转换
概念:
大的类型,转换成小的类型[存储空空间来决定数据类型的大小]
强转语法:
数据类型 变量 = (数据类型)值; 变量:值,.....[结果是你要的数据就行]
举例:double d = 3.14;
float f =(float)d;
System.out.println(f);
输出得到的f=3.14