1、有返回值类型的方法
1_1、有特定功能的一个代码块
A、将代码做了简单的封装,提高了代码的复用性
1_2、格式是什么?
修饰符 返回值类型 方法名(数据类型 参数名,数据类型 参数名,...){
方法体;
return 结果;
}
1_3、修饰符
A、public static
1_4、返回值类型
A、可以是java中的任意数据类型
1_5、方法名
A、见名知义
B、小驼峰--第一个单词全部小写,从第二个单词开始,首字母大写。
1_6、参数列表
A、就是定义的变量
B、数量 0 - n
1_7、方法体
A、实现功能的代码
1_8、返回值
A、返回值的数据类型要与返回值类型一致
1_9、使用
A、调用
1)、直接调用 没有意义
2)、赋值调用 推荐使用
3)、输出调用
int sum = sum(x,y);
System.out.println(sum);
1_10、定义方法
A、两个明确
(1)、返回值类型
(2)、参数列表
1_11、注意
A、方法的位置 类里方法外
B、接受结果的数据类型与返回值数据类型以及返回结果的数据类型 三者保持一致
C、调用方法的时候--你要确保你给的参数能够成功的赋值给参数列表中的局部变量
D、有返回值的方法,你无论如何都必须保证他能有一个正确的返回值
1_12、return
A、返回结果,并结束方法--运行到 return之后 return下面的代码不再执行
例:
public static void main(String[] args) {
/*
* 三种
* 直接调用:没有意义
* 赋值调用:我们推荐在使用的
* 输出调用:测试的时候使用(偷懒)
*/
int x = 10;
int y = 20;
int sum = sum(x,y);
int sum1 = sum(10,30);
System.out.println(sum);
int money = smallBoy(sum);
System.out.println(money);
}
/*
*
* 0-多个
* 修饰符 返回值类型 方法名(参数类型 参数名,参数类型 参数名,...){
* 方法体;
* return 结果;
* }
*
* 定义的位置 类里 方法外
*
* 两个明确:
* 参数列表: 我想实现方法体内的代码 需要什么我就给什么
* 返回值类型: 我想得到什么
*
* 两个数的求和
* 参数列表:(两个数)两个int类型的参数
* 返回值类型:(和)返回值是int类型
*
*/
public static int sum(int a,int b){
int c = a + b;
return c;
}
public static int smallBoy(int money){
System.out.println("我拿着"+money+"买了一包中华,三包火腿,一箱啤酒");
return 200;
}
2、没有返回值类型的方法
2_1、格式
修饰符 void 方法名(数据类型 参数名,数据类型 参数名,...){
方法体;
}
2_2、调用
a直接调用
2_3、现阶段
A、一般需要用在你打印的功能上
B、引用数据类型内容的改变
C、我们优先使用 有返回值类型的方法,在考虑没有返回值类型的方法
3、方法内存图解
4、方法的重载
4_1、在同一个类中,方法名相同参数列表不同的方法,与返回值类型无关
4_2、参数列表不同
A、个数不同
B、数据类型不同(对应位置比较)
5、内存图解
5_1、基本数据类型图解
A、形参的改变不影响实参
B、形参:方法内的参数
C、实参:我们在住方法中定义的变量
5_2、引用数据类型的图解
A、形参的改变直接影响实参