Java 中无参无返回值方法的使用
如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法。
方法的使用分两步:
第一步,定义方法
例如:下面代码定义了一个方法名为 show ,没有参数,且没有返回值的方法,执行的操作为输出 “ welcome to imooc. ”
注意哦:
1、 方法体放在一对大括号中,实现特定的操作
2、 方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式
第二步,调用方法
当需要调用方法执行某个操作时,可以先创建类的对象,然后通过 对象名.方法名(); 来实现(关于类和对象的概念在后面章节中会详细讲解滴,先熟悉语法,表着急哦~~)
例如:在下面的代码中,我们创建了一个名为 hello 的对象,然后通过调用该对象的 show( ) 方法输出信息
运行结果为: welcome to imooc.
任务
检查工作的又来啦!!!
在编辑器中定义了一个方法名为 showMyLove 的无参无返回值方法,用来输出信息。请在第 5、8、14 行中将代码填写完整
运行结果为: 我爱慕课网!
public class HelloWorld { public static void main(String[] args) { // 创建对象,对象名为hello HelloWorld hello=new HelloWorld(); // 调用方法 hello.showMyLove(); } /* * 定义无参无返回值的方法 */ public void showMyLove() { System.out.println("我爱慕课网!"); } }
Java 中无参带返回值方法的使用
如果方法不包含参数,但有返回值,我们称为无参带返回值的方法。
例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果
在 calSum( ) 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值。
调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理。如:
运行结果为: 两数之和为:17
不容忽视的“小陷阱”:
1、 如果方法的返回类型为 void ,则方法中不能使用 return 返回值!
2、 方法的返回值最多只能有一个,不能返回多个值
3、 方法返回值的类型必须兼容,例如,如果返回值类型为 int ,则不能返回 String 型值
任务
在编辑器中已经定义了一个名为 calcAvg 的方法,用来计算两门课程成绩的平均值,并返回结果。
请在第 9、15、22 行中将代码填写完整,实现调用 calcAvg( ) 方法,并输出平均成绩。
运行结果为: 平均成绩为:87.75
public class HelloWorld { public static void main(String[] args) { // 创建名为hello的对象 HelloWorld hello = new HelloWorld(); // 调用hello对象的calcAvg()方法,并将返回值保存在变量avg中 double avg = hello.calcAvg(); System.out.println("平均成绩为:" + avg); } // 定义一个返回值为double类型的方法 public double calcAvg() { double java = 92.5; double php = 83.0; double avg = (java + php) / 2; // 计算平均值 // 使用return返回值 return avg; } }
编程练习
小伙伴们,请根据所学知识,参考注释,在代码编辑器中将代码补充完整。编写一个 Java 程序,实现输出学生年龄的最大值
要求:
1、 要求通过定义无参带返回值的方法来实现,返回值为最大年龄
2、 方法中将学生年龄保存在数组 ages 中,数组元素依次为 18 ,23 ,21 ,19 ,25 ,29 ,17
运行效果为: 最大年龄为:29
任务
一、 定义一个无参带返回值的方法,实现输出学生年龄的最大值
提示: 1、 定义一个整形数组 ages ,保存学生年龄,数组元素依次为 18 ,23 ,21 ,19 ,25 ,29 ,17 2、 定义一个整形变量 max ,保存学生最大年龄,初始时假定数组中的第一个元素为最大值 3、 使用 for 循环遍历数组中的元素,并与假定的最大值比较,如果比假定的最大值要大,则替换当前的最大值 4、 使用 return 返回最大值
二、 完成 main 方法
提示: 1、 调用自定义方法,将方法返回值保存在变量 maxScore 中 2、 输出变量结果
public class HelloWorld { //完成 main 方法 public static void main(String[] args) { // 创建对象,对象名为hello HelloWorld hello = new HelloWorld(); // 调用方法并将返回值保存在变量中 int maxScore=hello.getMaxAge(); // 输出最大年龄 System.out.println("最大年龄为:" + maxScore); } /* * 功能:输出学生年龄的最大值 * 定义一个无参的方法,返回值为年龄的最大值 * 参考步骤: * 1、定义一个整形数组 ages ,保存学生年龄,数组元素依次为 18 ,23 ,21 ,19 ,25 ,29 ,17 * 2、定义一个整形变量 max ,保存学生最大年龄,初始时假定数组中的第一个元素为最大值 * 3、使用 for 循环遍历数组中的元素,并与假定的最大值比较,如果比假定的最大值要大,则替换当前的最大值 * 4、使用 return 返回最大值 */ public int getMaxAge() { int[] ages={18,23,21,19,25,29,17}; int max=0; for(int age:ages){ if(max<age) max=age; } return max; } }
Java 中带参无返回值方法的使用
有时方法的执行需要依赖于某些条件,换句话说,要想通过方法完成特定的功能,需要为其提供额外的信息才行。例如,现实生活中电饭锅可以实现“煮饭”的功能,但前提是我们必须提供食材,如果我们什么都不提供,那就真是的“巧妇难为无米之炊”了。我们可以通过在方法中加入参数列表接收外部传入的数据信息,参数可以是任意的基本类型数据或引用类型数据。
我们先来看一个带参数,但没有返回值的方法:
上面的代码定义了一个 show 方法,带有一个参数 name ,实现输出欢迎消息。
调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值
例如:
运行结果为: 欢迎您,爱慕课!
很多时候,我们把定义方法时的参数称为形参,目的是用来定义方法需要传入的参数的个数和类型;把调用方法时的参数称为实参,是传递给方法真正被处理的值。
一定不可忽视的问题:
1、 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应
3、 方法的参数可以是基本数据类型,如 int、double 等,也可以是引用数据类型,如 String、数组等
4、 当方法参数有多个时,多个参数间以逗号分隔
任务
请在编辑器中的第 15 行后填写完整方法代码
实现功能:编写带参方法计算两门课程考试成绩的平均分,通过方法的参数传入成绩信息
运行结果为: 平均分:87.5
public class HelloWorld { public static void main(String[] args) { // 创建对象,对象名为hello HelloWorld hello = new HelloWorld(); // 调用方法,传入两门课程的成绩 hello.calcAvg(94, 81); } /* * 功能:计算两门课程考试成绩的平均分并输出平均分 * 定义一个包含两个参数的方法,用来传入两门课程的成绩 */ public void calcAvg(int a,int b){ double avg; avg=(a+b)/2.0; System.out.println("平均分:"+avg); } }
Java 中带参带返回值方法的使用
如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法。
例如:下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 String 类型的结果
调用带参带返回值的方法:
运行结果为: 欢迎您,爱慕课!
任务
实现功能:将考试成绩排序并输出,返回成绩的个数
实现思路:
1、 定义一个包含整型数组参数的方法,用来传入成绩数组
2、 在方法体中使用 Arrays.sort( ) 方法对成绩数组进行排序,然后使用 Arrays.toString( ) 方法将数组转换为字符串并输出,最后使用 return 返回数组中元素的个数。
3、 调用方法时需要先创建对象,然后再调用.调用时为其传入成绩数组,并获取方法的返回值,保存在变量中,最后输出成绩的个数。
请将编辑器中的第 9、20、25 行代码填写完整
运行结果:
import java.util.Arrays; public class HelloWorld { public static void main(String[] args) { HelloWorld hello = new HelloWorld(); int[] scores={79,52,98,81}; //调用方法,传入成绩数组,并获取成绩的个数 int count=hello.sort(scores); System.out.println("共有"+count+"个成绩信息!"); } /* * 功能:将考试成绩排序并输出,返回成绩的个数 * 定义一个包含整型数组参数的方法,传入成绩数组 * 使用Arrays类对成绩数组进行排序并输出 * 方法执行后返回数组中元素的个数 */ public int sort(int[] scores ){ Arrays.sort(scores); System.out.println(Arrays.toString(scores)); //返回数组中元素的个数 return scores.length; } }