数据类型
java是强类型语言
1.要求变量的使用要严格符合规范,所有的变量需要先定义后使用。(强类型语言,安全性高、但速度较慢)
java的基本数据类型
大类 | 类型 | 字节 | 值范围 | 声明后缀 |
---|---|---|---|---|
整数: | byte | 1字节 | -2^7 —— 2^7 -1 | |
short | 2字节 | -2^15 —— 2^15 -1 | ||
int | 4字节 | -2^31 —— 2^31 -1 | ||
long | 8字节 | -2^63 —— 2^63 -1 | L | |
小数: | float | 4字节 | F | |
double | 8字节 | |||
字符: | char | 2字节 | ||
布尔: | boolean | 1bit 1/8字节 | true-false |
整数类型扩展
二进制 | 八进制 | 十进制 | 十六进制 | |
---|---|---|---|---|
定义: | int num= 010; | int num= 10; | int num =0x10; | |
值: | 8 | 10 | 16 |
浮点数类型扩展
- double类型与float类型不要用作比较会出现问题。
- float类型 表示有限的范围,并且是离散的 存在舍入误差 大约,接近但是不等于。
java的引用数据类型
- 类
- 接口
- 数组
- ...
字节
- 位(bit)计算机内部储存的最小单位,1100 1100 是一个八位的2进制数。
- 字节(byte)是计算机数据处理 的基本单位,一般用B表示。
- 1B(byte,字节)= 8bit(位)
- 字符:指计算机中使用的字母、数字、字及符号。
换算规则
- 1B(byte) = 8bit(位)
- 1KB = 1024B
- 1M = 1024KB 1兆 = 1024KB
- 1G = 1024M
字符扩展
- 字符类型(char)可以强转为int类型。
- 字符类型转换为 int 类型时 ,会通过Unicode 编码表查询找到该字符的编码。
- Unicode 编码范围 U0000 - UFFFF.
- 字符类型可以直接定义为Unicode编码。
char num = '/u0061';
System.out.println(num);
结果: a
- 转义字符 简单的 \n \t 换行和制表符(空格)。
字符串扩展
String a= new String("hellow");
String b= new String("hellow");
结果:a== b (false)
String c= "hellow";
String d= "hellow";
结果: c== d (true)
说明:
a b 都是new 一个String类,在栈内存中分别存放 a b、在String 池中分别存放两个"hellow" 分别对应a b。
c d 当c声明时,在栈内存中存放C ,在String池中寻找"hellow" 如果有,则将c指向该值,若没有则String 池中添加"hellow",d同c。
当比较时比较的是栈内存中储存的String的内存地址。