方法就是一段独立的代码片段,并且它可以完成一个特定的功能,而且可以被我们重复的使用
在c语言中叫做函数
方法需要定义在类体之中,一个类体之中可以定义多个方法,方法填写的位置没有先后顺序
但是方法体之中不能再定义方法
方法的语法结构:
【修饰符列表】 返回值类型 方法名 (形式参数列表){
方法体;
}
返回值:当我们的方法执行结束后,一般情况下我们希望它给我们返回一个数据,这就是返回值,返回数据的类型就是返回值类型
当一个方法执行后,不返回任何数据,那么他的返回值类型我们写void 即为空
当返回值的类型不是void的时候,我们必须在方法执行结束后返回一个和返回值类型相同的值
语法:return 数值;
我们也可以编写return;这样的语句,这个语句可以用来强行终止方法的执行
方法名:合法的标识符即可,一般情况下,首字母小写,后面的单词的首字母大写
形式参数列表:形参是局部变量,可以是0到个,多个形参之间用逗号分隔。
实参列表与形参列表必须数量相同,类型对应相同
方法的调用:类名.方法名(实参列表);
方法的返回值类型不是void的时候:
一个方法有返回值的时候,当我们调用这个方法的时候,方法返回了一个值,对于调用者来说,这个返回值可以选择接收,也可以选择不接收。
public class MethodTest2{
public static void main(String[] args){
int c = divide(100,2); //接收返回值,使用=
System.out.println(c); //输出接收的返回值
}
public static int divide(int a , int b){ //定义一个函数实现除法
return a / b;
}
}
同一个作用域下,return语句下不可以编写任何代码,因为他们永远执行不到
2.方法的内存的
方法只定义不调用是不会执行的,也不会分配内存空间
在jvm中有主要三块内存空间: 方法区内存 、堆内存 、栈内存
例子:
//通过函数的方法实现输入功能以及输入的数据与星期进行匹配的功能
//例如:键盘输入1 -------控制台输出星期一
public class MethodTest3{
public static void main(String[] args){ //主函数
xingQi(); //调用xingQi函数
}
public static int shuRu(){ //定义输入函数
java.util.Scanner a = new java.util.Scanner(System.in);
int week = a.nextInt();
return week; //返回week的值 也就是键盘输入的值
}
public static void xingQi(){ //定义匹配函数
switch(shuRu()){ //调用输入函数
case 1:System.out.println("星期一");break;
case 2:System.out.println("星期二");break;
case 3:System.out.println("星期三");break;
case 4:System.out.println("星期四");break;
case 5:System.out.println("星期五");break;
case 6:System.out.println("星期六");break;
case 7:System.out.println("星期日");break;
default:System.out.println("输入错误");
}
}
}