视频学习地址
前言
Java的数据类型分为基本类型(Primitive Type)和引用类型(Reference Type)两大类。
数据类型
- 强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用,其中好处是安全性提高,坏处是处理速度就会慢
C、C++、Java......都是强类型语言
- 弱类型语言:要求变量的使用符合规定即可
VB、JavaScript......都是弱类型语言
注意
- Long类型要在数字后面加个L(小写的l也可以,但是建议用大写)
- Float类型要在数字后面加个F
- Char类型指的是字符,字符只代表一个字
- String类型指的是字符串,而且它不是关键字,它是一个类
什么是字节
位是计算机内部数据存储的最小单位(用小写b表示)字节是计算机中数据处理的基本单位(用大写B表示)字符是指计算机中使用的字,字母,数字和符号。
- 1B = 8b
- 1KB = 1024B
- 1MB = 1024KB
- 1GB = 1024MB
- 1TB = 1024GB
拓展
进制拓展
int i = 0b10; //二进制用0b开头,结果为2
int i = 010; //八进制用0开头,结果为8
int i = 10; //十进制直接写,结果为10
int i = 0x10; //十六进制用0x开头,结果为16
浮点数拓展
float f = 0.1f; //结果为0.1
double d = 1.0/10; //结果为0.1
System.out.println(f==d); //结果为false
float f1 = 123123123f;
float f2 = f1 + 1;
System.out.println(f1==f2); //结果为turn
以上问题的原因是因为浮点数,字长是有限的、离散的,还存在舍入误差,其结果是一个接近但不等于的大约数,解决方法是最好不要使用浮点数进行比较!.
字符拓展
char c1 = "a";
char c2 = "中";
System.out.println((int)c1); //强制转换为int类型 结果是97
System.out.println((int)c2); //强制转换为int类型 结果是20013
从上面得知,所有的字符的本质还是数字,为什么换转换成数字,这里面涉及到一个编码问题,叫做UniCode编码,它可以处理各种语言的编码,其占用了2个字节,最多可以表示65536个字符。
转义字符
System.out.println("Hello\tWorld!") //其中的/t是制表符
System.out.println("Hello\nWorld!") //其中的/n是换行符
布尔值拓展
boolean flag = true;
if(flag){} //这两个是一样的 Less is More!代码要精简易读
if(flag == true){} //与上面是一样的