一.Java编译环境
1.环境的配置
1.JAVA_HOME--JDK路径
2.Path--%JAVA_HOME%\bin
2.编译工具
1.eclipse
2.IDEA
二.Java语法基础
1.标识符语法规则
由字母,数字,下划线和$符号组成,但不能使用关键字,不能以数字开头,并且区分大小写,尽量做到见名知意,不建议使用拼音。
2.关键字
Java中一共有50个关键字,其中有两个保留字goto,const。
注意:关键字不能用做标识符,true,false,null也不可以被用作标识符哦。
3.注释
注释可以提高代码的可读性,方便后期的维护和复用
3.1单行注释
格式://单行注释
快捷键:Ctrl+/添加注释,再按一次取消注释。
3.2多行注释
格式:/*多行注释*/
快捷键:Ctrl+shift+/ 添加注释, Ctrl+shift+\ 取消注释, 也可以输入”/*”之后按回车添加注释。
3.3文档注释
格式:/**文档注释*/
快捷键:输入“/**” 之后按回车添加注释。
4.变量
4.1变量的声明
变量类型 变量名(标识符) = 变量值;
4.2局部变量与成员变量的异同
4.2.1位置不同
局部变量在方法里或代码块里,必须初始化。
成员变量在类里方法外,有默认值。
4.2.2范围不同
局部变量只能在自己的方法里,或代码块里才能使用。
成员变量在整个类中都可使用。
4.2.3生命周期不同
局部变量随着方法调用进栈而诞生,随着方法结束出栈而消亡。
随着类对象的加载而诞生,随着类对象的回收而消亡。
4.2.4内存位置不同
局部变量存储在栈内存。
成员变量存储在堆内存。
三.Java的数据类型
1.基本数据类型
byte,short,int,long,float,double,char,boolean。
2.引用数据类型
类,接口,数组。
类,如String,Object或自己定义的一些类
接口,如List<K>,Map<k,v>
数组:存储在一个连续的内存块中的相同数据类型(引用数据类型)的元素集合。
四.字面值规则
1.整型字面值是int类型
int x = 99999;//对,右面数据的字面值是int类型
int x = 99999999999;//错,右面数据的字面值是int类型,但是已经超出int的取值范围。
2 byte,short,char三种比int小的整数可以用范围内的值直接赋值
byte b1=127;//对,
byte b2=128;//错,超出byte范围
3 浮点数的字面值是double类型
double r =3.14;//对
float r =3.14;//错,右面的数据字面值是double,float是4字节存不下double类型的数据
4 字面值后缀L D F
long x =99999999999L;//字面值是int类型,需转成long类型的数据,加字面值后缀L即可
float b = 3.0F;//3.0字面值是double类型,加后缀F会变成float类型
double d = 3D;//3字面值是int类型,加后缀D,会变成double类型
5 进制前缀
0b - 标识这是2进制 ,如:0b0101
0 - 标识这是8进制, 8进制是三位,如: 023
0x - 标识这是16进制,如: 0x0001
\u -标识这是char类型,属于16进制
五.浮点数不精确解决方案
使用BigDecimal类解决
1.BigDecimal创建对象的方式
BigDecimal bigdecimal1 = new BigDecimal(double val);//注意:double本身就是不精确的
BigDecimal bigdecimal2 = new BigDecimal(String val);
2.BigDecimal常用方法
bigdecimal1.add(bigdecimal2);//加法
bigdecimal1.subtract(bigdecimal2);//减法
bigdecimal1.multiply(bigdecimal2);//乘法
bigdecimal1.divide(bigdecimal2);//除法
//除法会有除不尽的情况,会报Non-terminating decimal expansion;非终止十进制扩展
3.Non-terminating decimal expansion;异常解决
bigdecimal1.divide(bigdecimal2,2,BigDecimal.ROUND_HALF_UP);//第二个参数为保留几位小数,第三个参数为保留规则
//BigDecimal.ROUND_HALF_UP--四舍五入
//BigDecimal.ROUND_FLOOR--向下取整
//BigDecimal.ROUND_CEILING--向上取整
六.运算符