java方法的参数类型_Java 基础 14 方法的重载 与 方法参数类型详解

1.1 方法重载的概述和特点

方法重载概述

在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。

方法重载特点

与返回值类型无关,只看方法名和参数列表

在调用时,虚拟机通过参数列表的不同来区分同名方法

1.1.1 案例代码

package com.itheima_03;

/*

* 方法重载:在同一个类中,出现了方法名相同的情况。

*

* 方法重载的特点:

* 方法名相同,参数列表不同。方法重载与返回值无关。

*

* 参数列表不同:

* 参数的个数不同。

* 参数对应的数据类型不同。

*

* 注意事项:

* 在调用方法的时候,java虚拟机会根据方法名及参数列表的不同来区分方法。

*/

public class MethodDemo {

public static void main(String[] args) {

//定义两个变量

int a = 10;

int b = 20;

//求和

int result = sum(a,b);

System.out.println("result:"+result);

//定义变量

int c = 30;

//int result2 = sum2(a,b,c);

int result2 = sum(a,b,c);

System.out.println("result2:"+result2);

}

/*

public static int sum(int x,int y) {

return x + y;

}

*/

public static float sum(float a,float b) {

return a + b;

}

//求三个数据的和

/*

public static int sum2(int a,int b,int c) {

return a + b + c;

}

*/

public static int sum(int a,int b,int c) {

return a + b + c;

}

//求两个数据的和

public static int sum(int a,int b) {

/*

int c = a + b;

return c;

*/

return a + b;

}

}

1.2 方法重载练习之比较两个数据是否相等

1.2.1代码案例

package com.itheima_03;

/*

* 需求:比较两个数据是否相等。

* 参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型,

* 并在main方法中进行测试

*/

public class MethodTest {

public static void main(String[] args) {

//System.out.println(compare(10, 20));

//System.out.println(compare((byte)10, (byte)20));

//System.out.println(compare((short)10, (short)20));

System.out.println(compare(10L, 20L));

}

/*

* 两个byte类型

*

* 两个明确:

* 返回值类型:boolean

* 参数列表:byte a,byte b

*/

public static boolean compare(byte a,byte b){

/*

if(a == b) {

return true;

}else {

return false;

}

*/

System.out.println("byte");

return a == b;

}

//两个short类型

public static boolean compare(short a,short b){

System.out.println("short");

return a == b;

}

//两个int类型

public static boolean compare(int a,int b){

System.out.println("int");

return a == b;

}

//两个long类型

public static boolean compare(long a,long b){

System.out.println("long");

return a == b;

}

}

2.1 方法中参数传递

2.1.1 方法参数是基本类型的情况和图解

方法的参数是基本类型的时候:

形式参数的改变不影响实际参数。

形式参数:用于接收实际数据的变量

实际参数:实际参与运算的变量

2.1.1.1 代码案例

public class ArgsDemo {

public static void main(String[] args) {

// 定义变量

int a = 10;

int b = 20;

System.out.println("a:" + a + ",b:" + b);// a:10,b:20

change(a, b);

System.out.println("a:" + a + ",b:" + b);// a:10,b:20

}

public static void change(int a, int b) { // a=10,b=20

System.out.println("a:" + a + ",b:" + b);// a:10,b:20

a = b; // a=20;

b = a + b;// b=40;

System.out.println("a:" + a + ",b:" + b);// a:20,b:40

}

}

2.1.1.2方法的形式参数是基本类型图解

cdfd4e5caf97

Parameter_Diagram.png

2.1.2 方法参数是引用类型的情况和图解

2.1.2.1代码案例

package com.itheima;

/*

* 基本数据类型作为参数传递,形式参数的改变不影响实际参数

* 引用数据类型作为参数传递,形式参数的改变直接影响实际参数

*/

