JAVA DAY4
基础知识
整数拓展
二进制0b
十进制
八进制0
十六进制0x
浮点数拓展
float 有限 离散 舍入误差 大约 接近但不等于
最好避免用浮点数进行比较;
BigDecimal 数学工具类
字符拓展
强制转换
char c1=‘a’
sout(int)(c1)
所有的字符本质还是数字
编码 unicode 2字节 65536 excel
char c3=‘\u0061’;
输出a;
转义字符
\t 制表符
\n换行符
类型转换
运算中,不同类型的数据先转换位同一类型
int i=128;
byte b= (byte)i;
输出128
-128
原因数据内存溢出;
//强制转换 高–低
//自动转换 低–高
- 转换不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 转换的时候可能存在内存溢出,或者精度问题!
char c=‘a’;
int d=c+1;
sout(d);//输出为98
sout((char)d);//输出为b,强制转换
数字之间可以用下划线分割
例如 int money=10_0000_0000;
int years=20;
int total =money*years;//溢出
long total2=money*years;//溢出
long total3=money*((long)years);//先转换一个数为long
变量
局部变量只在一个方法里用
实例变量:从属于对象;如果不自行初始化,这个类型会变成默认值0或0.0或u000或布尔值:默认是false。除了基本类型,其余的默认值都是null;
类变量 Static double salary=2500;
String name;
int age;
常量
不可变动的值;
final是修饰符 不存在先后顺序
static final double P2=3.14;