Java是一种强制类型定义的语言(强类型语言),要求变量的使用要严格符合定义,所有变量都必须先定义后使用,它的的数据类型分为两类
-
基本类型
基本数据类型一共有八类:byte,short,int,long,flaot,double,char,boolean;
-
引用类型
除基本类型以外都是引用类型。
如:类 、接口、数组。
下面代码展示了八种基本数据类型
public class Type {
public static void main(String[] args) {
//整数
byte a = 10;T
short b = 10;
int c = 10;
long d = 10L; //加一个L来区分 int 与 long 尽量用大写的L
//浮点型
float f = 10.0f; //加 f 来区分 float 和 double
double f1 = 10.00;
//字符型
char str1 ='人';
//布尔类型 只有 true 和 false 两个值
boolean flag = true;
String str = "asdfa"; //String 是一个类属于引用类型。
}
}
这里值得一提的是String类型,很多初学者都把它当成基本的数据类型,然而String其实是一个类,它是引用类型。
拓展
- 整数的拓展:进制的表示。
二进制 0b
八进制 0
十六进制 0x//整数拓展 进制 二进制0b 十进制 八进制0 十六进制0x int i = 0b10; //二进制 int i2 = 10; int i3 = 010; //八进制 int i4 = 0x10; //十六进制 0~F System.out.println(i); System.out.println(i2); System.out.println(i3); System.out.println(i4);
- 浮点数的拓展:银行中的钱该怎么表示?
先看下面代码//float 有限的 离散的 舍入误差 大约 接近但不等于 //double float f = 0.1f; //0.1 double d = 1.0/10; //0.1 System.out.println(f==d); //为什么是false System.out.println(f); System.out.println(d); System.out.println("========================"); float f1 = 12123123131313112312f; //一个比较大的浮点数 float f2 = f1 + 1; System.out.println(f1==f2); //为什么是true System.out.println("========================");
上面代码输出分别为false、true,这是为什么?
这是由于浮点数能表现的字长是有限的,然而有些数除出来却是无限的,并且浮点数是离散的,存在舍入误差(像四舍五入之类的),所以大多数浮点数是不能精确表达的,所以得出的结果是一个大约数。因此在平常的使用中最好完全避免使用浮点数进行比较。
所以银行中的钱该怎么表示呢?
银行中的业务用的是Java中的一个类, BigDecimal 来表示,学生阶段用不到。(想了解的自己查资料)。
总结:本篇主要说了一下Java的八种基本数据类型,并对int类型和浮点类型做了一点拓展,希望对读者有所帮助。