public class ArgsDemo2 {

public static void main(String[] args) {

int[] arr = { 1, 2, 3, 4, 5 };

for (int x = 0; x < arr.length; x++) {

System.out.println(arr[x]);//1,2,3,4,5

}

change(arr);

for (int x = 0; x < arr.length; x++) {

System.out.println(arr[x]);//1,4,3,8,5

}

}

public static void change(int[] arr) {

for (int x = 0; x < arr.length; x++) {

//如果数组元素是偶数,值就变成了以前的2倍

if (arr[x] % 2 == 0) {

arr[x] *= 2;

}

}

}

}

2.1.2.2方法的形式参数是引用类型图

cdfd4e5caf97

Parameter_Diagram01.png

2.2 方法操作数组练习

2.2.1方法练习之数组遍历

需求:把遍历数组改进为方法实现,并调用方法

2.2.2代码案例

package com.itheima;

/*

* 需求:把遍历数组改进为方法实现,并调用方法

*/

public class MethodTest {

public static void main(String[] args) {

//定义数组

int[] arr = {11,22,33,44,55};

//调用方法

//printArray(arr);

//我们已经实现了需求,但是我觉得这个效果不好看,我想要如下的效果可以吗

//[元素1, 元素2, 元素3, ...]

//我们的结果应该是这样的:[11, 22, 33, 44, 55]

printArray(arr);

}

/*

* 遍历数组的方法。

*

* 两个明确:

* 返回值类型:void

* 参数列表:int[] arr

*/

/*

public static void printArray(int[] arr) {

for(int x=0; x

System.out.println(arr[x]);

}

}

*/

public static void printArray(int[] arr) {

System.out.print("[");

for(int x=0; x

if(x == arr.length-1) {

//判断是否是最后一个元素

System.out.print(arr[x]);

}else {

System.out.print(arr[x]+", ");

}

}

System.out.println("]");

}

}

2.2.3方法练习之数组获取最值

需求:把获取数组最值改进为方法实现,并调用方法.

2.2.4 代码案例

package com.itheima;

/*

* 需求:把获取数组最值改进为方法实现,并调用方法

*/

public class MethodTest2 {

public static void main(String[] args) {

//定义数组

int[] arr = {24,36,90,75,81};

//调用方法

int max = getMax(arr);

//输出结果

System.out.println("max:"+max);

}

/*

* 数组获取最值的方法

*

* 两个明确:

* 返回值类型:int

* 参数列表:int[] arr

*/

public static int getMax(int[] arr) {

//定义参照物

int max = arr[0];

//遍历,获取元素,进行比较

for(int x=1; x

if(arr[x] > max) {

max = arr[x];

}

}

return max;

}

}

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

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

相关文章

crv仪表上的i是什么指示灯_汽车打不着火是怎么回事,仪表盘汽车发动机故障灯亮是什么情况故障指示灯图解大全集...

如果打不着火&#xff0c;那有可能是起动机坏了&#xff0c;有可能是电池没电了&#xff0c;有可能是电路出现了问题&#xff0c;还有可能是点火系统出现了问题。汽车发动机的点火系统主要部件是火花塞和点火线圈&#xff0c;火花塞是一个需要定期更换的易损件。如果火花塞长时…

restful风格_什么是RESTful风格的API设计?

随着移动互联网的兴起&#xff0c;RESTful风格的API设计也随之流行起来&#xff0c;但我们说了那么多RESTful设计&#xff0c;它到底是什么&#xff1f;本篇文章带大家来了解一下它的真实面目。RESTful概念首先&#xff0c;我们需要明确的是RESTful&#xff0c;它是一个理念&am…

zookeeper 分布式锁_关于redis分布式锁,zookeeper分布式锁原理的一些学习与思考

编辑&#xff1a;业余草来源&#xff1a;https://www.xttblog.com/?p4946首先分布式锁和我们平常讲到的锁原理基本一样&#xff0c;目的就是确保&#xff0c;在多个线程并发时&#xff0c;只有一个线程在同一刻操作这个业务或者说方法、变量。在一个进程中&#xff0c;也就是一…

