《day06---面向对象入门》

  1 /*
  2 java开发流程:思路。
  3 
  4 案例:对数组操作。获取最大值。
  5 思路:
  6 1,一组数,要获取最大值,比较。
  7 2,怎么比较?挨个比较,要获取数组中的每一个数据都要比较。
  8 3,比较完,记录下来比较大的数据,并用这个较大的数据和下一个
  9     数据进行比较。
 10 4,如果所有的数据都比较完,那么最后记录的较大的值就是最大值。
 11 
 12 步骤:
 13 1,需要一个类。
 14 2,这个类需要独立运行,必须要有main方法。
 15 3,需要有一个数组。
 16 4,每一次较大的数据都有可能不同,需要一个变量。
 17 5,把数组中的数都获取出来。需要遍历。
 18 6,在遍历过程中,需要比较,判断。
 19 7,每满足一次判断条件,就用变量记录较大的值。变量存储。
 20 */
 21 
 22 //代码:
 23 //1,需要一个类。
 24 class ArrayDemo
 25 {
 26     //2,这个类需要独立运行,必须要有main方法。
 27     public static void main(String[] args)
 28     {
 29         //3,需要有一个数组。
 30         int[] arr = {23,12,18,0,1,9,56};
 31 
 32         //4,每一次较大的数据都有可能不同,需要一个变量。
 33         int maxValue = arr[0];    //初始化为数组中的任意一个元素。
 34 
 35         //5,把数组中的数都获取出来。为了比较。需要遍历。
 36         for(int i = 1;i<arr.length;i++)
 37         {
 38             //6,在遍历过程中,需要比较,判断。
 39             //7,每满足一次判断条件,就用变量记录较大的值。变量存储。
 40             if(arr[i] > maxValue)
 41             {
 42                 maxValue = arr[i];    //只要遍历到的元素大于了maxValue,就用
 43                                     //maxValue记录那个较大的值。
 44             }
 45         }
 46         //8,一旦遍历结束,maxValue中存储的就是该数组中的最大值。
 47         //9,为了显示出最大值,告诉使用者。输出语句。
 48         System.out.println("最大值;"+maxValue);
 49     }
 50 }
 51 
 52 
 53 /*
 54     案例2:又来了一个数组。还要获取最大值。复制代码并改变变量。麻烦。
 55     既然代码不变,为什么不提高这段代码的复用性呢? 复用性。
 56     Java中代码变成一个整体,通过函数体现的。所以函数就是一个类中的功能。
 57 */
 58 class ArrayDemo2
 59 {
 60     //主函数。(主函数是用来测试功能的。)
 61     public static void main(String[] agrs)
 62     {
 63         int[] arr2 = {23,12,18,0,1,90,56};
 64         
 65         //获取最大值,需要一个功能。
 66         int maxValue2 = getMaxValue(arr2);
 67         System.out.println("maxValue2:"+maxValue2);
 68     }
 69 
 70     //功能。
 71     public static int getMaxValue(int[] arr)
 72     {
 73         int maxValue = arr[0];
 74 
 75         for(int i = 1;i<arr.length;i++)
 76         {
 77             if(arr[i] > maxValue)
 78             {
 79                 maxValue = arr[i];
 80             }
 81         }
 82         //将最大值返回。
 83         return maxValue;
 84     }
 85 }
 86 
 87 
 88 /*
 89 案例3;继续升级。有很多的类中都有数组。都需要获取其最值。
 90 
 91 将操作最大值的功能单独封装到一个类中。
 92 这样使用这个功能只要找到功能所属的类就可以了。
 93 
 94 所有的功能都在对象中,只要找到了对象,就可以使用这些功能了。
 95 */
 96 
 97 class ArrayDemo3
 98 {
 99     public static void main(String[] agrs)
100     {
101         int[] arr3 = {23,12,180,0,1,90,56};
102 
103         ArrayTool tool = new ArrayTool();
104 
105         //获取最大值。
106         int maxValue3 = tool.getMaxValue(arr3);
107         System.out.println("maxValue3:"+maxValue3);
108 
109         //int maxVlaue3 = ArrayTool.getMaxValue(arr3);
110 
111         //获取最小值。
112         int minValue = tool.getMinValue(arr3);
113         System.out.println("minValue:"+minValue);
114     }
115 }
116 
117 class ArrayTool
118 {
119     //获取最大值。
120     public static int getMaxValue(int[] arr)
121     {
122         int maxValue = arr[0];
123 
124         for(int i = 1;i<arr.length;i++)
125         {
126             if(arr[i] > maxValue)
127             {
128                 maxValue = arr[i];
129             }
130         }
131         return maxValue;
132     }
133 
134     //获取最小值。
135     public /*static*/ int getMinValue(int[] arr)
136     {
137         //code...
138         return 0;
139     }
140 
141     //二分查找。折半查找法。
142     public /*static*/ int binarySearch(int[] arr,int key)
143     {
144         //code...
145         return 0;
146     }
147 }
原文地址:https://www.cnblogs.com/sun-/p/5310554.html