复习知识点十之方法的重载

news2024/9/22 22:40:03

目录

方法的重载 

  练习1:

练习1: 数组遍历

 练习2: 数组的最大值

练习3:

练习4: 复制数组

基本数据类型和引用数据类型


方法的重载 

 Java虚拟机会通过参数的不同来区分同名的方法

 

  练习1:

public class Test4 {
    public static void main(String[] args) {
        //调用方法
//        compare(10,30);

        // compare((byte) 10,(byte) 20);

        short b1 = 10;
        short b2 = 20;
        compare(b1,b2);
    }

    //会把相同功能的方法名起成一样的名字
    //好处1 : 定义方法的时候可以不用那么多的单词了
    //好处2 : 调用方法是时候也不需要那么麻烦了

    public static void compare(byte b1, byte b2) {
        System.out.println("byte");
        System.out.println(b1 == b2);
    }

    public static void compare(short s1, short s2) {
        System.out.println("short");
        System.out.println(s1 == s2);
    }

    public static void compare(long n1, long n2) {
        System.out.println("long");
        System.out.println(n1 == n2);
    }

    public static void compare(int i1, int i2) {
        System.out.println("int");
        System.out.println(i1 == i2);
    }
}

练习1: 数组遍历

需求:设计一个方法用于数组遍历  ,要求遍历的结果是在一行上的.例如 : [11, 22, 33, 44, 55]

分析:

定义方法用于数组的遍历
1. 我要干嘛? 遍历数组
2. 我做这件事需要什么才能完成? 数组
3. 方法的调用处是否需要继续使用结果? 不需要返回值
public class Test5 {
    public static void main(String[] args) {
        //1. 定义数组
        int[] arr  ={11,22,33,44,55};
        printArr(arr);

    }
    public static void printArr(int[] arr){
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
          if (i == arr.length -1){
              System.out.print(arr[i]);
          }else {
              System.out.print(arr[i] + ",");
          }
        }
        System.out.println("]");
    }
}

 

扩展: 

 练习2: 数组的最大值

设计一个方法求数组的最大值,并将最大值返回

分析:

    1. 我要干嘛?    求最大值
    2. 我干这件事情,需要什么才能完成?  数组
     3. 是否需要返回值?  是

package com.itheima.test;

public class Test6 {
    public static void main(String[] args) {
        //1. 定义数组
        int[] arr  ={1,2,9 ,4,5};

        //2. 调用方法求最大值
        int max = getMax(arr);
        System.out.println(max);

    }
    public static int getMax(int[] arr){
        int max = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i]>max){
                max = arr[i];
            }
        }
        return max;
    }
}

练习3:

定义一个方法判断数组中的某一个数是否存在,将结果返回给调用处

分析:

1. 我要做什么?            判断一个数是否存在

2. 我干这件事情,需要什么才能完成?  数组
 3. 调用处是否需要继续使用结果?  返回  true false

public class Test6 {
    public static void main(String[] args) {
        //1. 定义数组
        int[] arr  ={16,2,9 ,4,522,7,3};

        //2. 判断数字在数组中是否存在了
        boolean flag = contains(arr,7);
        System.out.println(flag);
    }
    public static boolean contains(int[] arr, int number){
        for (int i = 0; i < arr.length; i++) {
            if(arr[i] == number){
                return true;
            }
        }
        //当数组里面所有的数据全部都比较完毕之后,才能断定
        return false;
    }
}

练习4: 复制数组

 分析在代码的注释里面

 

public class Test8 {
    public static void main(String[] args) {
        //1. 定义数组
        int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
        //2. 调用方法拷贝数据
        int[] copyArr = copyOfRange(arr, 3, 7);
        //3.遍历copyArr
        for (int i = 0; i < copyArr.length; i++) {
            System.out.print(copyArr[i] + " ");
        }
    }

    //将数组arr中从索引 from (包含 from) 开始,到索引 to 结束(不包含 to) 的元素复制到新的数组中
    public static int[] copyOfRange(int[] arr, int from, int to) {
        //1. 定义数组
        int[] newArr = new int[to - from];
        //2. 把原始的数组arr中的from 到 to 上对应的元素,直接拷贝到newArr中
        //伪造变量
        int index = 0;
        for (int i = from; i < to; i++) {
            //格式:数组名[索引] = 数据值
            newArr[index] = arr[i];
            index++;
        }
        //3. 把新数组返回
        return newArr;
    }
}

 

 

