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 }