Java学习从基础到精通——技术小白的成长之路(Java学习笔记)第六天

数组的复制、数组的排序、冒泡排序详解、方法、计算算法的效率的一个方法

1.数组:

  1)数组的复制:

   1.1)System.arraycopy(a,1,a1,0,4);

1.2)int[] a1 = Arrays.copyOf(a,6);

    a = Arrays.copyOf(a,a.length+1);

  2)数组的排序:

 2.1)Arrays.sort(arr); //升序

2.2)冒泡排序:

   2.2.1)五个数冒四轮

2.2.2)每一轮都是从第1个元素开始冒

      每一次都是和它的下一个元素比

2.2.3)冒出来的就不带它玩了

冒泡排序运行过程分析:

i=0

  j=0 45和23比,换,23,45,1,8

  j=1 45和1比,换,23,1,45,8

  j=2 45和8比,换,23,1,8,45-------45

i=1

  j=0 23和1比,换,1,23,8,45

  j=1 23和8比,换,1,8,23,45-------23

i=2

  j=0 1和8比,不换-----------------8

第一轮:

  45和23比,换,23,45,1,8

  45和1比,换,23,1,45,8

  45和8比,换,23,1,8,45--------------45冒出来了

第二轮:

  23和1比,换,1,23,8,45

  23和8比,换,1,8,23,45--------------23冒出来了

第三轮:

  1和8比,不换------------------------8冒出来了

    arr.length-1-i

i=0 比3次

i=1 比2次

i=2 比1次

 

冒泡排序代码详解:

int[] arr = {45,23,1,8}; //升序排列(1,8,23,45)

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;

}

  }

}

 

 

2.方法:

  1)封装一段特定的业务逻辑功能

  2)方法尽可能独立,只干一件事

  3)方法可以被反复多次的调用

  4)减少代码的重复,有利于代码的维护,有利于团队的协作

3.方法的定义:

    修饰词 返回值类型 方法名(参数列表){

  方法体

}

4.方法的调用:

  1)无返回值: 方法名(有参传参);

  2)有返回值: 数据类型 变量 = 方法名(有参传参);

方法可以有参也可以无参,有参可以使方法更灵活

 

 

double c = Math.random(); //0.0到0.9999999999999...

 

double c = Math.random(1,1000);

double c = Math.random(0,99);

double c = Math.random(20,45);

 

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();------------------无参

 

方法可能有返回值也可以没有返回值:

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);----------有返回值

注意要点:

1)有参必须传参,并且参数类型必须匹配

2)有返回值必须return,并且return后的值必须与返回值类型匹配

3)调用方的变量名与方法中的变量名-----没有任何关系

4)方法可以嵌套调用

 

计算算法的效率的一个方法:

long a = System.currentTimeMillis();

要求效率的方法写在中间

long b = System.currentTimeMillis();

 

System.out.println(b-a);

5.return:

  1)return 值; //1.1)结束方法的执行 1.2)返回结果给调用方

    -------------------用在有返回值的方法中

  2)return;    //2.1)结束方法的执行

    -------------------用在无返回值的方法中

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值