Java基本数据类型
变量就是申请内存来存储值,也就是说,当创建变量的时候,需要在内存中申请空间。
内存管理系统根据变量类型为变量分配空间,分配空间只能用来存贮该类型数据
因此,通过定义不同类型变量,可以在内存中存储整数,小数或者字符。
Java的两大数据类型;
内置数据类型
应用数据类型
内置数据类型
Java语言提供了八种基本类型,六种字符类型(四个整数类型,两个浮点型),一个字符类型,还有一种布尔型。
byte:
byte数据类型是8位,有符号的,以二进制补码表示的整数。
最小值是-128(-2^7);
最大值127(2^7-1);
默认值是0
byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有int类型的四分之一;
例子;byt a =100,byte b = -50
short类型是16位,有符号的以二进制补码表示的整数
int类型是32位,有符号的以二进制补码表示的整数
long数据类型是64位,有符号的以二进制补码表示的整数。
float数据类型是单精度,32位,符号IEEE 754标准的浮点数。
double数据类型是双精度,64位,符合IEEE 754标准的浮点数
Boolean数据类型表示一位的信息。
char类型是一个单一的16位unicode字符。
对于数值类型的基本类型的取值范围,我们无需强制去记忆,因为它们的值都已经以常量的形式定义在对应的包装类中了。
float和double的最小值和最大值都是以科学记数法的形式输出的,结尾是e+数字,表示E之前的数字要乘以10的多少次方,。
实际上,Java还存在另外一种基本类型void,它也有对应的包装类,java.lang.void,不过我们无法直接对它们进行操作。
引用类型
在Java中,引用类型的变量非常类似于c/c++的指针,引用类型指向一个对象,指向对象的变量是引用变量,这些变量是在声明时被指定一个特定的类型,比如employee puppy等,变量一旦声明后,类型就不能被改变了。
对象,数组都是引用数据类型
所有引用类型的默认值都是null
一个应用变量可以用来应用任何与值兼容的类型
例子;site site = new site(“Runoob”);
java常量,常量在程序运行时是不能被修改的
在Java中使用final关键字来修饰常量,声明方式和变量类似
final bouble PI = 3.1415927
虽然常量名也可以用小写,但为了便于识别,通常使用大写字母表示常量。
字面量可以赋值给任何内置类型的变量
byte a = 68;
char a = 'a';
byt,int,long和short都可以用十进制,十六进制以及八进制的方式来表示
当使用常量的时候,前缀o表示8进制,而前缀ox达标16进制。
和其他语言一样,Java的字符串常量也是包含在两个引用之间的字符序列,
字符串常量和字符常量都可以包含Unicode字符
Java语言支持一些特殊的转义字符序列。
\n换行
\r回车
\f 换页符
\b退格
\0空字符
\s字符串
\t制表符
\"双引号
\'单引号
\\反斜杠
\ddd八进制字符
\uxxx十六进制Unicode字符
自动类型转换
整形、实型(常量),字符串数据可以混合运算,运算中,不同类型的数据先转化为统一类型,然后进行运算,转换从低级到高级
byte,short,char int long float double
数据类型转换必须满足如下规则
不能对Boolean类型进行类型转换
不能把对象类型转换成不相关类的对象
在把容量大的类型转换成容量小的类型时必须使用强制类型转换。
转换过程中可能导致溢出或者损失精度。