强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。Java为强类型语言。
弱类型语言:变量的使用符合一定规定,可以根据使用环境,自行进行转换。如JavaScript。
Java数据类型分为两大类
1.基本数据类型(内置类型)
整数型
1、byte:占1个字节,8位,-128~127
2、short:占2个字节,16位,-32768~32767
3、int:占4个字节,32位,-2,147,483,648(-2^31)~2,147,483,647(2^31 - 1)
4、long:占8个字节,64位, -9,223,372,036,854,775,808(-2^63)~9,223,372,036,854,775,807(2^63 -1)
字符型
5、char:占2个字节,16位,-32768~32767
浮点型
6、float:占4个字节,32位,-2,147,483,648(-2^31)~2,147,483,647(2^31 - 1)
7、double:占8个字节,64位, -9,223,372,036,854,775,808(-2^63)~9,223,372,036,854,775,807(2^63 -1)
布尔类型
8、boolean:占1位,值为true 或 false
注意点,long或float类型进行定义时,后面加的字母尽量大写,便于区分。
2.引用数据类型:类、接口、数组
扩展:字节
位(bit):是计算机 内部数据 储存的最小单位,11001100是一个八位二进制数
字节(byte):是计算机中 数据处理 的基本单位,习惯上是B来表示
1B = 8 bit
字符:是指计算机中使用的字母、数字、字和符号
1byte表示1位
1B = 8b
1024B = 1KB
1024KB = 1M
1024M = 1G
1024G = 1TB
面试拓展
1、整数拓展:二级制表示0b、八进制0、十六进制0x。
2、浮点数拓展:double与float精度不同,最好不要使用浮点数进行数字大小比较。银行业务使用BigDecimal来表示。
3、字符拓展:所有的字符本质还是数字。Unicode表(区间范围为U0000~UFFFF)。"\u0061"表示小写a。
4、转义字符:\t 制表符 、\n换行
5、字符串拓展:以下结果为何不相等,在学到Java对象是,会从内存方面进行分析。
String a = new String("Hello,world");
String b = new String("Hello,world");
System.out.println(a == b);//结果为false
String c = "Hello,world";
String d = "Hello,world";
System.out.println(a == b);//结果为true
6、布尔值扩展
boolean flag = true;
//以下两种表示,效果相同
if (flag){}
if (flag == true){}
如果有小伙伴看到这块,我记录得比较粗糙,推荐大家看b站的遇见狂神说,讲的贼细致~~