java学习第四天笔记

一.方法(函数)

1.方法的概念

   方法(method)是具有独立功能的代码块组织成为一个成体,让他具有特殊功能的代码集。

2.方法的语法结构

访问修饰词 + 修饰词 +返回值 + 方法名 + 参数(数据类型 + 变量名)

//主方法

public static void main(String[] args)

  1. 3.方法的定义和使用

1)方法的使用:

       a.定义方法

        b.调用方法 - 方法名()直接调用 

 注意:先定义后调用,否则会报错

2)方法的定义
      (1)无参方法
      (2)有参方法
        参数:数据类型 + 变量名
            数据类型:
              a.基本数据类型
              b.引用数据类型:数组 / 类 / 接口
              c.可变长参数
                  语法: 类型...
            注意: 可变,参数在传递过程中可以是0 ~ n个参数
                使用时,可变长参数后不能追加别的参数
      (3)带返回值的方法
        返回值类型:
          基本数据类型:
          引用数据类型:数组 / 类 / 接口
          void:没有返回值

4.方法定义的格式

修饰词:public static

返回值类型:void/基本/引用

方法名:自定义,但可读性要好,必须遵循小驼峰命名法

方法参数:基本/引用/可变长参数

方法体:做逻辑判断

5.方法定义需要注意:

1)参数列表如何定义:当有不确定因数时会当作方法参数传递

2)返回值类型如何定义:考虑在调用时  是否需要这个值

6.方法的重载

1)概念:在同一个类中,相同的方法名,方法参数不一致可以造成方法的重载

        a.前提:必须在一个类中

         b.参数不一致,顺序不一致,个数不一致,类型不一致

         c.方法重载和返回值无关

         

8.方法的参数传递
  1)方法参数传递基本数据类型
      特点:传递值,参数的改变,不影响实际参数

  2)方法参数传递引用数据类型
      特点:传递地址值,参数的改变,会影响实际参数


二、递归

三、数组排序
  冒泡排序、选择排序、快速排序、插入排序、希尔排序、桶排序。。。

冒泡排序:
  原理:每一轮比较相邻的两个元素,小的放前面,大的放后面

原数组: int[] arr = {8,2,3,7,1}

第一轮: i = 0
  数据交换:arr[i] > arr[i+1]
  [2,8],3,7,1  j = 1
  2,[3,8],7,1  j = 2
  2,3,[7,8],1  j = 3
  2,3,7,[1,8]  j = 4

第二轮: i = 1
  [2,3],7,1,8  j = 1
  2,[3,7],1,8  j = 2
  2,3,[1,7],8  j = 3

第三轮: i = 2
  [2,3],1,7,8  j = 1
  2,[1,3],7,8  j = 2

第四轮: i = 3
  [1,2],3,7,8 j = 1


两层for循环:
i: i = 0; i < length - 1 ;i++
j: j = 0; j < length - i - 1;j++
          j+1 < length - i;

____________________________________
选择排序:
  原理:每一轮都选择最大,放在最后面
原数据: int[] arr = {9,7,3,6,1}

第一轮:
结果: 1,7,3,6,9
1: 比较arr[1] 和 arr[0],得出最大值
   定义index = arr[0]
2: 比较arr[2] 和 index,得出最大值
   记录index = arr[0]
3: 比较arr[3] 和 index,得出最大值
   记录index = arr[0]
4: 比较arr[4] 和 index,得出最大值
   记录index = arr[0]
比较完成,交换下标位置
i: i = 0, i < length - 1
j: j = 1, j < length - i

原始数据:1,7,3,6,9
第二轮:1,6,3,7,9
1:arr[0] 和 arr[1]比较,最大值arr[1]
2:arr[2] 和 index比较,最大值arr[1]
3:arr[3] 和 index比较,最大arr[1]
比较完成,交换 index 和 j
i:i = 1
j:


源数据:1,6,3,7,9
第三轮:1,3,6,7,9
i: i = 2
j:

原数据:1,3,6,7,9
第四轮:1,3,6,7,9
i: i = 3
j: 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值