1)整型
为什么会有不同大小的类型,举个例子比如存 5 这个数据怎么存的?
A.byte(8位,范围是-128到127)
B.short(16位)
C.int(32位)
D.long (64位)
注意:给long赋值时,因为整数默认是int类型,要转换为long类型的值,后面加上l或L
2)浮点型
A.float(单精度32位):直接赋值时必须在数字后加上f 或F( 表示一个浮点数在数字后面加一个F)
B.double( 双精度64位)
区别:对于单精度浮点数,运行速度相比double更快,占内存更小,但是当数值非常大或者非常小的时候会变得不精确。
双精度比单精度表示的位数大 精确的位数多,简单地说, float表示的小数点位数少。默认浮点数的类型是 double
注意:表的时候会有精度损失(使用浮点数的时候需要注意)例如 double num= 1.0, 是一个无限接近1.0的一个值
那怎么更精确的表示浮点数呢?BigDecimal
结论:浮点运算很少是精确的,只要是超过精度能表示的范围就会产生误差。往往产生误差不是 因为数的大小,而是因为数的精度。因此,产生的结果接近但不等于想要的结果。尤其在使用 float 和 double 作精确运 算的时候要特别小心。
3)字符(了解)
char,16 位[0-65535] (2个字节,16位)。字符常量使用单引号 ‘’包裹起来。
表现形式:
1:‘A’最常用,最直观的方式
2:使用一个数字表示,对应有一个ASCII码表
例如:char c = 65;//表示 ’A’ 这个字符,可以当成一个整数来使用,什么是asscii表,就像化学元素周期表
3:16进制表现形式
‘A’-》65(10进制)
'A' -》0x41(16进制)怎么表示? ‘\u0041’
4:特殊符号(需要使用转义符号转义)
\’ \” \\ \r(回车) \n(换行) \t(制表符Tab)
4)布尔类型boolean
值只有两个 true false,不能使用 0 1表示
=================================================================================
5)引用类型String
String是 java中已经设计好的一个类,表示的值是字符串
String s = “你好”;
当String 和 + 一起使用的时候,这时候+ 是拼接字符串的功能
System.out.println(“你好”+2);//结果为 你好2
int a = 5;
int b = 10
System.out.println(“a=”+a+”,b=”+b); //结果为a=5,b=10
6)一个类其实就是一种引用数据类型
class A{}
class B{
public static void main(String[] args){
A a; // 声明了一个A类型的变量
}
}
误区 : 很多人一开始觉得 Java中提供的类才是一种类型,而我们自己写觉得不是!
我们自己写的类和Java已经写好的,性质一样