首先我们需要知道,Java是一种强类型语言。在第一部分,我将介绍何为强类型语言,它与弱类型语言有何不同。
在了解了强类型语言之后,我们再对Java语言的数据类型进行分析。
一、强类型语言与弱类型语言
1 . 强类型语言
一种强制类型定义的语言,它要求变量或常量必须声明类型,并且只有在声明后才能使用。一经声明,该变量就只能存储这种数据类型的值。
而且在赋值和运算过程中,参与该过程的数据类型必须一致。
需要注意的是,强类型语言有个强制转换,这改变的是变量的值的类型,以便进行赋值,而没有改变变量的类型。变量的类型是不允许改变的。
强类型语言包括Java、.net 、Python、C++等。
2 . 弱类型语言
一种弱类型定义的语言,即数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
变量可以根据环境变化自行转换类型,不需要经过显式转换。
弱类型语言包括vb 、PHP、javascript等。
3 . 区别
两种类型语言的根本区别在于,变量类型是否会自行随需转换。
强类型的变量一经声明,就只能存储这种类型的值,其他类型的值则必须通过转换之后才能赋给该变量,有编译器自动理解的转换,也有由程序员明确指定的强制转换。但是,弱类型的变量类型则是随着需要不断转换。
弱类型语言在速度上更胜一筹,而强类型定义语言的严谨性又能避免不必要的错误。
二、Java数据类型
Java数据类型分为两类,基本类型和引用类型。
1 . 基本类型(primitive type)
八大基本数据类型如下所示:
//八大基本数据类型
//整数
byte num1 = 10;
short num2 = 20;
int num3 = 30;//最常用
long num4 = 30L;//long类型要在数字后面加个L
//小数:浮点数
float num5 = 50.1F;//float类型要在数字后面加F
double num6 = 3.1415926;
//字符
char name = '异';
//字符串,String并非关键字,而是类
//String namea = "异色";
//布尔值:是非
boolean flag = true;
boolean flag = false;
那么什么是字节呢?在这里做一个简单的说明
-
位(bit):计算机内部数据储存的最小单位。例如11001100,是八位二进制数。
-
字节(byte):计算机数据处理的基本单位。习惯用B表示。
-
字符:指计算机中使用的数字、字母、字和符号。
-
1bit表示1位(1b)
-
1Byte表示一个字节(1B)
-
1B=8b
-
1KB=1024B
-
1M=1024KB(M读作兆)
-
1G=1024M
-
1TB=1024G
2 . 引用类型(reference type)