Java零基础精通方法篇
作者:知心宝贝 发布时间:2021-08-29 12:07:58
一、前言
学习概述:学习四种不同类型的方法应用、方法被调用时的内存图、重载
学习目标:熟练掌握方法的应用以及重载
二、定义与调用
1.概述
定义:方法是一种语法结构,把一段代码封装成一个功能,方便重复调用
分类:一般分为参数(带/不带)、返回值(有/无)
好处:提高代码复用性、逻辑更加清晰
2.格式
修饰符 返回值类型 方法名( 形参列表 )
{
//方法体
return 返回值;
}
范例:
3.调用
方法必须通过程序调用 才能运行,调用格式如下:
方法名(…);
范例:
int sum = add(10, 20);
System.out.println(sum);
4.注意
修饰符:目前暂时使用public static 修饰
形参:可以没有,但有多个需要逗号分隔,调用时需要传入对应类型的变量值
返回值:如果方法定义了返回类型,方法内部的代码段一定要体现。如果方法不需要返回结果,返回值类型必须申明成void(无返回值)
三、范例
1. 例题 1
设计一个方法(无参、无返回值)用于打印两个数字的大小关系
编码实现:
public static void main(String[] args)
{
getRelation();//调用方法
}
public static void getRelation()
{
int a=10;
int b=20;
if(a>b)
{
System.out.println("a大于b");
}
else if(a<b)
{
System.out.println("a小于b");
}
else
{
System.out.println("a等于b");
}
}
输出结果:
a小于b
2. 例题 2
设计一个方法(有参、无返回值)用于打印两个数字的最大值
编码实现:
public static void main(String[] args)
{
getMax(10,20);//调用方法
}
public static void getMax(int a,int b)//带参无返回值
{
if(a>b)
{
System.out.println(a);
}
else
{
System.out.println(b);
}
}
输出结果:
20
3. 例题 3
设计一个方法(有参、有返回值 int 型)用于打印两个数字的最大值
编码实现:
public static void main(String[] args)
{
System.out.println(getMax(10,20));//调用方法
}
public static int getMax(int a,int b)//带参无返回值
{
if(a>b)
{
return a;
}
else
{
return b;
}
}
输出结果:
20
四、方法调用的内存图
方法未被调用,在方法区中的字节码文件中存放
方法调用,进入到栈内存中运行
java程序编译生成class字节码文件,方法区存入main方法、eat、study、eat方法。进入主函数调用,在栈内存运行输出结果。
五、重载
1.概述
定义:同一个类中,出现多个方法名称相同,但是形参列表不同(类型不同或数量不同),与返回值无关
例如下面几个例子,判断是否为方法重载?
第一个不是,与返回值无关
第二个是,形参数量不同
第三个是,形参定义类型不同
第四个不是,不在同一个类中
2.例题
构造三个重载的方法,分别实现两个int型整数相加的和、两个double类型数据相加的和、三个int类型数据相加的和
编码实现:
public static void main(String[] args)
{
int result=sum(10,20);
System.out.println(result);
double result1=sum(10.0, 20.0);
System.out.println(result1);
int result2=sum(10, 20,30);
System.out.println(result2);
}
public static int sum(int a,int b)
{
return a+b;
}
public static double sum (double a,double b)
{
return a+b;
}
public static int sum(int a,int b,int c)
{
return a+b+c;
}
输出结果:
30
30.0
60
3.总结
重载可读性好,方法名称相同是同一类型的功能,但通过形参不同实现功能差异化的选择
形参列表不同:形参的个数、类型、顺序不同,不关心形参的名称
来源:https://blog.csdn.net/qq_53673551/article/details/124675785
猜你喜欢
- Android版本更新实例详解1、导入xutils的jar包 2、在AndroidManifest.xml中添加权限 3、选择下载的路径,和
- 项目场景:适用于接口数据敏感信息,比如 明文传输姓名、居住地址、手机号等信息,如果存在明文传输敏感数据问题、及数据泄漏风险,则可使用此方法加
- 一、判断语句最常用的顺序结构只能顺序执行,并不能进行判断和选择。于是便有了下面两种分支结构if语句switch语句1. if语句一个if语句
- 前文本章是关于Java流程控制语句的最全汇总,本篇为汇总上篇。流程是人们生活中不可或缺的一部分,它表示人们每天都在按照一定的流程做事。比如出
- 在Java编程中,代码块就是指用“{}”括起来的代码。下面看一下这四种代码块。1、普通代码块就是指类中方法的方法体。public void
- 1.概述MybatisPlus是国产的第三方插件, 它封装了许多常用的CURDapi,免去了我们写mapper.xml的重复劳动,这里介绍了
- 1.概述做一个项目,突然需要实现回复功能,所依记录一下此次的一个实现思路,也希望给别人分享一下,估计代码还是不够完善,有空在实现分页功能。话
- 写在前面在Java8之前的版本中,接口中只能声明常量和抽象方法,接口的实现类中必须实现接口中所有的抽象方法。而在Java8中,接口中可以声明
- 本文实例讲述了Java实现二分查找算法。分享给大家供大家参考。具体如下:1. 前提:二分查找的前提是需要查找的数组必须是已排序的,我们这里的
- 本文作者:Spring_ZYL文章来源:https://blog.csdn.net/gozhuyinglong版权声明:本文版权归作者所有,
- 1. 启动入口本系列RocketMQ4.8注释github地址,希望对大家有所帮助,要是觉得可以的话麻烦给点一下Star哈前面我们已经分析完
- 前言由于刚写项目不久,在写 web 后台接口时,经常会对前端传入的参数进行一些规则校验,如果入参较少还好,一旦需要校验的参数比较多,那么使用
- 本文实例为大家分享了Unity键盘WASD实现物体移动的具体代码,供大家参考,具体内容如下1首先在场景中建立一个Capsule,将主摄像机拖
- 一、需要导入的jar1.commons-collections4-4.1.jar2.poi-3.17-beta1.jar3.poi-ooxm
- 前言前段时间在写RPC框架的时候用到了Kryo、Hessian、Protostuff三种序列化方式。但是当时因为急于实现功能,就只是简单的的
- 最近有个需求,我需要获取所有同一类型的定时任务的对象,并自动执行。我想的方案是:直接获取某个接口下面所有的实现类的对象集合,方便以后只需要
- 却被编译器提示说:警告 1“System.Configuration.ConfigurationSettings.AppSettings”已
- 没有用Java写过程序,做为一个Java新手,在写第一个Hello,world程序之前,先在Ubuntu中搭建Java开发环境。一、JDK安
- 1.阻塞I/O模型阻塞IO模型是常见的IO模型,在读写数据时客户端会发生阻塞。阻塞IO模型的工作流程为:1.1在用户线程发出IO请求之后,内
- 问题说明:IDEA编译的时候乱码,Build Output提示信息乱码�����。解决方案一:将Help—>Edit Cusuom V