文章目录
Method
方法概述
因为程序中的大量代码是重复的,就可以被复用的,可以被优化的,因而引入了方法这种语法机制。
方法的声明
[修饰符列表] 返回值类型 方法名(形式参数列表){
// 方法体
}
//
修饰符列表:可以为空,参照main方法
返回值类型:方法返回值的数据类型(基本数据类型/引用数据类型),返回的时候结合return使用
方法名:用标识符标识方法,给方法起个名字,用小驼峰命名
形式参数列表:告诉方法需要什么类型的参数,有多少个参数(基本数据类型/引用数据类型)
注意:形式参数的作用域仅在方法内部,是一个局部变量;其中起重要作用的是参数的数据类型
方法体:{}里面就是方法体
//
方法的核心
能复用代码,有输入和输出。本质就是为了代码复用。
方法头(方法声明)
[修饰符列表] 返回值类型 方法名(形式参数列表)
方法签名
方法名(形式参数列表)
方法的调用
main
方法是程序的执行入口
使用void
表示没有返回值的方法,像main方法类型
实参的自动类型转换
小范围 —> 大范围
main()方法解释
方法重载
语法要求
一个类中的多个方法,可以具有相同的方法名,但是它们的形参列表(1. 形参数量不同;2. 形参数量相同的时候,形参的数据类型不同;3. 形参数量和数据类型相同时,形参的数据类型的顺序不同)必须不同。
就近原则
有多个选项都能正确匹配时,那么优先选择“最近”的。
单元测试
单元测试Junit
跟main
方法效果差不多
格式:
public void 方法名(){
...
}
@Test
是一个注解(Annotation)
@
:创建一个注解实例
使用步骤:
- 导包
alt + enter
- 写方法,遵守格式要求
- 方法上面加上
@Test
如果在测试方法中没办法输入内容
配置一下:
帮助
—>edit customer VMoptions
—> 加上-Deditable.java.test.console = true
eg:
import org.junit.Test;
public class DemoTest{
@Test
public void readTest(){
// 格式:xxxTest
...
}
}
数组
数组的定义
- 存储多个元素、多个数据
- 数据类型必须一致
- 数据有序
数组是线性表中顺序表的典型实现
ArrayList
高级的数据结构,集合框架的会学习,底层仍然是一个数组,但这个数组可以自动扩容。
数组的声明
数据类型[] 数组名;
数据类型 数组名[];
以后声明的时候统一使用格式1,但是要进行初始化。
eg:
// 格式1
// 尽量采用格式1,具有更好的可读性,能直观看到这个数组是一个什么数据类型的数组
int[] arr;
// 格式2
int arr[];
数组的初始化
静态初始化
完整语法:数据类型[] 数组名 = new 数据类型[]{元素1, 元素2, .....};
简化语法:数据类型[] 数组名 = {元素1, 元素2, .....};
动态初始化
完整语法:数据类型[] 数组名 = new 数据类型[数组长度];
系统(JVM)会自动赋值,对于int
数组来说,默认值为0,对于引用数据类型来说,数组元素的默认值是null
数组长度:只能是正整数
new
是一个关键字,表示在堆上分配空间,并去创建一个对象。