day06

xiaoxiao2021-02-28  31

回顾: 1.循环结构:   3)for:固定次数,应用率高 2.break:跳出循环   continue:跳过循环体中剩余语句而进入下一次循环 3.适用情况: 4.嵌套循环:     循环中套循环,外层走一次,内层走所有次     层次越少越好,break只能跳出一层循环 5.数组:     引用类型,相同数据类型元素的集合     int[] arr = new int[3]; //0,0,0     int[] arr = {3,5,7};     int[] arr = new int[]{3,5,7};     arr[0] = 30;     arr[3] = 80; //数组下标越界异常     System.out.println(arr[arr.length-1]);     for(int i=0;i<arr.length;i++){       arr[i] = 100;       System.out.println(arr[i]);     } 笔记: 1.数组:   7)数组的复制:     7.1)System.arraycopy(a,1,a1,0,4);     7.2)int[] a1 = Arrays.copyOf(a,6);         a = Arrays.copyOf(a,a.length+1); //扩容   8)数组的排序:     8.1)Arrays.sort(arr); //升序     8.2)冒泡排序算法:         8.2.1)五个数冒四轮 8.2.2)每一轮都是从第1个元素开始冒       每一次都是和它的下一个元素比 8.2.3)冒出来的就不再参与比较了 2.方法:   1)封装一段特定的业务逻辑功能   2)方法尽可能的独立,只干一件事   3)方法可以被反复调用   4)减少代码重复,有利于代码的维护,有利于团队的协作 3.方法的定义:     修饰词 返回值类型 方法名(参数列表){       方法体     } 4.方法的调用:   1)无返回值: 方法名(有参传参);   2)有返回值: 数据类型 变量 = 方法名(有参传参); 5.return:   1)return 值; //1.1)结束方法的执行 1.2)返回结果给调用方   2)return;    //2.1)结束方法的执行(在某种特殊情况下提前结束方法) 练习: 1.完成经典案例:------------至少两次   1)MaxOfArray--求数组最大值并将其放在最后一个元素的下一个位置   2)BubbleSort--冒泡算法对arr进行升序排列 2.完成课后作业 public static void main(String[] args){   say();   sayHi("zhangsan");   sayHello("zhangsan",26);   double a = getNum(); 输出a   int b = plus(5,6); 输出b   int m=5,n=6;   int c = plus(m,n); 输出c } public static void say(){} public static void sayHi(String name){} public static void sayHello(String name,int age){} public static double getNum(){ return 56.789;} public static int plus(int num1,int num2){   return num1+num2; } MethodDemo 方法可以有参也可以无参 -----有参可以使方法更加灵活 System.out.         println("Hello"); System.             arraycopy(a,1,a1,0,4); Arrays.             sort(arr); int[] a1 = Arrays.  copyOf(a,6);-------有参数 int    a = scan.    nextInt(); double b = scan.    nextDouble(); double c = Math.    random();----------无参数 double c = Math.random(); //0.0到0.99999999... 假设random()有参:   double c = Math.random(1,1000);   double c = Math.random(0,99);   double c = Math.random(20,40); 方法可以有返回值也可以没有返回值: 1)无返回值,返回值类型设计为void 2)有返回值,返回值类型设计为特定的数据类型即可 方法执行完之后: 1)若还需要用到方法中的某个数据-----有返回值 2)若不再需要用到方法中的数据-------无返回值 System.out.println("Hello"); System.arraycopy(a,1,a1,0,4); Arrays.sort(arr);--------------------无返回值 int    a = scan.nextInt(); double b = scan.nextDouble(); double c = Math.random(); int[] a1 = Arrays.copyOf(a,6);-------有返回值 各个项目比较通用的方法 冒泡(){   6句话 }    main(){   调存款-----------1行   调取款-----------1行   调转帐-----------1行   调查询余额-------1行 } void 存款(){   500行 } void 取款(){------------调验证密码()   500行 } void 转帐(){------------调验证密码()   1000行 } void 查询余额(){--------调验证密码()   300行 } void 验证密码(){   100行 } int[] arr = {67,23,45,1}; //升序 for(int i=0;i<arr.length-1;i++){ //控制轮   for(int j=0;j<arr.length-1-i;j++){ //控制次     if(arr[j]>arr[j+1]){       int t=arr[j];       arr[j]=arr[j+1];       arr[j+1]=t;     }   } }              arr.length-1-i i=0(第一轮)  比3次 i=1(第二轮)  比2次 i=2(第三轮)  比1次 第一轮:   67和23比,换,23,67,45,1   67和45比,换,23,45,67,1   67和1比,换,23,45,1,67----------67冒出来了 第二轮:   23和45比,不换   45和1比,换,23,1,45,67----------45冒出来了 第三轮:   23和1比,换,1,23,45,67----------23冒出来了 元素数少,排序方式随意 元素数多,排序方式得选一选 1)当数据不同时,用不同的排序方式,效率也是不同的     这30万个数据-------------插入排序最快     另30万个数据-------------冒泡排序最快     另30万个数据-------------快速排序最快 2)有一种排序方式一直是最快的     Arrays.sort(arr); int[] a = {10,20,30,40,50}; int[] a1 = new int[6]; //0,0,0,0,0,0 for(int i=0;i<a.length;i++){   a1[i] = a[i]; } a1[0] = a[0]; a1[1] = a[1]; a1[2] = a[2]; a1[3] = a[3]; a1[4] = a[4]; int num = 1; while(num<=10){   num++; } System.out.println(num); //11 int num; for(num=1;num<=10;num++){ } System.out.println(num); //11
转载请注明原文地址: https://www.6miu.com/read-2650000.html

最新回复(0)