java 的基本数据结构(8个):数据类型就是jvm中,开辟多大的内存空间来储存字面值
整型:范围:-2^(n-1)~2^(n-1)-1
byte:所占内存为:1个字节(8位)-128~127
short:所占内存为:2个字节(16位)-32768~32767
int:所占内存为:4个字节(32位)
long:所占内存为:8个字节(64位)
在定义变量的时候必须在字面值之后添加 L 或者是l标注,一般推荐使用 L, 否则会报错 eg: long a = 12222L;
浮点型:
float: 单精度 4个字节(32位)
在定义变量的时候必须在字面值之后添加 F 或者是 f 标注,否则会报错 eg: float a = 12.555f;
double: 双精度:8个字节,
在定义变量的时候必须在字面值之后添加 d 或者是 D标注,也可选择不标注
char :2个字节 定义单个字符
boolean: (true/false) 1个字节
数据类型长度测量
public class test01 {
public class test01 { public static void main(String[] args){ float a = 22.2f; double b = 555.5555D; System.out.println("short范围围"+Short.MIN_VALUE+"=="+Short.MAX_VALUE); System.out.println("long围"+Long.MIN_VALUE+"=="+Long.MAX_VALUE); System.out.println("float范围"+Float.MIN_VALUE+"=="+Float.MAX_VALUE); System.out.println(b);
}
}
什么是变量?
变量是由数据类型 变量名 字面值构成的完整体
变量名(标识符)注意事项:
以字母,_(下划线)开头(关键字除外)中间不允许空格特殊字符串(如 # @等)
在开发过程中:为什么推荐使用int类型而不是long 也不是short呢?
开发过程会遇到各种算术运算像 + - * / 等如果使用byte short 在运算过程中内存可能会溢出,然而long的范围太大,会浪费内存,在一般的开发过程中用不了如此大的数据,所以就选择处于中间的int
float 与long的关系
可以用float去接收 long 类型的数据 因为float 的小数位加整数位 的长度会大于long的长度 eg: long a = 12222L; float b = a;
注意:在开发过程中不推荐使用强制类型 会造成精度丢失
所占内存大的数据类型==》内存小的 属于强制类型转换
所占内存小的的数据类型==》内存大的 属于自动类型转换
在java jdk1.7以后数据类型可以接受二进制了,o或者是oB就是二进制
八进制:以0开头的就是八进制
十六进制:以0x 或者是0X 开头的
char 与 int的关系
char 与int 类型在内部是可以相互转化的
从char类型转到int类型 会将该变量以ascii值输出,从int转换到char会将该ascii值所对应的字符输出
eg: System.out.println((int) '0');//'0'所对应的asscii是48
System.out.println((char) 65);//65 ascii值所对应的字符 是‘A’;
char 与string 关系
字符串弥补了单个字符的问题,字符串不过是一连串单个字符的组合string属于引用数据类型中的,他是一个类。
char 中的转义符专门用来处理字符串的的特殊字符
\n:换行符
\t 制表符(2个字节 tab键)
\r 回车符
\" 打出双引号
\' 打出单引号
......................