变量与基本数据类型
Posted cccc4
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了变量与基本数据类型相关的知识,希望对你有一定的参考价值。
变量
就是申请内存来存放指定值。也就是或,当创建变量时,需要在内存中申请空间
数据类型就规定了内存空间只能存放什么类型的数据
因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符
Java的两大数据类型
内置数据类型
引用数据类型
内置数据类型
Java语言提供了八种基本数据类型。六种数字类型(四个整数型,两个浮点类型),一种字符类型,一种布尔类型
byte:
byte数据是1个字节(8位)、有符号的。以二进制补码表示的整数
最小值是 -128(-2^7)
最大值是 127(2^7-1)
默认值是0
byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有int类型的四分之一
例子: byte a = 100,byte b = -50
short:
short数据是2个字节(16位)、有符号的以二进制补码表示的整数
最小值是 -32768(-2^15)
最大值是 32767(3^15 -1)
short数据类型也可以像byte那样节省空间。一个short变量是int型变量所占空间的二分之一
默认值为0
例子:short s = 1000,short r = -20000
int:
int类型是4个字节(32位)、有符号的以二进制补码表示的整数
最小值是 -2147483648(-2^31)
最大值是 2147483648(2^31-1)
一般地整数变量默认为是int类型
默认值是0
例子:int a = 100000,int b = -200000
long:
long数据类型是64位、有符号的以二进制补码表示的整数
最小值是 -9,223,372,036,854,775,808(-2^63)
最大值是 9,223,372,036,854,775,807(2^63 -1)
这种类型主要使用在需要比较大整数的系统上
默认值是0L
例子: long a = 100000L,Long b = -200000L
“L”理论上不分大小写,但是若写成“l”容易与数字“1”混淆,不容易分辨,所以最好大写
float:
float数据类型是单精度,4个字节(32位),符合IEEE 754标准的浮点数
float在储存大型浮点数组的时候可接受内存空间
默认值是0.0f
浮点数不能用来表示精确的值,如货币
例子:float f1 = 234.5f
double
double数据是双精度,8个字节(64位)、符合IEEE 754标准的浮点数
浮点数的默认类型是double类型
double类型同样不能表示精确的值,如货币
默认值是0.0d
例子:double d1 = 123.4
boolean:
boolean数据类型表示一位的信息
只有两个取值:true和false
这种类型只作为一种标志来记录true/false情况
默认值是false
例子:boolean one = true
char:
char类型是一个单一的16位Unicode字符
最小值是 u0000(即为0)
最大值是 uffff(即为65.535)
例子:char letter = ‘A’
字符串与其它数据类型拼接,结果都是字符串类型
数据类型转换
就是把一种数据类型转化为另一种数据类型
整形、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据线转换为同一类型,再运算
低-------------------------------------------------------------------->高
byte、short、char -> int -> long -> float -> double
数据类型转换必须满足如下规则:
1.不能对boolean类型进行类型转换
2.不能把对象类型转换成不相关类的对象
3.在把容量大的类型转换为小的类型是必须使用强制类型转换
4.转换过程中可能导致溢出或损失精度
5浮点数到整数的转化是通过舍弃小得到,而不是四舍五入.
自动类型转换
必须满足转换前的数据类型的位数要低于转换后的数据类型
JVM在运算时,识别的最小数值类型为int
强制类型转换
b = (byte)a
不建议使用,会造成数据的“溢出”,造成数据的不正确性
数据类型总结图
以上是关于变量与基本数据类型的主要内容,如果未能解决你的问题,请参考以下文章