一、实现阶乘(一种用递归,一种普通方法)
public static void main(String[] args) {
System.out.println(factorial(5));
System.out.println(factorial_recursion(5));
}
//普通循环结构实现阶乘
public static int factorial(int n) {
int i = 1;
int result = 1;
for(;i<=n;i++) {
result *= i;
}
return result;
}
//递归方法实现阶乘
public static int factorial_recursion(int n) {
if (n == 1) return 1;
else return (n * factorial_recursion(n-1));
};
二、面向对象(Java语言核心内容)
1.面向过程和面向对象的区别
(1)面向过程:主要关注点是:实现的具体过程,因果关系
优点:对于业务逻辑比较简单的程序,可以达到快速开发,前期投入成本低
缺点:采用面向对象的方式开发很难解决非常复杂的业务逻辑,另外面向过程的凡是导致最终的软件扩展能力差,另外,没有独立体的概念,所以无法达到组件复用。
(2)面向对象:主要关注点是:对象(独立体)能完成哪些功能。(独立显卡的开发思路)
优点:耦合度低,扩展能力强,更容易解决现实世界中复杂的业务逻辑,组件复用性
缺点:前期投入成本较高,需要进行独立体的抽取,大量的系统分析与设计。
(3)C语言是纯面向过程的,C++是半面向对象,Java是纯面向对象
(4)面向对象更符合人的思维方式,越来越多的新语言是面向对象。
2.面向对象的三大特性
(1)封装(2)继承(3)多态
(责任编辑:范老师)