基本数据类型和引用数据类型

 

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

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

相关文章

grid宫格布局新手快捷上手-f

前言 grid 网上有很多&#xff0c;但都是大而全的&#xff0c;感觉新人上手很吃力&#xff0c;本文仅以最快捷的方式进行介绍&#xff0c;如何使用grid宫格布局 本文是新人上手&#xff0c;若想了解更多grid布局&#xff0c;请阅读其他文章 使用 声明布局 display: grid;声…

springboot+pgbouncer+postgres数据库连接池集成方案及问题解决

期望通过每一次分享&#xff0c;让技术的门槛变低&#xff0c;落地更容易。 —— around 前言 旨在解决微服务项目全是连接池并影响数据库并发连接&#xff0c;作者的环境是基于sprongboot微服务连接postgres数据库&#xff0c;每个微服务的DAO层配置都使用了连接池技术。后续…

一个线程两次调用start()方法会出现什么情况?

第17讲 | 一个线程两次调用start()方法会出现什么情况&#xff1f; 今天我们来深入聊聊线程&#xff0c;相信大家对于线程这个概念都不陌生&#xff0c;它是 Java 并发的基础元素&#xff0c;理解、操纵、诊断线程是 Java 工程师的必修课&#xff0c;但是你真的掌握线程了吗&am…

如何编程实现从多数据库操作数据

对于数据量很大的复杂系统&#xff0c;有时候会采用分库或者分表的减轻单台数据库服务器压力&#xff0c;截止目前有一些工具直接支持读写分离等&#xff0c;例如ShardingSphere&#xff0c;如果不采用工具框架&#xff0c;从编码出发&#xff0c;如何实现从多个数据库读写数据…

FFmpeg 中的多线程解码

1.共享变量的互斥互斥锁&#xff08;mutex-lock&#xff09;是一种信号量&#xff0c;用来防止两个线程在同一时刻访问相同的共享资源&#xff0c;它有锁定状态和非锁定状态。在任意时刻&#xff0c;一个线程要想存取共享数据&#xff0c;线程必须首先获得mutex-lock&#xff0…

一种全新的图像变换理论的实验(四)——研究目的替代DCT和小波

一、前言 2023年02月28日凌晨1点 以前我定义为这个算法是滤波算法&#xff0c;实则上应该算是一种新变换算法&#xff0c;比如傅里叶变换&#xff08;FFT&#xff09;、离散余弦变换&#xff08;DCT&#xff09;&#xff0c;以及小波变换。所以就把所有的标题改变了一下。 本次…

MySQL的InnoDB 三种行锁,SQL 语句加了哪些锁?

InnoDB 三种行锁&#xff1a; Record Lock&#xff08;记录锁&#xff09;&#xff1a;锁住某一行记录 Gap Lock&#xff08;间隙锁&#xff09;&#xff1a;锁住一段左开右开的区间 Next-key Lock&#xff08;临键锁&#xff09;&#xff1a;锁住一段左开右闭的区间 哪些语句…

前端面试题 —— HTML

目录 一、src 和 href 的区别 二、对 HTML 语义化的理解 三、DOCTYPE(⽂档类型) 的作⽤ 四、script 标签中 defer 和 async 的区别 五、常⽤的 meta 标签有哪些&#xff1f; 六、HTML5 有哪些更新 八、行内元素有哪些&#xff1f;块级元素有哪些&#xff1f; 空(void)元素…

【正点原子FPGA连载】第十九章FreeRtos Hello World实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

1&#xff09;实验平台&#xff1a;正点原子MPSoC开发板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id692450874670 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第十九章FreeRto…

项目调研丨以太坊再质押项目EigenLayer白皮书四大看点(内附完整版中文白皮书)

北京时间2月21日下午&#xff0c;被众多一线投研机构视为2023年以太坊最重要的创新&#xff0c;有可能开启以太坊新叙事方向的项目Eigenlayer终于披露了其第一版白皮书。EigenLayer是以太坊的再质押集&#xff0c;允许共识层ETH质押者选择验证构建在以太坊生态系统之上的新软件…

