一、前言
前面我们介绍了方法的定义概述和调用,也稍微拓展了一些其他章节相关的知识点,现在我
们来继续学习Java方法的内容。
本章主要内容:
1.带参数方法的定义和调用
2.带返回值的方法定义和调用
1.带参数方法的定义和调用
方法定义:
格式1:(带static的方法定义)
public static void 方法名(参数){ //方法内容 }
示例:
public static void compare(int a,int b){ System.out.println(a>b?a:b); }
注意:一个程序要想运行则比须要有main方法,程序就是从main方法进入的。所以比较完整的写法是:
示例图:
代码:
package com.test; public class 比较 { public static void main(String[] args) { compare(10,20); } public static void compare(int a,int b){ System.out.println(a>b?a:b); } }
注意:在定义方法时,调用中的参数要和方法中的参数一一对应,以及参数类型也要一一对
应,否则会报错。如上图中的compare(int,int)方法定义了两个int类型的方法,那么在其他方
法中(不一定是main方法)调用也要写两个int类型的参数。其实方法可以重载的,重载就是参
数个数或参数类型至少有一个不同...(下篇细讲)
错误示例1:参数类型不同
错误示例2:参数个数不同
格式2:方法中不带static
这个当main方法调用他时,则需要在main方法中先创建对象(以前讲过)
在同一类中,其他不带static方法可以直接调用其他方法(上篇讲过,不重复了)
方法调用:
格式是:方法名();
是不是超级简单,其中括号里的参数要和定义的参数一致。
如:compare(10,20);也可以通过Scanner数入参数
带返回值的参数方法定义和调用
仔细看是不是就只和上面那个多了返回值这三个字,实际上这定义的时候也是多这一个。
方法定义格式:
(也是分带不带static的,和上面一样,所以我就不分开讲了)
public static 返回类型 方法名(参数){ //方法体 return 数据 }
如:
public static int compare(int a,int b){ return a>b?a:b; }
注:带返回值的方法必须要有return返回一个以上的数据,否则报错,而返回类型为
void的,可以有return,但是return后啥也不跟,直接return;即可。
示例:
代码:
package com.test; public class 比较 { public static void main(String[] args) { int a=compare(10,20); System.out.println(a); } public static int compare(int a,int b){ return a>b?a:b; } }
注:调用方法时,必须要有一个变量去接受返回类型(不接收也不会报错的),没有任何
变量去接受返回的值是没有任何意义的
嵌套定义和嵌套调用
方法不能嵌套定义,但是可以嵌套调用,
什么是嵌套定义,其实就是一个方法套了另一个方法
什么是嵌套套用,就是各个方法的来往调用,一个方法可以调用一个或多个,
如方法a调用方法b,方法b调用了方法c、d等等。
如
错误写法:
public static void main(String[] args){ public static void getmax(int a,int b){ } }
此时就有问题了,main方法嵌套了getmax方法。
正确的写法:
public static void main(String[] args){ } public static void getmax(int a,int b){ }