方法就是完成某些特定功能的代码块,也就是其他语言所说的函数,在Java中称为方法
定义一个方法的格式#
定义方法的完整格式:
修饰符 返回值类型 方法名称(参数类型 参数名称,...){
方法体 return 返回值;
}
修饰符: public static
返回值类型: 方法最终产生的数据结果是什么类型
方法名称: 方法的名字,规则和变量一样,小驼峰书写格式
参数名称: 进入方法的数据对应的变量名称 Tips:参数如果有多个,使用逗号分隔
return : 有两个作用,停止当前方法和将后面的返回值还给调用处
返回值: 方法执行后最终产生的数据结果
Tips:return 后面的“返回值”,必须和方法名称前面的“返回值类型”,保持对应
注意事项:
1 、方法定义的先后顺序可不固定
2 、方法的定义不能产生嵌套包含关系
3 、方法定义好不会自动执行,需要进行方法调用
方法调用#
方法的三种调用格式:
1 、单独调用:方法名称(参数);
2 、打印调用:System.out .println(方法名称(参数);
3 、赋值调用:数据类型 变量名称 = 方法名称(参数);
public class Demo02MethodDefine {
public static void main (String[] args ) {
sum(10 ,19 );
System.out .println(sum(18 ,23 ));
int a = sum(5 ,1 );
System.out .println(a);
}
public static int sum (int a, int b ) {
int x = a + b;
return x;
}
}
有参数:小括号当中有内容,当一个方法需要一些数据条件,才能完成任务的时候,就需要参数。例如两个数据相加,你需要提前给这两个数据。
无参数:小括号当中留空。一个方法不需要任何数据条件,自己完成独立的任务,就是无参数。例如固定带打印10次helloworld。
public class Demo03MethodParam {
public static void main (String[] args ) {
method(1 ,99 );
method1();
}
public static void method (int a, int b ) {
int result = a * b;
System.out .println(result);
}
public static void method1 () {
for (int i = 0 ; i < 10 ; i++) {
System.out .println("hello world" );
}
}
返回值#
有返回值:方法中必须使用关键字return 返回该值,返回类型为该方法的类型
无返回值:返回类型为void 。
public class Demo03MethodReturn {
public static void main (String[] args ) {
String a = tell();
System.out .println(a);
int b = sum(1 ,120 );
System.out .println("sum方法的返回值是:" +b);
}
public static String tell () {
return "我的是一个有返回值的方法" ;
}
public static int sum (int a,int b ) {
return a+b;
}
}
注意事项#
1 、方法因该定义在类中,但是不能在方法中
2 、方法定义的前后顺序无要求
3 、方法定义之后不会执行,如果希望执行,调用方式有:单独调用、打印调用、赋值调用
4 、如果方法有返回值,那么必须写上“return 返回值”,不能没有
5 、return 后面的返回值数据,必须和返回值类型对应
6 、对于void没有返回值的方法,不能写return 后面的返回值,只能写return 自己用来结束方法
7 、对于void方法中最后一行的return 可以省略不写
8 、一个方法中可以有多个return 语句,但是必须保证同时只有一个会被执行,两个return 不能连写
方法重载#
方法重载(overload)是指同一个类中可以定义多个相同名字的方法,但是这些方法的参数列表是不同的。在调用时,会根据不同的参数列表匹配对应的方法
例如:在Person类中设计两个相同名字但参数列表不同的方法
public class TsetOverLoad {
public static void main (String[] args ) {
System.out .println(multiply(10 ,19 ));
System.out .println(multiply());
multiply(20 );
}
public static int multiply (int a,int b ) {
return a * b;
}
public static int multiply () {
return 0 ;
}
public static void multiply (int a ) {
System.out .println(a);
}
}
输出结果
190
0
20
通过上面的例子,不难看出,重载就是在一个类中,有相同的函数名称,但形参不同的函。重载的结果,可以让一个程序段尽量减少代码和方法的种类。
方法重载的规则#
方法名称必须相同。
参数列表必须不同。
方法的返回类型可以相同也可以不相同。
仅仅返回类型不同不足以称为方法的重载。
参数列表不同包括:个数不同、顺序不同、类型不同。
仅仅参数变量名称不同是不可以的。
跟成员方法一样,构造方法也可以重载。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