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 }
时间: 2024-11-07 12:12:40