数据类型
强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
弱类型语言
java的数据类型
基本类型(primitive type)
数值类型
整数类型:
-
byte占一个字节范围:-127--128
-
short占两个字节范围:-32768--23767
-
int占四个字节范围:-2147483648--2147483647
-
long占八个字节范围 //long类型要在数字后面加个L
浮点类型;
-
float占四个字节 //Lfloat类型要在数字后面加一个F
-
double占八个字节
字符类型:
-
char占两个字节
Boolean类型;
-
占一位且值只有true和false
引用类型(reference type)
类
接口
数组
补充知识
什么是字节
位(bit):计算机内部数据存储的最小单位,11001100是一个八位二进制
字节(byte):计算机中数据处理的基本单位,习惯上用大写B来表示
1B(byte,字节) = 8bit (位)
字符 :是指计算机中使用的字母,数字,字和符号
1bit表示1位
1Byte表示一个字节1B = 8b
1024B = 1KB
1024KB = 1M
1024M = 1G
整数扩展
进制:
二进制0b
十进制
八进制0
十六进制0x
浮点数扩展
有限
离散
舍入误差
大约
接近但不等于
最好完全避免使用浮点数进行比较
若要比较采用BigDecimal 数学工具类
字符扩展
所有的字符本质来说还是数字
转义字符(\n ,\t .....)
类型转换
java是强类型语言
低-------------------------------------------------------------->高
byte,short,char-->int -->long-->float-->double
运算中,不同类型的数据先转换为同一数据类型再进行计算
强制类型转化 (类型)变量名 高到低
自动类型转化 低到高
//
注意点:
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
在把高容量转换成低容量的时候,强制转换
-
转换的时候可能会存在内存溢出,或者精度问题
//
补充:
//操作比较大的数的时候,注意溢出问题
//JDK7新特性 ,数字之间可以用下划线划分,例10_0000_0000,输出还是1000000000
//详情参考b站狂神说java