编程前需要做的事情:
案例:对数组操作,获取最大值。
思路:
1, 一组数,要通过比较获取最大的值。
2, 怎么比较?挨个比较,要将数组中的每一个数据都要比较。
3, 比较完,记录下来较大的数据,并用这个较大的数据和下一个数据比较,不断记录较大的值。
4, 如果所有的数据都比较完,那么最后记录的较大值就是最大值。
步骤:
1, 需要一个类。
2, 这个类需要独立运行,必须有main方法。
3, 要有一个数组
4, 每一次较大的数据都有可能不同,需要变量。
5, 用数组的数据都或取出来,为了比较,遍历。
6, 在遍历过程中,需要比较判断。
7, 每满足一次判断条件,就用变量记录较大的值。变量存储。
通过代码实现:
<span style="white-space:pre"> </span>//1,需要一个类
class ArrayDemo
{
//2,这个类需要独立运行,必须有main方法。
public static void main(String[] args)
{
//3,有一个数组。
int[] arr = {25,37,78,55};
//4,每一次较大的数据都有可能不同。变量。
int maxValue = arr[0]; //初始化为了数组中的任意一个元素。
//5,用数组的数据都获取出来,为了比较,遍历。for while
for(int I =1; i < arr.length; i++)
{
//6,在遍历过程中,需要比较,判断。If
//7,每满足一次判断条件,就用变量记录较大的值。变量存储。
if(arr[i] > maxValue)
{
maxValue = arr[i]; //只要遍历到的元素大于了maxValue中记录的较大的值,就用maxValue将该更大的值记录下来。
}
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>//8,一旦遍历结束,maxValue中存储的就是该数组的最大值。
<span style="white-space:pre"> </span>//为了显示出最大值,输出语句。
<span style="white-space:pre"> </span>System.out.println(“最大值:”+maxValue);
<span style="white-space:pre"> </span>}
}
案例2:
又来了一个数组,int[] arr2 ={24,56,76,16}。还要获取最大值,复制代码并改变量名?怂!
既然代码不变,为什么不提高代码的重复使用呢?——复用性。
将这部分代码变成一个整体,并给这个整体起个名字(为了便于使用这个整体)Java中代码变成一个整体,是通过函数体现的(所以函数就是一个类中的功能)。
将谁变成一个整体呢?无非是getMaxValue功能,需要自定义功能。
即:
Public static int getMaxValue(int [] arr)
{
int maxValue = arr[0];
For(int i =1; i < arr.length; i++)
<span style="white-space:pre"> </span>If(arr[i] > maxValue)
<span style="white-space:pre"> </span>{
maxValue = arr[i];
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>Return maxValue; //将该值返回,不要打印,因为这个功能不包括这个职责。
}
将操作的取最大值的功能单独封装到一个类中,这样使用这个功能只要找到功能所属的类就可以了。
如:
class ArrayTool
{ //将上面的功能放进来
Public static int getMaxValue(int [] arr)
<span style="white-space:pre"> </span>{
Int maxValue = arr[0];
For(int i =1; i < arr.length; i++)
<span style="white-space:pre"> </span>If(arr[i] > maxValue)
<span style="white-space:pre"> </span>{
maxValue = arr[i];
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>Return maxValue;
<span style="white-space:pre"> </span>}
}
//想要使用ArrayTool中的功能。需要先建立ArrayTool这个类中的对象,通过new完成。
ArrayTool tool = new ArrayTool(); //这个就是对象
int maxValue = ArrayTool.getMaxValue(arr); //通过tool这个对象调用它的获取最大值的功能。
通过这些天对毕老师视频的学习,了解到复用性在java编程中是无处不在的,是我们最需要学习的;而且在学习复用性的过程中,不知不觉的开始了面向对象的学习。“所有的功能都在对象中,只要找到了对象,就可以使用这些功能,而不需要关注功能的细节”。