对比有参数和无参数
有参数:
小括号当中有内容,当一个方法需要一些数据条件,才能完成任务的时候,就是有参数。
例如两个数字相加,必须知道两个数字是各自多少,才能相加。
无参数:
小括号当中留空。一个方法不需要任何数据条件,自己就能独立完成任务,就是无参数。
例如定义一个方法,打印固定10次HelloWorld。
public class Demo03MethodParam{
public static void main(String[] args){
method1(a:10,b:20);
System.out.println("=============="); 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 Demo04MethodReturn{
public static void main(String[] args){
//我是main方法,我来调用你。
//我调用你,你来帮我计算一下,算完了之后,把结果告诉我的num变量
int num=getSum(a:10, b:20);
System.out.println("返回值是:"+num);
System.out.println("==============");
printSum(a: 100, b:200);
System.out.println("==============");
System.out.println(getSum(a:2,b:3));//正确写法
getSum(a:3, b:5);//正确写法,但是返回值没有用到
System.out.println("==============");
//对于void没有返回值的方法,只能单独,不能打印或者赋值
// System.out.println(printSum(2,3));// 错误写法!
// System.out.println(void);
// int num2=printSum(10,20);//错误写法!
// int num3 =void;
// void num4 = void;
}
//我是一个方法,我负责两个数字相加。
//我有返回值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);
}
}
方法的注意事项
使用方法的时候,注意事项: 1.方法应该定义在类当中,但是不能在方法当中再定义方法。不能嵌套。 2.方法定义的前后顺序无所谓。 3.方法定义之后不会执行,如果希望执行,一定要调用:单独调用、打印调用、赋值调用。 4.如果方法有返回值,那么必须写上“return 返回值:",不能没有。
5.return后面的返回值数据,必须和方法的返回值类型,对应起来。 6.对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己。 7.对于void方法当中最后一行的return可以省略不写。 8.一个方法当中可以有多个return语句,但是必须保证同时只有一个会被执行到,两个return不能连写。
public class Demo04MethodNotice{
public static int method1() {
return 10;
}
public static void method2(){
// return 10;// 错误的写法!方法没有返回值,return后面就不能写返回值。
return;//没有返回值,只是结束方法的执行而已。
}
public static void method3() {
System.out.println("AAA");
System.out.println("BBB");
// return;//最后一行的return可以省略不写。
}
public static int getMax(int a, int b) {
/*int max; if(a > b) {
max=a;
} else {
max = b;
}
return max;*/
if (a > b) {
return a; I
} else {
return b;
}
}
}