第3章: 变量
1. 变量三要素
变量=变量名+值+数据类型;
2. Java数据类型
2.1 整型
Java的整型常量(具体值)默认为int型,声明long型常量必须后加 'l’或‘L’
long n3=1L
2.2 浮点型
- 关于浮点数在机器中存放形式的简单说明: 浮点数=符号位+指数位+尾数位;
- 尾数部分可能丢失,造成精度损失(小数都是近似值);
- Java的浮点型常量(具体值)默认为double型,声明float型常量,须后加 ‘f’ 或 ‘F’;
- double型比float型更加精确;
2.3 字符型
- char是两个字节(可以存放汉字),多个字符我们用字符串String
- 单引号 ’ ’
- char本质是一个整数,在输出时,是unicode码对应的字符;
- 字符编码表
- ASCII:一个字节表示。实际上一个字节可以表示256个字符,但是它只使用了128个;
- utf-8: 编码表,大小可变的编码,字母使用1个字节,汉字使用3个字节;
- gbk: 可以表示汉字,而且范围广泛,字母使用1个字节,汉字使用2个字节。
2.4 基本数据类型转换
2.4.1 自动类型转换
- 定义: 当java程序在进行复制或者运算时,精度小的类型自动转换为精度大的数据类型,这个就是自动类型转换。
- (byte, short) 和 char之间不会相互自动类型转换;
- byte, short, char 三者之间可以计算,但是在计算时首先转换为int类型;
- boolean不参与转换;
- 自动提升原则:表达式结果的类型自动提升为操作数中最大的类型;
2.4.2 强制类型转换
- 将容量大的数据类型转换为容量小的数据类型,使用时要加上强制转换符(),但是可能造成精度降低或溢出,格外要注意;
int i=(int)1.9;
2.4.3 基本数据类型和String类型的转换
int n1=100;
String str1=n1+"";
float n2=1.1f;
String str2=n2+"";