如何定义 Java 中的方法
所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。
一般情况下,定义一个方法的语法是:
其中:
1、 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴
2、 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值
3、 方法名:定义的方法的名字,必须使用合法的标识符
4、 参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开
根据方法是否带参、是否带返回值,可将方法分为四类:
Ø 无参无返回值方法
Ø 无参带返回值方法
Ø 带参无返回值方法
Ø 带参带返回值方法
Java 中无参无返回值方法的使用
如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法。
方法的使用分两步:
第一步,定义方法
例如:下面代码定义了一个方法名为 show ,没有参数,且没有返回值的方法,执行的操作为输出 “ welcome to imooc. ”
注意哦:
1、 方法体放在一对大括号中,实现特定的操作
2、 方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式
第二步,调用方法
当需要调用方法执行某个操作时,可以先创建类的对象,然后通过 对象名.方法名(); 来实现(关于类和对象的概念在后面章节中会详细讲解滴,先熟悉语法,表着急哦~~)
例如:在下面的代码中,我们创建了一个名为 hello 的对象,然后通过调用该对象的 show( ) 方法输出信息
运行结果为: welcome to imooc.
Java 中无参带返回值方法的使用
如果方法不包含参数,但有返回值,我们称为无参带返回值的方法。
例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果
在 calSum( ) 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值。
调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理。如:
运行结果为: 两数之和为:17
不容忽视的“小陷阱”:
1、 如果方法的返回类型为 void ,则方法中不能使用 return 返回值!
2、 方法的返回值最多只能有一个,不能返回多个值
3、 方法返回值的类型必须兼容,例如,如果返回值类型为 int ,则不能返回 String 型值
Java 中带参无返回值方法的使用
有时方法的执行需要依赖于某些条件,换句话说,要想通过方法完成特定的功能,需要为其提供额外的信息才行。例如,现实生活中电饭锅可以实现“煮饭”的功能,但前提是我们必须提供食材,如果我们什么都不提供,那就真是的“巧妇难为无米之炊”了。我们可以通过在方法中加入参数列表接收外部传入的数据信息,参数可以是任意的基本类型数据或引用类型数据。
我们先来看一个带参数,但没有返回值的方法:
上面的代码定义了一个 show 方法,带有一个参数 name ,实现输出欢迎消息。
调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值
例如:
运行结果为: 欢迎您,爱慕课!
很多时候,我们把定义方法时的参数称为形参,目的是用来定义方法需要传入的参数的个数和类型;把调用方法时的参数称为实参,是传递给方法真正被处理的值。
一定不可忽视的问题:
1、 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应
3、 方法的参数可以是基本数据类型,如 int、double 等,也可以是引用数据类型,如 String、数组等
4、 当方法参数有多个时,多个参数间以逗号分隔
Java 中带参带返回值方法的使用
Java 中方法的重载
编程练习
小伙伴们,请根据所学知识,参考注释,在代码编辑器中将代码补充完整。编写一个JAVA程序,创建指定长度的 int 型数组,并生成 100 以内随机数为数组中的每个元素赋值,然后输出数组
要求:
1、 要求通过定义带参带返回值的方法来实现
2、 通过参数传入数组的长度(例如长度为 8),方法执行后返回赋值后的数组
3、 通过 (int)(Math.random() * 100) 生成 100 以内的随机数
注:Math 类是用于进行算术操作的类,Math.random() 生成 0--1 的浮点数。 关于该类的其他应用在后面章节会有详细介绍,先熟悉随机数方法的使用~~
运行效果为: [ 2 , 52 , 8 , 26 , 66 , 32 , 98 , 0 ]
注:由于数组元素的值是随机生成的,每次运行生成的值可能都不同,此效果仅供参考
//导入java.util.Arrays;
import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
// 创建对象,对象名为hello
HelloWorld hello = new HelloWorld();
// 调用方法并将返回值保存在变量中
int[] nums = hello.getArray(8);
// 将数组转换为字符串并输出
System.out.println(Arrays.toString(nums));
}
/*
* 功能:创建指定长度的int型数组,并生成100以内随机数为数组中的每个元素赋值
* 定义一个带参带返回值的方法,通过参数传入数组的长度,返回赋值后的数组
*/
public int[] getArray(int length) {
// 定义指定长度的整型数组
int[] nums = new int[length];
// 循环遍历数组赋值
for (int i=0; i<nums.length; i++) {
// 产生一个100以内的随机数,并赋值给数组的每个成员
nums[i]=(int)(Math.random()*100);
}
return nums; // 返回赋值后的数组
}
}