Java中的方法

方法:

概念:

方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集

注意:

方法必须先创建才可以使用,该过程成为方法定义
方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用
方法必须先定义,后调用,否则程序将报错

方法的调用过程:

每个方法在被调用执行的时候,都会进入栈内存,并且拥有自己独立的内存空间,方法内部代码调用完毕之后,会从栈内存中弹栈消失。

形参和实参:

形参:

方法定义中的参数,顾名思义就是只有一个形式,没有具体的数值
等同于变量定义格式,例如:int number

实参:

方法调用中的参数,顾名思义就是有实际的参数数值
等同于使用变量或常量,例如: int 10

方法的定义和调用:

定义格式:

  public static void 方法名 () {// 方法体;}

调用格式:

  方法名();

带参数方法的定义和调用:

定义格式:

参数:由数据类型和变量名组成 数据类型 变量名
例: int a

  public static void 方法名 (参数1) {方法体;}public static void 方法名 (参数1, 参数2, 参数3...) {方法体;}
    public static boolean isEvenNumber(int number) {return true;}public static int getMax(int a, int b) {return 100;}

注意:

方法定义时return后面的返回值与方法定义上的数据类型要匹配,否则程序将报错
方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错
方法定义时,多个参数之间使用逗号“,”分隔

调用格式:

  	方法名(参数1,参数2);数据类型 变量名 = 方法名 ( 参数 ) ;
    isEvenNumber(5);boolean flag = isEvenNumber(5);

注意:

方法调用时,参数的数量与类型必须与方法定义中的设置相匹配,否则程序将报错
方法的返回值通常会使用变量接收,否则该返回值将无意义

练习:求两个数的最大值

    public static void main(String[] args) {int result = GetMax(10, 20);for (int i = 0; i < result; i++) {System.out.println("itzhuzhu.com");}}public static int GetMax(int a, int b) {if (a > b) {return a;} else {return b;}}

方法的注意事项:

通用格式:

  public static 返回值类型 方法名(参数) {方法体; return 数据 ;}

解释:

public:修饰符
static:静态类型
返回值类型:方法操作完毕之后返回的数据的数据类型,如果方法操作完毕,没有数据返回,这里写void,而且方法体中一般不写return
方法名:调用方法时候使用的标识
参数:由数据类型和变量名组成,多个参数之间用逗号隔开
方法体:完成功能的代码块
return:如果方法操作完毕,有数据返回,用于把数据返回给调用者
定义方法时,要做到两个明确:

  • 明确返回值类型:主要是明确方法操作完毕之后是否有数据返回,如果没有,写void;如果有,写对应的数据类型
  • 明确参数:主要是明确参数的类型和数量

调用方法时的注意:

  • void类型的方法,直接调用即可
  • 非void类型的方法,推荐用变量接收调用

方法不能嵌套定义

        public static void methodOne() {public static void methodTwo() {// 这里会引发编译错误!!!}}

void表示无返回值,可以省略return,也可以单独的书写return,后面不加数据

方法重载:

概念:

方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载

  • 多个方法在同一个类中
  • 多个方法具有相同的方法名
  • 多个方法的参数不相同,类型不同或者数量不同

注意:

  • 重载仅对应方法的定义,与方法的调用无关,调用方式参照标准格式
  • 重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判定两个方法是否相互构成重载

示范:

public class Demo03 {public static void fn(int a) {//方法体}public static void fn(int a, int b) {//方法体}public static void fn(int a, int b, int c) {//方法体}}

练习:

public class Demo04 {// 需求:使用方法重载的思想,设计比较两个整数是否相同的方法,兼容全整数类型(byte,short,int,long)public static void main(String[] args) {System.out.println(compare(10, 20));System.out.println(compare((byte) 10, (byte) 20));}//intpublic static boolean compare(int a, int b) {System.out.println("int");return a == b;}//bytepublic static boolean compare(byte a, byte b) {System.out.println("byte");return a == b;}
}

方法的参数传递:

方法参数传递基本类型:

方法参数传递为基本数据类型,传入方法中的是具体的数值
基本数据类型的参数,形式参数的改变,不影响实际参数
每个方法在栈内存中,都会有独立的栈空间,方法运行结束后就会弹栈消失

    public static void main(String[] args) {int number = 100;System.out.println("调用change方法前:" + number);change(number);System.out.println("调用change方法后:" + number);}public static void change(int number) {number = 200;}

方法参数传递引用类型:

方法参数传递为引用数据类型,传入方法中的是内存地址
对于引用类型的参数,形式参数的改变,影响实际参数的值
引用数据类型的传参,传入的是地址值,内存中会造成两个引用指向同一个内存的效果,所以即使方法弹栈,堆内存中的数据也已经是改变后的结果

    public static void main(String[] args) {int[] arr = {10, 20, 30};System.out.println("调用change方法前:" + arr[1]);change(arr);System.out.println("调用change方法后:" + arr[1]);}public static void change(int[] arr) {arr[1] = 200;}

练习:

方法同时获取数组最大值和最小值:

    public static void main(String[] args) {// 1、定义一个数组,用静态初始化完成数组元素初始化int[] arr = {1, 2, 3, 4, 5, 6, 7};//4、调用获取最大值方法,用变量接收返回结果并打印int[] maxAndMin = getMaxAndMin(arr);System.out.println(maxAndMin[0]);System.out.println(maxAndMin[1]);}//2、定义一个方法,用来获取数组中的最大值和最小值public static int[] getMaxAndMin(int[] arr) {int max = arr[0];for (int i = 0; i < arr.length; i++) {if (max < arr[i]) {max = arr[i];}}int min = arr[0];for (int i = 0; i < arr.length; i++) {if (min > arr[i]) {min = arr[i];}}// 3、用数组返回两个数据int[] maxAndMin = {min, max};return maxAndMin;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572341.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

h标签对html网页的作用,网页H标签SEO价值的说明与举例

H标签是什么&#xff1f;&#xff01;H标签(全称: Heading标签)&#xff0c;是网页HTML中对页面内文本标题或内容进行强调的一种标签。HTML语言一共有六种大小的H标签(H1-H6)&#xff0c;其本质上为了呈现网页内容的结构。H标签的系列当中&#xff1a;文字由大至小seo标签&…

MySQL— 进阶

目录 一、视图二、触发器三、函数四、存储过程五、事务 一、视图 视图是一个虚拟表&#xff08;非真实存在&#xff09;&#xff0c;其本质是【根据SQL语句获取动态的数据集&#xff0c;并为其命名】&#xff0c;用户使用时只需使用【名称】即可获取结果集&#xff0c;并可以将…

HTML中del标记是什么意思,HTML del标记

本文概述HTML 标记用于表示已从文档中删除/删除的文本范围。它用作已删除内容的标记。浏览器通常通过在已删除的文本上打一行来呈现它, 尽管可以使用CSS属性更改它。注意&#xff1a;要标识已删除的文本和插入的文本, 请使用带有的标记, 该标记将在文档中显示已删除和插入的文本…

进制原码反码补码

进制&#xff1a; 概念&#xff1a; 进制&#xff1a;指进位制&#xff0c;是人们规定的一种进位方式&#xff0c;表示某一位置的数看&#xff0c;运算时是逢*进一位。十进制是逢十进一&#xff0c;二进制是逢二进一。以此类推。学习的目的就是为了数据运算过程理解的更加深刻…

SQL Server-服务器迁移之后login登录问题

1.服务器迁移之后&#xff0c;将原来的系统数据库覆盖到新的server&#xff0c;用当前windows account出现无法登录的现象&#xff0c;这时有以下几个方法&#xff1a; &#xff08;1&#xff09;在原机器上添加新的账号并赋予管理员的权限&#xff0c;然后迁移到新机器&#x…

计算机桌面图标底部蓝色咋办,电脑桌面的图标底下的文字被蓝色覆盖了怎么处理...

相信很多朋友都遇见过这种情况&#xff0c;发现电脑桌面图标有阴影&#xff0c;文字下面还有衬色&#xff0c;不知道该怎么解决&#xff01;其实桌面图标的阴影是桌面原始颜色造成的背景,造成这种情况的原因有很多&#xff0c;下面就介绍几种解决方法很简单&#xff1a;方法一&…

什么是位运算符

位运算符&#xff1a; 概念&#xff1a; 位运算符指的是二进制位的运算&#xff0c;先将十进制数转成二进制后再进行运算。 在二进制位运算中&#xff0c;1表示true&#xff0c;0表示false。 <<有符号左移运算&#xff1a;&#xff0c;二进制位向左移动, 左边符号位丢弃…

计算机的桌面教案,《认识计算机桌面》教案(4页)-原创力文档

精品《计算机应用基础》教案课题 认识计算机桌面 课时 1 、2 授课日期通过教学&#xff0c;使学生认识计算机桌面&#xff0c;知道计算机桌面设置的方法&#xff0c;培教学目标养学生学习计算机的兴趣。重 点 重点&#xff1a;鼠标的操作难 点 难点&#xff1a;桌面的设置教、学…

类和面向对象的概念

面向对象&#xff1a; 面向过程 &#xff1a;是一种以过程为中心的编程思想&#xff0c;实现功能的每一步&#xff0c;都是自己实现的 面向对象 &#xff1a;是一种以对象为中心的编程思想&#xff0c;通过指挥对象实现具体的功能 总结&#xff1a;想吃饭自己做就是面向过程&am…

html5 制作会转的风扇,HTML5学习第5天[乱撞的球]可以听到风扇声的哟

HTML5学习第5天[乱撞的球]body{font-family: 微软雅黑;}body,h1{margin:0;}canvas{display:block;margin-left: auto;margin-right: auto;border:1px solid #DDD;background: -webkit-linear-gradient(top, #222,#111);}HTML5第5天[乱撞的球]stoprunaddBallvar nimo{aniamted:n…

鸿蒙开发工具下载设置Mac

下载工具&#xff1a; 首先到网站注册开发者身份及实名认证&#xff1a;https://www.harmonyos.com/cn/ 然后选择对应的系统下载开发工具 点击跳转下载 会自动下载一些开发语言环境&#xff0c;然后一路下一步就可以了 点击第一个 选择第二个带Java的 勾选Application Devic…

Puppeteer保存html,PuppeteerSharp读取页面完整HTML(.NetCore)

using (Browser browser await Puppeteer.LaunchAsync(new LaunchOptions { Headless true })){using (var page await browser.NewPageAsync()){//设置浏览器的页面大小await page.SetViewportAsync(new ViewPortOptions{Width 1024,Height 768});await page.GoToAsync(&…

封装this关键字

封装&#xff1a; 封装概念&#xff1a;封装是面向对象三大特征之一&#xff08;封装&#xff0c;继承&#xff0c;多态&#xff09;&#xff0c;目的就是隐藏实现细节&#xff0c;仅对外暴露公共的访问方式封装原则 将类的某些信息隐藏在类内部&#xff0c;不允许外部程序直接…

计算机财务管理知识点,财务管理知识点梳理(财务基础必背知识点整理篇)

财管的复习分成三个板块&#xff0c;财务管理&#xff0c;成本会计&#xff0c;管理会计。其中财务管理又分成了一&#xff1a;财管基础 二&#xff1a;各种估值 三&#xff1a;资本决策。一&#xff1a;财管基础1&#xff1a;管理用财务报表与通用财务报表的转化&#xff0c;其…

怎么理解构造方法

概念&#xff1a; 构建、创造对象的时候所调用的方法 格式: 方法名与类名相同&#xff0c;大小写也要一致没有返回值类型&#xff0c;连void都没有没有具体的返回值&#xff08;不能由retrun带回结果数据&#xff09; 执行时机 &#xff1a; 创建对象的时候调用&#xff0c;每创…

html5如何绘制饼图,如何在HTML5中创建“饼图”?

我想用画布对象创建一个“饼图”&#xff0c;但我想用图像而不是颜色填充每个切片。你认为这是可能的吗&#xff1f;我试图使用“createPattern”&#xff0c;但它不工作。有什么建议么&#xff1f;如何在HTML5中创建“饼图”&#xff1f;在这里你可以找到一些我已经完成的代码…

认识API

API&#xff1a; 概述&#xff1a; API (Application Programming Interface) &#xff1a;应用程序编程接口 例;&#xff1a;编写代码通过电脑控制挖掘机炒菜&#xff0c;那么挖掘机厂家就要提供一些控制挖掘机的接口类&#xff0c;这些类中定义好了操作挖掘机的动作&#xf…

计算机三级基础知识考试题,计算机等级考试PC技术练习题:章基础知识

一、选择题1.在微机系统中分析并控制指令执行的部件是( )。A. 寄存器 B. 数据寄存器C. CPU D. EU2.已知X76, 则[X]补( )。A. 76H B. 4CHB. 0B4H D. 0CCH3.已知[X]补80H, 则X( )。A. 80H B. 0C. 0…

计算机专业论文设计与实现,计算机专业论文 计算机网络的设计与实现.doc

计算机专业论文 计算机网络的设计与实现.doc文档编号&#xff1a;1385463文档页数&#xff1a;9上传时间&#xff1a; 2021-02-24文档级别&#xff1a;普通资源文档类型&#xff1a;doc文档大小&#xff1a;69.50KB黑龙江广播电视大学黑龙江广播电视大学 毕业设计(论文)毕业设计…

jQuery 中json字符串与对象互转

json字符串转json对象&#xff1a;jQuery.parseJSON(jsonStr);json对象转json字符串&#xff1a;JSON.stringify(jsonObj);转载于:https://www.cnblogs.com/GNblog/p/7016181.html