第七节 面向对象

面向对象 1.类和对象是什么? )类:是共同特征的描述(设计图);对象:是真实存在的具体实例。 2.如何设计类? public class 类名 { 1、成员变量(代表属性的,一般是名词) 2、成员方法(代表行为的&#xff0c;一般是动词) 3.如何创建对象? 类名对象名new 类名(); 4.拿到对象后怎么…

ubuntu 编译安装支持CUDA的OpenCV

安装须知 cuda支持 在安装完“ linux CUDAtoolkitcudnntensorrt 的安装”之后进行支持cuda的opencv安装 否则报错&#xff1a;CMake Error at modules/dnn/CMakeLists.txt:41 (message): DNN: CUDA backend requires CUDA Toolkit. Please resolve dependency or disable OPE…

Ubuntu 安装指定版本 Mysql,并设置远程连接(以安装mysql 5.5 为例)

目录 一、安装Mysql 1、卸载Mysql&#xff08;可跳过&#xff09; 2、安装mysql 软件源 3、安装mysql 5.5 4、验证测试 二、设置远程登录 1、允许使用root账号远程连接 2、Mysql 允许远程登录 一、安装Mysql 1、卸载Mysql&#xff08;可跳过&#xff09; 如果之前安装…

数据结构六大排序

1.插入排序 1.插入排序 思路&#xff1a; 从第一个元素开始认为是有序的&#xff0c;去一个元素tem从有序序列从后往前扫描&#xff0c;如果该元素大于tem&#xff0c;将该元素一刀下一位&#xff0c;循环步骤3知道找到有序序列中小于等于的元素将tem插入到该元素后&#xff0…

卡特兰数

文章目录1、简介1.1 何为卡特兰数1.2 卡特兰数的通项公式2、应用2.1 题目1&#xff1a;括号合法题目描述思路分析2.2 题目2&#xff1a;进出栈的方式2.2.1 题目描述2.2.2 思路分析2.3 题目3&#xff1a;合法的序列2.3.1 题目描述2.3.2 思路分析2.3.3 代码实现2.4 题目4&#xf…

分布式ID生成系统

目录背景常用分布式ID生成系统介绍UUIDSnowflake背景 在大多数复杂的分布式系统中&#xff0c;往往需要对大量的数据和消息进行唯一标识。而对分布式系统后台数据库的分库分表后需要有一个唯一的ID来表示一条数据或者是消息。那么我们分布式系统ID一般都有哪些需求呢&#xff1…

IP地址、主机名、域名解析(DNS)

1.什么是IP地址 每一台联网的电脑都会有一个地址&#xff0c;用于和其他计算机进行通讯 IP地址主要有两个版本&#xff1a;v4 v6 IPV4版本的地址格式名为&#xff1a;a.b.c.d&#xff0c;其中abcd表示0-225的数字&#xff0c;如192.168.88.10为一个标准地址 查看IP地址&#x…

Android 蓝牙开发——HCI log 分析(二十)

HCI log 是用来分析蓝牙设备之间的交互行为是否符合预期,是否符合蓝牙规范。对于蓝牙开发者来说,通过 HCI log 可以帮助我们更好地分析问题,理解蓝牙协议。 一、抓取HCI log 1、手机抓取HCI log 在开发者选项中打开启用蓝牙HCI信息收集日志开关,Android系统就开始自动地收…

计算机SCI论文选题和投稿需要注意什么? - 易智编译EaseEditing

科研创新与选题 科研创新是至关重要的&#xff0c;往往关系到论文是否顺利发表。 摆在我们面前的&#xff0c;往往是别人挑剩下的资料&#xff0c;似乎毫无写作价值&#xff0c;很多人便知难而退&#xff0c;干脆不写论文了。 其实&#xff0c;应该问问自已“我有什么&#xf…

Flask应用的基本组成部分、模板引擎Jinja2的使用、Flask-WTF、SQLAlchemy

目录标题1. Flask应用的基本组成部分1.1 路由&#xff08;Routing&#xff09;1.2 视图函数&#xff08;View Function&#xff09;1.3 请求&#xff08;Request&#xff09;1.4 响应&#xff08;Response&#xff09;2. 模板引擎Jinja2的使用2.1 入门案例2.2 条件判断2.3 循环…