1T = 1024G
1G = 1024MB
1M = 1024KB
1KB=1024Byte
1Byte = 8 bit (1 bit就是一个二进制位 0或 1)
1.基本数据类型:
整数类型:(默认数据类型是int型)
byte:最小的数据类型,默认值0
short:短整型,默认值0
int:整型,默认值0
long:长整型,默认值0L,使用时后面加上L(因为默认类型是int)
小数类型(浮点型,默认数据类型为double型)
float:浮点型,用于存储带小数点的数字(有效小数点只有6-7位),默认值0.0f,使用时后面加上f(因为默认类型是double)
double:双精度浮点型,存储带小数点的数字,默认值0.0
字符类型:(存单个字符、英文字符、中文汉字、符号…)
char:字符型,存储单个字符,占16bit(即2个字节) ,默认值为空(’\u0000’)
ex:System.out.println(‘a’ + ‘b’); //97+98 根据ASCII
+符号两边至少有一边是字符串的时候才表示连接
char表示16位的Unicode字符,java对字符采用unicode字符编码(一种跨平台的编码方式),java的字符占2个字节,表示一个汉字
布尔类型:
boolean:布尔类型,占1bit,用于判断真假,true、false,默认值为false
(在计算机的底层其实是使用 0 1 表示和存储,但Java中不能够直接把0 1 赋值给boolean类型的变量,即int类型不能转换为布尔类型)
基本数据类型变量存数据本身,应用类型变量存保存数据的内存空间地址!!!
2.引用数据类型:
类(class)、抽象类(abstract class)、接口(interface)、数组( 数据类型[] )、枚举(enum)
注意:默认值都是null
=============================类型转换========================
byte、short、char在运算时会隐式转换为int类型
byte (-128,127)
ex:
int i = 3;
byte b = i; // 此时编译报错,reason:可根据堆栈理解,i是个int类型,byte和int类型不匹配
注意:①精度低的类型向精度高的类型会直接隐式转换
②精度高的向精度低的类型转换时需要强制转换(但byte、short、int 除外,因为int值在byte或short范围内时也会自动隐式转换)
注意:表达式结果值的类型为整个表达式中精度最高的类型
ex : byte b1 = 2;
byte b2 = 4;
? b3 = b1 + b2; //应该使用int 而不是byte:
============================================================
注意:String也是一种类型(字符串数据类型),表示的值是字符串(注意:Java中设计的类和我们自己去设置的类的性质是一样的哦!!)
String 是Java中写好的一个类,也是一个类型,表示字符串
当String和 + 一起使用的时候,这时候+具有拼接字符串的功能(注意:此时+前面的任何基本数据会先运算,+后面的具有连接作用,变成字符串类型!!)
ex:System.out.println(6+2+”好”+9+2); //8好92
题外话:计算机存储数据:存储在硬盘【磁盘】,硬盘中的方式都是用的二进制数据的方法进行存储