网页无法调用java9_JAVA 9 (内部类,异常,包)

内部类&#xff1a;将一个类定义在另一个类里面&#xff0c;称里面那个类为内部类。举例&#xff1a;class Zx{public static void main(String []arr){Outer o new Outer();o.method();}}class Outer{class Inner //内部类&#xff0c;可以定义多个内部类{void function(){S…

spark算子_Spark篇之持久化算子

一、前述Spark中控制算子也是懒执行的&#xff0c;需要Action算子触发才能执行&#xff0c;主要是为了对数据进行缓存。控制算子有三种&#xff0c;cache,persist,checkpoint&#xff0c;以上算子都可以将RDD持久化&#xff0c;持久化的单位是partition。cache和persist都是懒执…

java g1 gc ref proc_深入理解垃圾收集器的G1及日志分析

尽管Hotspot 最新的垃圾回收器G1是在2006年推出的。但是G1从推行至今的市场反响来看&#xff0c;但现在足以证明这款垃圾收集器是经得起考验的&#xff0c;从java9开始&#xff0c;就默认为G1垃圾收集器。G1是一款面向服务端应用的垃圾收集器。HotSpot开发团队赋予它的使命是(在…

gif透明背景动画_【超实用干货! 】iPad上的动画App大推荐

作者/立夏编辑/彼方大家好&#xff0c;我是立夏。大概在两年前吧我为大家写过几款动画APP的评测&#xff0c;这一次我也想给大家推荐一些我的新宠&#xff0c;供大家参考。我在这里就不过多提及如Animation Desk、Procreate或是Callipeg之类知名度相对更高一些的动画App了&…

iphone如何信任软件_【手机软件】千禾影院:全新观影神器,支持安卓+iOS,最新、最全、高清、免费!...

Hello,大家好&#xff0c;我是春哥&#xff01;每天记得打卡哦&#xff01;感谢每一位小伙伴们的关注和支持&#xff01;免责声明大部分资源来源于网络&#xff0c;仅供学习和交流使用&#xff0c;如有侵权请联系我们删除。每期文章末尾都会有关键词&#xff0c;在公众号发消息…

Java小魔女芭芭拉_沉迷蘑菇不可自拔,黏土人《小魔女学园》苏西·曼芭芭拉 图赏...

GOOD SMILE出品的黏土人系列手办新作——《小魔女学园》苏西曼芭芭拉&#xff0c;已经开始接受预定了。这款黏土人的原型师是来自中国上海的陈天&#xff0c;售价4167日元&#xff0c;预计2018年4月发售。苏西是主人公亚可的室友&#xff0c;她是从东南亚来的身份不明的魔女。热…

java int相除向上取整_java实战项目常用类,Date、Calendar、BigDecimal、Math、UUID

Java开发中经常用到的类和方法&#xff0c;以下主要就日期是时间处理、金融数字处理、数学计算、随机数、MD5加密等。java.util.Date类java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。日期时间的本质是一个long&#xff0c;它…

R语言中dim函数_R语言--向量化计算(apply族函数)

R语言最优秀的是它的向量化编程&#xff0c;这其中apply族函数扮演了非常重要的角色。apply族函数是由apply、sapply、lapply、mapply、tapply等函数组成的。熟练使用apply族函数&#xff0c;能够简化程序&#xff0c;提高代码的运算速度。软件&环境win10 64bitR 3.6.1appl…

谷歌浏览器中文版_中国科学家设计超薄指尖传感器,厚度不到A4纸五分之一 / 谷歌发布地图时光机:百年前,你家街道啥样?/ AI看图说话首超人类...

