Java 基本数据类型
目录
一、变(变化)量(值)的介绍
1.概念
2.变量使用的基本步骤
3.变量使用注意事项
二、Java数据类型
1.数据类型
2.整数类型
2.1基本介绍
2.2整型的类型
2.3整型使用细节
3.浮点类型
3.1基本介绍
3.2浮点型的分类
3.3浮点型使用细节
4、字符类型(char)
4.1基本介绍
4.2字符类型使用细节
5、布尔类型:boolean
5.1基本介绍
三、基本数据类型转换
1.自动类型转换
1.1数据类型按精度大小排序为
1.2自动类型转换注意和细节
2.强制类型转换
2.1基本介绍
2.2强制类型转换细节说明
3.基本数据类型和String类型的转换
3.1介绍
3.2使用
一、变(变化)量(值)的介绍
1.概念
变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。
2.变量使用的基本步骤
(1)声明变量
eg.int a;
(2)赋值
eg. a=10;//把10赋给变量a
当然也可以一步完成:int a=10;
我们一般都是一步完成。
3.变量使用注意事项
(1)变量表示储存中的一个内存区域(不同的变量,类型不同,占用的空间大小不同)。
(2)该区域有自己的名称(变量名)和类型(数据类型)。
(3)变量必须先声明后使用,即有顺序。
(4)该区域的数据/值可以在同一类型范围内不断变化。
(5)变量在同一个作用域不能重名。
(6)变量=变量名+值+数据类型(变量三要素)。
二、Java数据类型
1.数据类型
每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间(字节)。
(1)上图中可以看出Java数据类型可分为两大类:基本数据类型和引用数据类型
(2)基本数据类型有8个:byte、short、int、long、float、double、char、boolean。
(3)引用类型:类、接口、数组。
2.整数类型
2.1基本介绍
Java的整数类型就是用于存放整数值的,比如12,30,3456等等。
2.2整型的类型
2.3整型使用细节
(1)java各整数类型有固定的范围和字段长度,不受具体OS(操作系统)的影响,以保证Java程序的可移植性 。
(2)java的整型常量(具体值,eg .10)默认为int型,声明long型常量需在值后加l/L(eg.10L)。
(3)java程序中变量常声明为int型,除非不足以表示大数,才用long。
(4)bit:计算机中最小的储存单位,byte:计算机中基本储存单元,1byte=8 bit。
3.浮点类型
3.1基本介绍
Java 的浮点类型可以表示一个小数,比如 123.4 ,7.8 ,0.12等等。
3.2浮点型的分类
注意:
关于浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位;
尾数部分可能丢失,造成精度损失(小数都是近似值)。
3.3浮点型使用细节
(1)与整数类型类似,java浮点类型也有固定的范围和字段长度,不受OS(操作系统)的影响(float[4],double[8])。
(2)java的浮点型常量默认为double型,声明float型常量,需在值后加‘f’/'F'。
(3)浮点型的常量有十进制数形式和科学计数法形式(eg,5.12、5.12e2[5.12*10的2次方])。
(4)通常情况下,应使用double型,因为它比float型更精确。
(5)浮点数作算术运算时,会有数据丢失
eg.2.7和8.1/3比较
double a=2.7;
double b=8.1;
double c=b/3;//c=2.69999999997
4、字符类型(char)
4.1基本介绍
字符类型可以表示单个字符,字符类型是char,char是两个字节(可以存放汉字),多个字符我们用字符串String。
4.2字符类型使用细节
(1)字符常量是用单引号('')括起来的单个字符。
(2)java还允许使用转义字符'\'来将其后的字符转变为特殊字符型常量。
(3)在java中,char的本质是一个整数,在输出时,是Unicode码对应的字符。
(4)可以直接给char赋一个整数,然后输出时,会按对应的unicode字符输出。
(5)char类型是可以进行运算的,相当于一个整数,因为它都对应有unicode码
5、布尔类型:boolean
5.1基本介绍
(1)布尔类型也叫boolean类型,boolean类型数据只允许取值true和false,无null。
(2)boolean类型占一个字节。
(3)boolean类型适用于逻辑运算,一般用于程序流程控制。
三、基本数据类型转换
1.自动类型转换
当java程序进行赋值或运算时,精度小的类型自动转换为精度高的数据类型,这就是自动类型转换。
1.1数据类型按精度大小排序为
(1)char->int->long->float->double
(2)byte->short->int->long->float->double
1.2自动类型转换注意和细节
(1)有多种类型的数据混合运算时,系统首先自动将所有数据换成精度最大的那种数据类型,然后再进行计算。
(2)当我们把精度大的数据类型赋值给精度小的数据类型时,会报错,反之则进行自动类型转换。
(3)byte、short和char之间不会相互自动类型转换。
(4)boolean不参与转换。
(5)当把具体数值赋给byte时,会先判断该数是否在byte范围(-128~127)内,如果在则可以赋值,若不在则报错。
(6)byte、short、char他们三者可以计算,在计算时首先转换为int类型,无论是单独运算还是混合计算,计算结果都会被转换为int类型。
byte a=1;
byte b=5;
byte c=a+b;//错误,a+b结果为int型(高精度),赋给byte型(低精度)错误
2.强制类型转换
2.1基本介绍
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符 (),但可能造成 精度降低或溢出,格外要注意。
2.2强制类型转换细节说明
(1)当进行数据的大小从高精度到低精度转换时,就需要使用强制类型转换 。
(2)强转符号只针对最近的操作数有效,往往会使用小括号提升优先级。
(3)char类型可以保存int的常量值,但不能保存int的变量值,需要强转。
(4)byte和short、char类型在进行计算时,当作int类型处理。
3.基本数据类型和String类型的转换
3.1介绍
在程序开发中,我们经常需要将基本数据类型转换为String类型,或者将String类型转换为基本数据类型。
3.2使用
基本类型转换为String类型:将基本类型的值+" "即可
int a=10;
String b=a+""//a+""即基本数据类型转换为String类型
String类型转换为基本类型:通过基本类型的包装类调用parseXX方法即可
String x="231";
int a=Integer.parseInt(x);//Integer(即int全称)
System.out.println(a);//输出231