java final使用(2)
</ol>
静态变量和实例变量的区别:
语法规则:静态变量前需要加static 关键字,而实例变量前不需要
程序运行的区别:实例变量属于某个变量的属性,必须创建了实例对象,其中的实例变量才会给他分配空间
。才能使用这个实例变量。静态变量不属于某个对象而属于类,所以成为类变量。只要程序加载了类的字节码
不用创建任何实例对象,静态对象会被分配空间的,静态变量就会被使用了。
总之实例变量必须创建对象后才可以通过对象来使用。
静态变量则可以直接使用类名来使用。
例如,对于下面的程序,无论创建多少对象,永远只分配一个staticVar变量。
并且每创建一个实例变量,这个staticVar就会增加1
但是,每创建一个实例对像,就会分配一个instaticVar对象,既可以分配多个instaticvar,并且每个instanceVar值就会自动加1
public class VariantTest{
public static int staticVar=0;
public int instaticVar=0;
public VariantTest(){
staticVar++;
instaticVar++;
System.out.println(staticVar+" "+staticVar);
}
}
int 与Integer 的区别
int 是java的基本数据类型。java为每个原始数据基本类型都封装了类对象。
Integer 是java为int 提供的封装类,int的默认值为0,Integer的默认值为null,
及Integer能区分出位赋值和值为0的区别
另外,Integer 提供多个与整数相关的操作方法,例如将一个字符转化为整形
Integrate还定义了整形数据的最大值和最小值常量
Math 类中的取证方法 ceil,floor,round 用法
ceil 的中文意思是天花板,及向上取整。
ceil(11.3)=12;ceil(-11.3)=11;
floor 的中文意思为足地板,即为向下取整
Math.floor(11.3)=11. math.floor(-11.3)=-12;
round 的中文意思四舍五入,加0.5即可
Math.round(11.5)=12;Math.round(-11.5)=-11;
等额本息还款法:
借款人在约定的还款的期限内的每一期(月)归还金额(产生的利息+部分本金)都是相等的
先有一笔总金额为T元的N年期住房贷款,年利率为r,要求算出没一起的还款本金和利息总额,请写出
解决思路和主要代码:
思路:
既然是按月还款,那我将n年按月来计算,及要换N*12个月,这样就可以求出每月要换的本金
由于每月要换的那部分本金所欠的时间不同,所以利息就不同。
该部分的本金利息为:部分本金额*所欠月数*月利率应该是个算法
代码:
int monthMoney=T/n/12;
float montahRate=R/12;
int totalMonth=n*12;
float totalRate=0;
for(int i=1;i<totalMonth+1;i++){
totalRate+=monthMoney*montahRate*i;
}
可以使用等差数列求和公式算的。
int Result=monthMoney+totalRate/n/12;
接口可以继承接口,抽象类可以实现接口。抽象类可以继承具体实体类
抽象类可以有静态的方法包括main方法。
含有abstract修饰符的class 即为抽象类,抽象类不能创建实例。含有抽象
方法的类必须定义为abstract class。抽象类中的方法不必是抽象的。如果
抽象类中定义了抽象方法,那么在子类中必须实现。
接口可以说成是抽象类中的一个特例,接口中的所有方法必须是抽象的。接口中方法的
相关新闻>>
- 发表评论
-
- 最新评论 更多>>