关注我们了解计算机视觉最新动态 &#xff01;动态先览1中国科学家设计超薄指尖传感器&#xff0c;厚度不到A4纸五分之一2谷歌发布地图「时光机」&#xff1a;100年前&#xff0c;你家街道长啥样&#xff1f;3仿真环境跟车2分钟&#xff0c;就让自动驾驶系统撞上马路牙子&#…

300小时成为java程序员_直击面试现场: Java程序员3轮6小时面试, 成功拿到阿里offer!...

原标题&#xff1a;直击面试现场: Java程序员3轮6小时面试, 成功拿到阿里offer!今天给大家分享一位Java程序员小伙去阿里应聘的经历&#xff01;从Java开发要掌握的技术来讲&#xff0c;前面已经说得差不多了。我主要想从面试者的角度谈一谈看法。如果是我面试&#xff0c;就给…

anaconda python3.8目录_MacBook Pro 安装anaconda、配置环境

新入手了MacBook Pro&#xff0c;iOS系统还不算非常熟练...作为一个新手程序员&#xff0c;在python开发道路上的学习就从安装环境开始吧&#xff1a;1、下载安装包2、安装过程一路同意or继续...不过&#xff0c;mac上弹出不允许在当前路径安装&#xff0c;那么选择自定义安装路…

stm32外部中断_STM32学习笔记 | 电源管理及低功耗设计要点

一款好的电子产品&#xff0c;都需要认真考虑电源管理的问题&#xff0c;电池供电的产品更应该注意低功耗的实现。 STM32电源介绍嵌入式开发直播课 - STM32 USART串口的应用 - 创客学院直播室​www.makeru.com.cn每一块STM32芯片中都有一个电源控制器&#xff08;PWR&#xff0…

delphi 调用浏览器内核_HFL:基于混合模糊测试的Linux内核漏洞挖掘

RemarksConference: NDSS 2020Full Paper: HFL: Hybrid Fuzzing on the Linux KernelSummary针对的问题&#xff1a; Linux 操作系统内核安全漏洞的发现需要新技术。现有解决方案的不足&#xff1a;当前的模糊测试技术难以直接应用于内核安全漏洞发现。提出的创新方案概述&…

隔行变色java代码_jquery入门—选择器实现隔行变色实例代码

1、JQuery选择器继承了CSS、path语音的部分语法&#xff0c;允许通过标签名、属性名、内容对DOM元素进行快速、准确的选择。2、JQuery选择器与JavaScript相比&#xff0c;具有代码简单、完善的检测机制的优势。3、使用JQuery选择器实现隔行变色&#xff0c;示例代码如下&#x…

角标越界 Java_【新人求助】利用占位符操作数据库是总是提示数组角标越界是怎么回事 - Java论坛 - 51CTO技术论坛_中国领先的IT技术社区...

用占位符和数组来操作数据库总是提示下角标越界&#xff0c;找了半天也没弄明白哪里有问题&#xff0c;这个地方是跟着云课堂老师的讲解做的&#xff0c;只不过操作的数据表不一样&#xff0c;但是老师那个就没问题&#xff0c;我就出了问题&#xff0c;如果有大神能帮忙看看&a…

简述ospf的工作原理_现代数字存储示波器的工作原理简述

示波器是一种用途十分广泛的电子测量仪器。俗话说&#xff0c;电是看不见摸不着的。但是示波器可以帮我们“看见”电信号&#xff0c;便于人们研究各种电现象的变化过程。所以示波器的核心功能&#xff0c;就和他的名字一样&#xff0c;是显示电信号波形的仪器&#xff0c;以供…

pyecharts 间距_高月双色球20108期:红球首尾间距参考29区段

双色球第2020108期奖号为&#xff1a;03 09 11 24 25 28 16&#xff0c;红球和值&#xff1a;100&#xff0c;重号2个&#xff1a;11 28&#xff0c;首尾间距&#xff1a;25。和值&#xff1a;上期和值为100&#xff0c;上升了22点&#xff0c;再次开出小和值&#xff0c;最近…