Test1.java

 1 package com;  2 
 3 import java.util.ArrayList;  4 import java.util.Arrays;  5 import java.util.Collections;  6 import java.util.List;  7 import java.util.stream.Collectors;  8 
 9 public class Test1 {  10 
 11     public static void main(String[] args) {  12 
 13         // NO.1 6-1 什么是数组  14         // 定义一个数组,保存五名学生的成绩
 15         int[] scores = { 78, 93, 97, 84, 63 };  16 
 17         // 输出数组中的第二个成绩
 18         System.out.println("数组中的第2个成绩为:" + scores[1]);  19 
 20         // NO.2 6-3 如何使用java中的数组  21         // 定义一个长度为5的字符串数组,保存考试科目信息
 22         String[] subjects = new String[5];  23 
 24         // 分别为数组中的元素赋值
 25         subjects[0] = "Oracle";  26         subjects[1] = "PHP";  27         subjects[2] = "Linux";  28         subjects[3] = "Java";  29         subjects[4] = "HTML";  30 
 31         System.out.println("数组中第4个科目为:" + subjects[3]);  32 
 33         // NO.3 6-5 使用循环操做java中的数组  34         // 定义一个长度为 3 的字符串数组,并赋值初始值
 35         String[] hobbys = { "sports", "game", "movie" };  36         System.out.println("循环输出数组中元素的值:");  37 
 38         // 使用循环遍历数组中的元素
 39 
 40         for (int i = 0; i < hobbys.length; i++) {  41  System.out.println(hobbys[i]);  42  }  43 
 44         // NO.4 6-6 编程练习  45         // 定义一个整型数组,并赋初值
 46         int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };  47 
 48         int max = nums[0]; // 假定最大值为数组中的第一个元素
 49         int min = nums[0]; // 假定最小值为数组中的第一个元素
 50         double sum = 0;// 累加值
 51         double avg = 0;// 平均值
 52 
 53         for (int i = 0; i < nums.length; i++) { // 循环遍历数组中的元素  54             // 若是当前值大于max,则替换max的值
 55 
 56             if (nums[i] > max) {  57 
 58                 max = nums[i];  59  }  60 
 61             // 若是当前值小于min,则替换min的值
 62 
 63             if (nums[i] < min) {  64                 min = nums[i];  65  }  66 
 67             // 累加求和
 68             sum += nums[i];  69 
 70  }  71 
 72         // 求平均值
 73         avg = sum / nums.length;  74 
 75         System.out.println("数组中的最大值:" + max);  76         System.out.println("数组中的最小值:" + min);  77         System.out.println("数组中的平均值:" + avg);  78 
 79         // NO.5 7-1 如何定义java中的方法  80         // 在 main 方法中调用 print 方法
 81         Test1 test1 = new Test1();  82  test1.print();  83 
 84         // NO.6 7-2 java中无参无返回值方法的使用
 85  test1.showMyLove();  86 
 87         // NO.7 7-3 java中无参带返回值方法的使用  88         // 调用hello对象的calcAvg()方法,并将返回值保存在变量avg中
 89         double avg1 = test1.calcAvg();  90 
 91         System.out.println("平均成绩为:" + avg1);  92 
 93         // NO.8 7-4 编程练习  94         // 调用方法并将返回值保存在变量中
 95         int maxScore = test1.getMaxAge();  96 
 97         // 输出最大年龄
 98         System.out.println("最大年龄为:" + maxScore);  99 
100         // NO.9 7-5 java中带参无返回值方法的使用
101         test1.calAvg(94, 81); 102 
103         // NO.10 7-6 java中带参带返回值方法的使用
104         int[] scores1 = { 79, 52, 98, 81 }; 105 
106         // 调用方法,传入成绩数组,并获取成绩的个数
107         int count = test1.sort(scores1); 108 
109         System.out.println("共有" + count + "个成绩信息!"); 110 
111         // NO.11 7-8 java中方法的重载
112  test1.print(); 113         // 调用带有一个字符串参数的方法
114         test1.print("jdjdj"); 115 
116         // 调用带有一个整型参数的方法
117         test1.print(4); 118 
119         // NO.12 7-8 编程练习 120         // 调用方法并将返回值保存在变量中
121         int[] nums1 = test1.getArray(8); 122 
123         // 将数组转换为字符串并输出
124  System.out.println(Arrays.toString(nums1)); 125 
126         // NO.13 8-1 编程练习
127         int[] scores2 = { 89, -23, 64, 91, 119, 52, 73 }; 128         int count1 = 0; 129         int[] Three = test1.numThree(scores2); 130         for (int i = scores2.length - 1; i >= 0 && count1 < 3; i--) { 131             if (Three[i] > 100 || Three[i] < 0) { 132                 continue; 133             } else { 134  System.out.println(Three[i]); 135                 count1++; 136  } 137 
138  } 139  } 140 
141     // 定义了一个方法名为 print 的方法,实现输出信息功能
142     public void print() { 143         System.out.println("Hello World"); 144  } 145 
146     /*
147  * 定义无参无返回值的方法 148      */
149     public void showMyLove() { 150         System.out.println("我爱慕课网!"); 151  } 152 
153     // 定义一个返回值为double类型的方法
154     public double calcAvg() { 155 
156         double java = 92.5; 157         double php = 83.0; 158         double avg = (java + php) / 2; // 计算平均值 159 
160         // 使用return返回值
161         return avg; 162 
163  } 164 
165     /*
166  * 功能:输出学生年龄的最大值 定义一个无参的方法,返回值为年龄的最大值 参考步骤: 一、定义一个整形数组 ages ,保存学生年龄,数组元素依次为 18 167  * ,23 ,21 ,19 ,25 ,29 ,17 二、定义一个整形变量 max ,保存学生最大年龄,初始时假定数组中的第一个元素为最大值 三、使用 for 168  * 循环遍历数组中的元素,并与假定的最大值比较,若是比假定的最大值要大,则替换当前的最大值 四、使用 return 返回最大值 169      */
170     public int getMaxAge() { 171 
172         int[] ages = { 18, 23, 21, 19, 25, 29, 17 }; 173         int maxScore = ages[0]; 174         for (int i = 1; i < ages.length; i++) { 175             if (ages[i] > maxScore) { 176                 maxScore = ages[i]; 177  } 178 
179  } 180         return maxScore; 181 
182  } 183 
184     /*
185  * 功能:计算两门课程考试成绩的平均分并输出平均分 定义一个包含两个参数的方法,用来传入两门课程的成绩 186      */
187     public void calAvg(int a, int b) { 188         double c = (a + b) / 2; 189         System.out.println("pingjunfen3 " + c); 190  } 191 
192     /*
193  * 功能:将考试成绩排序并输出,返回成绩的个数 定义一个包含整型数组参数的方法,传入成绩数组 使用Arrays类对成绩数组进行排序并输出 194  * 方法执行后返回数组中元素的个数 195      */
196     public int sort(int[] scores) { 197  Arrays.sort(scores); 198  System.out.println(Arrays.toString(scores)); 199 
200         // 要转换的list集合
201         List<String> testList = new ArrayList<String>() { 202             /**
203  * 204             */
205             private static final long serialVersionUID = 1L; 206 
207  { 208                 add("aa"); 209                 add("bb"); 210                 add("cc"); 211  } 212  }; 213 
214         // 使用toArray(T[] a)方法
215         String[] array2 = testList.toArray(new String[testList.size()]); 216 
217         // 打印该数组
218         for (int i = 0; i < array2.length; i++) { 219  System.out.println(array2[i]); 220  } 221  System.out.println(Arrays.toString(array2)); 222 
223         // list升序,降序,逆序
224         List<Integer> list = new ArrayList<Integer>() { 225             /**
226  * 227             */
228             private static final long serialVersionUID = 1L; 229 
230             // { 231             // add(1); 232             // add(2); 233             // }
234  }; 235         list.add(5); 236         list.add(7); 237         list.add(2); 238         list.add(6); 239         list.add(8); 240         list.add(1); 241         list.add(4); 242 
243         System.out.println("正序" + Arrays.toString(list.toArray(new Integer[list.size()]))); 244         // 三、逆序;
245         Collections.reverse(list);// list:4 1 8 6 2 7 5
246         System.out.println("逆序" + Arrays.toString(list.toArray(new Integer[list.size()]))); 247         // 一、升序:
248         Collections.sort(list);// list: 1 2 4 5 6 7 8
249         System.out.println("升序" + Arrays.toString(list.toArray(new Integer[list.size()]))); 250         // 二、降序:
251         Collections.sort(list, Collections.reverseOrder());// list:8 7 6 5 4 2 1
252         System.out.println("降序" + Arrays.toString(list.toArray(new Integer[list.size()]))); 253 
254         // 数组升序,降序
255         int[] a = { 5, 7, 2, 6, 8, 1, 4 }; 256         // 一、升序:
257         Arrays.sort(a);// a: 1 2 4 5 6 7 8
258         System.out.println("数组升序" + Arrays.toString(a)); 259         // 二、降序: 260         // List<int[]> list2=Arrays.asList(a); 261 
262         // int[] src = {1,2,3,4,5,6,7,8,9,10};
263         List<Integer> list2 = Arrays.stream(a).boxed().collect(Collectors.toList()); 264 
265         Collections.sort(list2, Collections.reverseOrder());// a: 8 7 6 5 4 2 1
266         System.out.println("数组降序" + Arrays.toString(list2.toArray(new Integer[list2.size()]))); 267         // 返回数组中元素的个数
268         return scores.length; 269 
270  } 271 
272     public void print1() { 273         System.out.println("无参的print方法"); 274  } 275 
276     public void print(String name) { 277         System.out.println("带有一个字符串参数的print方法,参数值为:" + name); 278  } 279 
280     public void print(int age) { 281         System.out.println("带有一个整型参数的print方法,参数值为:" + age); 282  } 283 
284     /*
285  * 功能:建立指定长度的int型数组,并生成100之内随机数为数组中的每一个元素赋值 定义一个带参带返回值的方法,经过参数传入数组的长度,返回赋值后的数组 286      */
287     public int[] getArray(int length) { 288         // 定义指定长度的整型数组
289         int[] nums = new int[length]; 290 
291         // 循环遍历数组赋值
292         for (int i = 0; i < length; i++) { 293 
294             // 产生一个100之内的随机数,并赋值给数组的每一个成员
295             nums[i] = (int) (Math.random() * 100); 296 
297  } 298         return nums; // 返回赋值后的数组
299  } 300 
301     // 定义方法完成成绩排序并输出前三名的功能
302 
303     public int[] numThree(int[] scores) { 304  Arrays.sort(scores); 305         return scores; 306 
307  } 308 }
相关文章
相关标签/搜索