day7--java方法详解

java方法详解

一、何谓方法

1. Java方法是语句的集合,它们在一起执行一个功能

  • 方法是解决一类问题的步骤的有序组合
  • 方法包含于类或对象中
  • 方法在程序中被创建,在其他地方被引用

2.设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合,最好保持方法的原子性,

二、方法定义及调用

方法类似于其它语言的函数,是一段用来完成特定功能的代码片段。

修饰符 返回值类型  方法名(参数类型 参数名){
    方法体
        
     return 返回值
}

如果方法返回一个值的时候,方法调用通常被当做一个值

如果方法返回一个void,方法调用一定是一条语句

方法分为值传递和引用传递

三、方法重载

重载就是在一个类中,有相同的函数名称但是形参不同的函数

方法的重载规则

  • 方法名称必须相同

  • 参数列表必须不同

  • 返回类型可以相同,也可以不同

  • 仅仅返回类型不同,不足以重载

四、命令行传参

有时候你希望运行一个程序的时候再传递给它消息,这要靠传递命令行参数给main函数实现

带包名还能执行

java com.java.base.Demo4

五、可变参数

在方法声明中,在指定参数类型后加一个省略号

一个方法中只能指定一个可变参数,并且只能是最后一个参数

public void test(char c,int... i){
    
}

六、递归

递归就是自己调用自己

利用递归可以用简单的程序来解决一些复杂的问题,它通

递归包含两部分

递归头:什么时候不调用自身方法 (边界条件)

递归体:什么时候调用自身方法 (前阶段)

int f(int n){
    if(n == 1){
        return 1;
    }else{
        return n*f(n-1);
    }
}

返回阶段 n*(n-1)

一般不建议用

七、数组

  1. 数组概述

    相同类型数据的有序集合

  2. 数组声明

    dateType[] arrayname
    dateType  arrayname[]
    int[] nums;
    
  3. 数组使用new操作符来创建

    arrayname = new dataType[arraySize]
    nums = new int[10];
    
    • 下标从0开始,合法区间[0,length-1]

    • 获取数组的长度 arrayname.length

    • 内存分析

      • 堆 存放new对象
      • 栈 存放基本变量类型,引用对象的变量
      • 方法区 包含了所有的class和staic变量
    • 静态初始化

      int[] a ={1,2,3,4,5};
      
    • 动态初始化

      int[] a = new int[10];
      a[0]=1;
      a[1]=2;
      
    • 数组的四个基本特点

      • 其长度是确定的,一量被创建,它的大小就是不可改变的
      • 元素必须是相同类型
      • 元素可以是任何类型
      • 数组变量属于引用类型
      • 数组本身就是对象,数组元素相当于对象的成员变量
    • 数组的使用

      • for -each
      • 数组可以做为方法的参数
      • 数组可以做返回值
  4. 多维数组

    多维数组可以看成是数组的数组

    二维数组

    int[][] a = new int[2][5];
    
  5. Arrays类

    Arrays.toString(a)   //打印数组元素
    Arrays.sort(a)
    Arrays.fill
    Arrays.equals
    Arrays.binarySearch
    
  6. 冒泡排序

    两层循环,外层冒泡轮数,里层依次比较

    O(n2)

  7. 稀疎数组

当一个数组中大部分元素都为0,或者 为同一值的数组时,可以使用稀疎数组来保存该数组

处理方式:

  • 记录数组一共有几行几行,有多少个不同值

  • 把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模

posted @ 2022-04-10 23:39  LukeZhang_sz  阅读(26)  评论(0)    收藏  举报