Java中的方法
一:什么是方法;
所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。
学过C语言或者其他语言的应该都知道函数这个东西,在Java中,其实方法就是函数,只不过叫法不同,在Java中,函数被称为方法。
二:如何定义Java中的方法;
一般情况下,定义一个方法的语法是:
其中:
- 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴
- 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值
- 方法名:定义的方法的名字,必须使用合法的标识符
- 参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开
根据方法是否带参、是否带返回值,可将方法分为四类:
- 无参无返回值方法
- 无参带返回值方法
- 带参无返回值方法
- 带参带返回值方法
一个具体的例子
代码如下:
public class HelloWorld { //定义了一个方法名为 print 的方法,实现输出信息功能 public void print() { System.out.println("Hello World"); } public static void main(String[] args){ //在 main 方法中调用 print 方法 HelloWorld test=new HelloWorld(); test.print(); } }
运行结果为:
三:Java中无参无返回值方法的使用;
如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法。
方法的使用分两步:
第一步,定义方法
例如:下面代码定义了一个方法名为 show ,没有参数,且没有返回值的方法,执行的操作为输出 “ welcome to imooc. ”
注意:
2、 方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式
第二步,调用方法
当需要调用方法执行某个操作时,可以先创建类的对象,然后通过 对象名.方法名(); 来实现(关于类和对象的概念在后一章中会详细讲解,先熟悉语法)
例如:在下面的代码中,我们创建了一个名为 hello 的对象,然后通过调用该对象的 show( ) 方法输出信息
代码如下:
public class HelloWorld { public static void main(String[] args){ //创建对象,对象名为hello HelloWorld hello=new HelloWorld(); hello.show(); } //void 为返回值类型 show为方法名 public void show(){ //方法体 System.out.println("welcome cnbolgs.com"); } }
运行结果为:
四:Java中无参带返回值方法的使用;
如果方法不包含参数,但有返回值,我们称为无参带返回值的方法。
例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果
在 calSum( ) 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值。
调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理。如:
代码如下:
public class HelloWorld { public static void main(String[] args){ //创建对象,对象名为hello HelloWorld hello=new HelloWorld(); int sum = hello.calcSum(); System.out.println("两数之和为:"+sum); } //定义无参带返回值的方法 public int calcSum(){ int a=5; int b=12; int sum =a+b; return sum; } }
运行结果为: 两数之和为:17
不容忽视的“小陷阱”:
1、 如果方法的返回类型为 void ,则方法中不能使用 return 返回值;
2、 方法的返回值最多只能有一个,不能返回多个值;
3、 方法返回值的类型必须兼容,例如,如果返回值类型为 int ,则不能返回 String 型值;
五:Java中带参无返回值方法的使用;
有时方法的执行需要依赖于某些条件,换句话说,要想通过方法完成特定的功能,需要为其提供额外的信息才行。例如,现实生活中电饭锅可以实现“煮饭”的功能,但前提是我们必须提供食材,如果我们什么都不提供,那就真是的“巧妇难为无米之炊”了。我们可以通过在方法中加入参数列表接收外部传入的数据信息,参数可以是任意的基本类型数据或引用类型数据。
我们先来看一个带参数,但没有返回值的方法:
上面的代码定义了一个 show 方法,带有一个参数 name ,实现输出欢迎消息。
调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值
例如:
public class HelloWorld { public static void main(String[] args){ //创建对象,对象名为hello HelloWorld hello=new HelloWorld(); hello.show("博客园"); } //定义无参带返回值的方法 public void show(String name){ System.out.println("欢迎您,"+name+"!"); } }
运行结果为:
很多时候,我们把定义方法时的参数称为形参,目的是用来定义方法需要传入的参数的个数和类型;把调用方法时的参数称为实参,是传递给方法真正被处理的值。
一定不可忽视的问题:
1、 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应;
2、 调用方法时,实参不需要指定数据类型,如 ;
3、 方法的参数可以是基本数据类型,如 int、double 等,也可以是引用数据类型,如 String、数组等;
4、 当方法参数有多个时,多个参数间以逗号分隔
六:Java中带参带返回值方法的使用;
如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法。
例如:下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 String 类型的结果
调用带参带返回值的方法:
代码如下:
public class HelloWorld { public static void main(String[] args){ //创建对象,对象名为hello HelloWorld hello=new HelloWorld(); String welcome=hello.show("博客园"); System.out.println(welcome); } //定义无参带返回值的方法 public String show(String name){ return "欢迎您,"+name+"!"; } }
运行结果为: