一、方法
主方法
方法:功能块
{}叫块
![](https://img.haomeiwen.com/i11005784/8af0b2f977345100.png)
二、方法的声明
修饰符 返回值类型 方法名(数据类型1 参数1,数据类型2 参数2,数据类型3 参数3...){
执行功能;
return 返回值;
}
1、修饰符,暂时写为public static
2、返回值:方法执行完的结果
3、返回值类型:返回值的数据类型
当返回值类型为数据类型的时候,方法最后必须return 合适类型的返回值
当返回值类型为void的时候,最后不能写return 返回值;
4、方法名:标识方法,强烈建议遵守驼峰规范
5、参数列表,参数,本质是变量(托盘),用来存储方法执行时传递过来的数据
练习:写一个方法,求两个int型数据的和
练习:写一个方法,打印两个int型的数据,结果不要求返回
三、方法的相关说明
1、return有两层含义
(1)返回一个值出去
(2)停止当前方法
2、无返回值的方法最后可以放一个return,表示当前方法结束
3、方法必须通过调用才能正式生效
形式参数:方法声明时的参数列表,简称形参
实际参数:方法调用时送入方法的值,简称实参
传参:把实际参数赋给形式参数,这个过程叫传参
4、有返回值的方法是有结果的,谁调用这个方法,结果就给谁
5、方法不能嵌套定义可以嵌套调用
public static void main(String[] args) {
a();
}
public static void a() {
System.out.println("调用a方法了");
b();
}
public static void b() {
System.out.println("调用b方法了");
c();
}
public static void c() {
System.out.println("调用c方法了");
d();
}
public static void d() {
System.out.println("调用d方法了");
}
public static void main(String[] args) {
a();
}
public static void a() {
System.out.println("调用a方法了");
b();
}
public static void b() {
System.out.println("调用b方法了");
c();
}
public static void c() {
System.out.println("调用c方法了");
d();
}
public static void d() {
System.out.println("调用d方法了");
}
四、方法的分类
有参有返回值
public static int getSum(int a,int b) {
int sum = a + b;
return sum;
}
有参无返回值
public static void getSum1(int a,int b) {
int sum = a + b;
System.out.println(sum);
return;
}
无参有返回值
public static String getStr() {
return "hahaha";
}
无参无返回值
public static void sayHello() {
System.out.println("hello");
}
五、方法的调用
有参方法,方法名(实际参数列表);
无参方法,方法名();
有返回值方法,方法调用后,可以用变量接收,或做其他操作如打印
无返回值方法,调用后没有任何处理
1、有参有返回值方法的调用
public static void main(String[] args) {
int sum = getSum(2,3);
System.out.println(sum);
}
2、有参无返回值方法的调用
public static void main(String[] args) {
getSum1(2,3);
}
3、无参有返回值方法的调用
public static void main(String[] args) {
String str = getStr();
System.out.println(str);
}
4、无参无返回值方法的调用
public static void main(String[] args) {
sayHello();
}
六、基本数据类型和引用数据类型传参的不同
![](https://img.haomeiwen.com/i11005784/885a11e2d8929939.png)
七、重载
1、与修饰符无关
2、与返回值类型无关
3、方法同名
4、形参列表的个数或类型或顺序不一致
以下哪些方法可以在同一个类中
A、public static void test(){}
B、public static void test(int a){}
C、public static void test(int b){}
D、public static void test1(){}
E、public static int test(int a,double b){
return 1;
}
F、void test(String s){
}
G、类名为Test,方法为public static void Test(boolan b){
}
A、B/C、D、E、F、G
已知一个类有重载现象,怎么判定具体调用的是哪个方法?
根据实参类型确定具体调用的是哪个方法
八、可变参数
1、可变参数最多只能有1个
2、可变参数必须位于最后
作业
1、写一个求阶乘的方法
2、写一个给数组排序的方法
3、写一个复制数组元素的方法,参数为源数组、源数组起始位置、源数组复制长度、目标数组、目标数组起始位置、目标数组粘贴长度,要求把目标数组原有数据覆盖掉
网友评论