一、基础知识点
1.一个源文件中至多只能声明一个public类,其他类的个数不限;如果源文件中包含一个public类,源文件名必须和其中定义的public类名相同,且以".java"为扩展名。
2.一个源文件可以包含多个类class。
3.注释不会出现在编译后的字节码文件中
二、变量类型
1.局部变量;
2.成员变量:方法外部、类的内部定义的 变量。从属于对象,声明周期伴随对象始终。如果不自行初始化,他会自动初始化成该类型的默认初始值。
3.静态变量:使用static定义。从属于类,生命周期伴随类的始终,从类加载到卸载
三、常量(const)
final修饰的变量,一般全部大写或大写加下划线定义
四、数据类型
1.基本数据类型
数值型:整数类型(byte,short,int,long)和浮点类型(float,double)----精确的浮点型比较实用BigDecimal,精确的整形比较BigInteger
字符型:char
布尔型:boolean
2.引用数据类型
类:class
接口:interface
数组:
3.注意:
//浮点类型是不精确的,一定不要用于比较!
float d = 0.1f;
double e = 1.0/10;
System.out.println(d==e); //结果为false
float d1 = 423254245f;
double d2 = d1+1;
if(d1==d2) {
System.out.println("d1==d2"); //输出结果为d1==d2
}else {
System.out.println("d1!=d2");
}
System.out.println("##################");
//使用精确浮点运行,推荐使用:BigDecimal
BigDecimal bd = BigDecimal.valueOf(1.0);
bd = bd.subtract(BigDecimal.valueOf(0.1));
bd = bd.subtract(BigDecimal.valueOf(0.1));
bd = bd.subtract(BigDecimal.valueOf(0.1));
bd = bd.subtract(BigDecimal.valueOf(0.1));
bd = bd.subtract(BigDecimal.valueOf(0.1));
System.out.println(bd); //0.5
System.out.println(1.0-0.1-0.1-0.1-0.1-0.1); //0.5000000000000001
BigDecimal bd2 = BigDecimal.valueOf(0.1);
BigDecimal bd3 = BigDecimal.valueOf(1.0/10);
System.out.println(bd2.equals(bd3)); //true