大白成为Java软件攻城狮的第十二天(Java中的方法基础知识、语法及含义、方法调用规则)

方法

在Java语言当中应该有这样一个机制:

  • 某个功能代码只需要写一遍
  • 要使用这个功能,只需要给这个功能传递具体的数据
  • 这个功能完成之后返回一个最终的结果。

这样代码就可以重复使用了,提高代码的复用性。【这就是 “方法”

使用这个方法我们称为 “调用/invoke”

方法的本质

方法就是一段代码片段,并且这段代码片段可以完成某个特定的功能,并且可以被重复使用。
方法,对应的英语单词:Method,在C语言中叫做函数:Function、

方法定义在类体中,在一个类当中可以定义多个方法,方法编写的位置没有先后顺序,可以随意。

方法体中不能再定义方法!!!!!!

方法的基础语法

1、语法结构

[修饰符列表] 返回值类型 方法名(形式参数列表){
    
    
	方法体;
}

2、对以上语法结构进行解释说明:

2.1 关于修饰符列表

  • 可选项,不是必须的
  • 目前统一写成public static
  • 方法的修饰符列表当中"有static关键字"的话,怎么调用这个方法?
    类名.方法名(实际参数列表);

2.2 返回值类型

1、什么是返回值?

  • 一个方法是可以完成某个特定功能的,这个功能结束之后大多数都是需要返回最终执行结果的,执行结果可能是一个具体存在的数据。而这个具体存在的数据就是返回值。

2、返回值类型?

  • 返回值就是一个具体存在的数据,数据都是有类型的,此处需要指定的是返回值的具体类型。

3、返回值类型都可以指定哪些类型呢?

  • java任意一种类型都可以,包括基本数据类型和所有的引用数据类型。

4、也可能这个方法执行结束之后不返回任何数据,java中规定,当一个方法执行结束之后不返回任何数据的话,返回值类型位置必须编写:void 关键字

5、返回值类型可以是:

  • byte,short,int,long,float,double,boolean,char,string,void…

6、返回值类型若不是 void,表示这个方法执行结束之后必须返回一个具体的数值。当方法执行结束的时候,没有返回任何数据的话,编译器报错。怎么返回值呢?代码怎么写呢?“return 值;”并且要求“值”的数据类型必须和“方法的返回值类型”一致,不然编译器报错。

7、返回类型是void的时候,在方法体当中不能编写“return 值;”这样的语句。但是要注意可以编写“return;”这样的语句。

8、只要带有关键字的语句执行,return语句所在的方法结束。【不是JVM结束,是return所在的方法结束】

2.3 方法名

  • 只要是合法的标识符就行
  • 方法名最好见名知意
  • 方法名最好是动词
  • 方法名首字母要求是小写,后面每个单词首字母大写

2.4 形式参数列表:简称形参

  • 形参是局部变量:int a;double b;…
  • 形参的个数可以是0~N个
  • 多个形参之间用“逗号”隔开
  • 形参中起决定性作用的是形参的数据类型,形参的名字就是局部变量的名字。
  • 方法在调用的时候,实际给这个方法传递的真实数据被称为:实际参数,简称实参
  • 实参列表和形参列表必须满足:
    1 数量相同
    2 类型对应相同

2.5 方法体必须由大括号括起来,方法体中的代码有顺序

实例:

//public表示公开的
//class表示定义类
//MethodTest是一个类名
public class MethodTest{
    
     //表示定义一个公开的类,起名MethodTest,由于是公开的类,所以源文件名必须为:MethodTest
	//类体
	//类体中不能出现直接编写java语句,除声明变量之外
	//方法出现在类体当中

	//方法
	//public表示公开的
	//static表示静态的
	//void表示方法执行结束后不返回任何数据
	//main是方法名:主方法
	//(String[] args):形式参数列表,其中String[]是一种引用数据类型,args是一个局部变量的变量名
	//所以以下只有args这个局部变量的变量名是随意的
	//主方法就需要这样固定编写,这是程序的入口。【SUN公司规定的,必须这样写】
	public static void main(String[] args){
    
    

	//这里的程序是一定会执行的
	//main方法是JVM负责调用的,是一个入口的位置
	//从这里作为起点开始执行程序
	//既然是这样,我们就可以在这里编写java语句来调用其他方法
	//调用MethodTest的sum方法,传递两个实参
	MethodTest.sum(10,20);//(10,20)实参列表

	//注意:方法体当中的代码是有顺序的,遵循自上而下的顺序以此执行
	//上一行代码的程序执行不结束,无法执行下一行代码。	
	
	//一个方法可以被重复使用,重复调用
	int a=100;
	MethodTest.sum(a,500);// (a,500)实参列表

	//再次调用方法
	int k=90;
	int f=10;
	MethodTest.sum(k,f);//(k,f)实参列表
	}

	//自定义方法,不是程序的入口
	//方法的作用:计算两个int类型数据的和,不要求返回结果,但是要求将结果直接输出到控制台
	//修饰符列表:public static
	//返回值类型:void
	//方法名:sum
	//形式参数列表:(int x,int y)
	//方法体:主要任务是求和之后输出计算结果
	public static void sum(int x, int y){
    
    
		System.out.println(x+'+'+ y +'='+ (x+y))
	}
}

3、方法怎么调用?

方法只定义不去调用是不会执行的,只有在调用的时候才会执行。
语法规则:《方法的修饰符列表当中有static》

  • 类名.方法名(实参列表);<这是一条java语句,表示调用某个类的某个方法,传递这样的实参。>

猜你喜欢

转载自blog.csdn.net/qq2632246528/article/details/112714035
今日推荐