基础修补
一、数据类型
货币运算使用的数据类型
add(BigDecimal)//BigDecimal对象中的值相加,返回BigDecimal对象
subtract(BigDecimal)//BigDecimal对象中的值相减,返回BigDecimal对象
multiply(BigDecimal)//BigDecimal对象中的值相乘,返回BigDecimal对象
divide(BigDecimal)//BigDecimal对象中的值相除,返回BigDecimal对象
toString()//将BigDecimal对象中的值转换成字符串
doubleValue()//将BigDecimal对象中的值转换成双精度
floatValue()//将BigDecimal对象中的值转换成单精度数
longValue()//将BigDecimal对象中的值转换成长整数
ntValue()//将BigDecimal对象中的值转换成整数
1.1 设计到货币的时候数据使用java.math.BigDecimal.
1.2 char类型可以存一个中文字符,Java中使用的编码是Unicode,一个char类型占用2个字节,16比特
1.3 运算符:
% 取余数,求模,可以用来判读是否整除
? : 三元运算符
1.4 一个类的方法,如果想调用这个类里的另外一个方法,如果不能new对象,或者使用spring容器,就只能把调用的那个方法设置为静态方法。
1.5 当一个case成立,从这个case向后穿透所有case,包括default,直到程序结束或者遇到break程序才结束。
1.7 for循环
for(开始条件;循环条件;更改条件){
循环体代码…
}
1.7 for的嵌套循环(嵌套不是迭代)
根据外层的条件,判断里层能否执行,如果能执行,就把里层代码都循环完毕后,再继续执行外层,继续判断。
for(…){
for(…){
}
}
//总结2:外循环控制行,内循环控制列print和println
private static void f2() {
for(int i=1;i<=3;i++){
for(int j=1;j<=5;j++){
System.out.print("*");
}
System.out.println();
}
1.8 break和continue
break是终止循环,continue是跳出本次循环进入下一轮。
1.9 三种循环结构
1 for(开始条件;循环条件;更改条件){
**有条件的循环**
循环体代码}
2 while(执行条件){
**选判断再循环**
代码…}
3 do{代码}
先执行后判断
while{执行条件}
1.10 变量类型
1.10.1 概念
可以改变的数,称为变量。一般通过三部分来描述一个变量。变量类型,变量名,变量值。
其中三部分都是可以改变的,根据需要来确定即可。
变量的使用原则:就近原则。尽量控制到最小范围。
1.10.2 局部变量
定义在方法里,或者局部代码块中。注意:必须手动初始化,来分配内存。如:int i=5;
作用域也就是方法里或者局部代码块里,方法运行完内存就释放了。
1.10.3 成员变量
定义在类里。
注意:不用初始化,也会自动被初始化成默认值。
作用域是整个类中,类消失了,变量才释放。
//局部变量的默认值
byte 0
short 0
int 0
long0 L
float 0.0f
double 0.0d
boolean false
1.10.4 访问控制符
用来控制一个类,或者类中的成员的访问范围
访问控制符\访问范围 | 类 | 包 | 子类 | 任意 |
---|---|---|---|---|
public | x | x | x | x |
protected | x | x | x | |
default | x | x | ||
private | x |
二、数据类型
2.方法
2.1概述
被命名的代码块,方法可以含参数可以不含参数,可以提高代码的复用性
代码的复用性体现在方法的调用
2.2形式
修饰符 返回值 方法名(【参数】){
方法体;}
2.3体悟
一个方法里面的程序时顺序执行的,如果在放里面的某个地方加上Thread.sleep(),那么程序会等待这个时间结束
,然后继续执行
2.4方法返回值
一个方法的的结果取决于他的返回值,而他的返回值取决于方法的定义。
2.5方法的重载和重写
2.5.1方法的重载
方法的重载是指在一个类中定义多个同名的方法,但是要求每个方法有*不同的参数列表*(也就是参数的个数和类型不同)。
程序调用方法的时,可以通过传递给他们不同个数和类型的参数来决定具体使用哪个方法。
2.5.2方法的重写
1、继承后,子类就拥有了父类的功能。
2、那么在子类中,可以添加子类特有的功能也可以修改父类的原有功能。
3、子类中方法签名与父类完全一样(包括方法的返回值,方法名和参数列表完全一致)时,会覆盖/复写操作,相当于修改功能
注意:
1、父类方法中私有的方法不能被重写
2、子类重写父类的方法时,修饰符要大于等于父类修饰符权限
3、接口默认的权限时public,重写的的方法,修饰符权限只能是public