方法的定义及调用
/* 参数(原料):就是进入方法的数据。
返回值(产出物):就是从方法中出来的数据。
定义方法的完整格株式:
修饰符 返回值类型 方法名称(参数类型 参数名称,){
方法体
return 返回值;
}
修饰符:现阶段的固定写法,public static
返回值类型: 也就是方法最终产生的数据结果是什么类型
方法名称: 方法的名字,规则和变量一样,小驼峰
参数类型:进入方法的数据是什么类型
参数名称:进入方法的数据对应的变量名称
PS:参数如果有多个,使用逗号进行分隔
方法体:方法需要做的事情,若干行代码
return:两个作用,第一停止当前方法,第二将后面的返回值还给调用处
返回值:也就是方法执行后最终产生的数据结果
注意:return后面的“返回值”,必须和方法名称前面的“返回值类型”,保持对应。
方法的三种调用格式。
1.单独调用:方法名称(参数);
2.打印调用:System.out.println(方法名称(参数));
3. 赋值调用:数据类型 变量名称=方法名称(参数);
注意:此前学习的方法,返回值类型固定写为void,这种方法只能够单独调用,不能进行打印调用或者赋值调用。*/
/*定义一个两个int数字相加的方法,三要素:
* 返回值类型:int
* 方法名称:sum
* 参数列表:int a,int b*/
public class Test {
public static void main(String[] args){
//单独调用
sum(10,20);
//打印调用
System.out.println(sum(10,20));
//赋值调用
int number = sum(15,25);
System.out.println("变量的值:" + number);
}
public static int sum(int a,int b){
int result = a + b;
return result;
}
}
对比有参数和无参数
/*有参数:小括号当中有内容,当一个方法需要一些数据条件,才能完成任务的时候,就是有参数。
例如两个数字相加,必须知道两个数字是各自多少,才能相加。
无参数:小括号当中留空。一个方法不需要任何数据条件,自己就能独立完成任务,就是无参数。*/
public class Test {
public static void main(String[] args) {
method1(10,20);
method2();
}
//两个数字相乘,做乘法,必须知道两个数字各自是多少,否则无法进行计算
//有参数
public static void method1(int a, int b){
int result = a * b;
System.out.println("结果是:" + result);
}
//例如打印输出固定10次文本字符串
public static void method2(){
for (int i = 0; i < 10; i++){
System.out.println("Hello,World!" + i);
}
}
}
对比有返回值和无返回值
/* 题目要求:定义一个方法,用来【求出】两个数字之和。(你帮我算,算完之后把结果告诉我。)
* 题目变形:定义一个方法,用来【打印】两个数字之和。(你来计算,算完之后你自己负责显示结果,不用告诉我。)
*
* 注意事项:
* 对于有返回值的方法,可以使用单独调用、打印调用或者赋值调用。
* 但是对于无返回值的方法,只能使用单独调用,不能使用打印调用或者赋值调用。*/
public class Test {
public static void main(String[] args) {
//我是main方法,我来调用你。
//我调用你,你来帮我计算一下,算完了之后,把结果告诉我的num变量
int num = getSum(10,20);
System.out.println("返回值是:" + num);
printSum(100,200);
System.out.println(getSum(2,3)); // 正确写法
getSum(3,5); //正确写法,但是返回值没有用到
//对于void没有返回值的方法,只能单独,不能打印或赋值
// System.out.println(printSum(2,3));//错误写法!
// int num2 = printSum(10,20);//错误写法!
}
//我是一个方法,我负责两个数字相加。
//我有返回值int,谁调用我,我就把结果告诉谁
public static int getSum(int a, int b){
int result = a + b;
return result;
}
//我是一个方法,我负责两个数字相加。
//我没有返回值,不会把结果告诉任何人,而是我自己进行打印输出。
public static void printSum(int a, int b){
int result = a + b;
System.out.println("结果是:" + result);
}
}
持续更新中…