方法
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