方法

c中的函数

例如

	System.out.println()	//System是一个类,out是System下的一个(PrintStream类的实例)对象(变量),println是一个方法

方法最好保持原子性:一个方法只实现一个功能

方法的定义

  • 修饰符:可选
  • 返回值类型
  • 方法名
  • 参数类型
    • 形参:方法内用的
    • 实参:调用方法的语句中的参数
      • 形参往往是实参的副本,调用方法大多时候不会影响实参
  • 方法体
	修饰符 返回值类型 方法名(参数类型 参数, ……){
        方法体
	}

方法的重载

参数不同

  • 类型不同
  • 参数个数不同

命令行传参

main方法可以接收命令行中输入的内容作为参数(以字符串为单位的数组,空白字符作为分隔符)

包中的.java文件编译后要去src目录下运行

可变参数

  • 不定项参数

  • 在指定参数类型后加一个省略号(..,)

  • 一个方法只能有一个可变参数,且必须写在最后一个参数的位置

    传的是一个数组

递归

利用调用方法自身重复的执行相同的操作达到简化代码的过程

注:

  • 递归要有出口,不能陷入死循环,可利用选择结构

数组

  • 长度确定

  • 元素类型相同

  • 数组的变量属于引用类型,其本身就是对象,其元素相对于对象的成员变量,保存在堆中

数组的定义

    int[] nums; //主流
    int numss[];    //方便c和c++掌握java

    double[]a = new double[]{1, 2, 3};
	a.length;获得数组a的长度
        
    //根据有没有初始化区分
    int[] nums = {1, 2, 3}; //静态初始化
	int[] b = new int[10]; //动态初始化,包含默认初始化
  • 下标从0开始,a数组中三个元素的下标分别是0,1,2。长度 [0 - length - 1]

  • 数组的长度定义后不可更改

数组越界的报错

ArrayIndexOutofBounds