【Java学习笔记】方法的使用

news2024/11/17 6:51:13

【Java学习笔记】方法的使用

  • 一、一个例子
  • 二、方法的概念及使用
    • (一)什么是方法
    • (二)方法的定义
    • (三)方法调用的执行过程
    • (四)实参和形参的关系(重要)
    • (五)没有返回值的方法
  • 三、方法重载
    • (一)为什么需要方法重载
    • (二)方法重载概念
    • (三)方法签名
  • 四、递归
    • (一)生活中的故事
    • (二)递归的概念
    • (三)递归执行过程分析
    • (四)举例
  • 五、结束语

一、一个例子

在这里插入图片描述

把茶泡好喝有上图六个步骤,不同的人来学习泡茶的方法,每个人都要说一次会很烦。但是如果我们把它制作成上图所示的步骤图,让他们自己看,既清楚又节约时间。而且有什么改进工艺,可以直接修改步骤图,如何再让每个人看即可,不必费力和每个人再说一次。Java中的类就是起一个这样的作用——直接复用,利于维护。

二、方法的概念及使用

(一)什么是方法

Java中的“方法”类似于C语言中的“函数”,它是一个可以独立完成某种功能的代码片段。
存在的意义:(多体会,不用记)

  1. 模块化
  2. 复用
  3. 易理解
  4. 调用现有方法,省力

(二)方法的定义

方法语法格式:
修饰符 返回值类型 方法名称(参数类型 形参名,…){
方法体代码;
return 返回值(与返回值类型对应);//void返回值类型不需要返回值
}

public class Test003 {
    //main方法是最常见的方法了。
    public static void main(String[] args) {
        System.out.println("Hello world!");
    }
}

注意:

  1. 方法名称采用小驼峰命名(第一个单词首字母小写,其他单词首字母大写)。
  2. 参数列表可以什么都不写。
  3. 方法必须定义在类当中,且方法不能嵌套定义,不用声明,也没有声明一说。。
  4. 修饰符暂时使用public static搭配,后面学类与对象可以再改其他。

(三)方法调用的执行过程

方法调用过程:
调用方法–传递参数–找到方法地址–执行被调用方法的方法体–被调方法结束返回–回到主调方法继续往下执行

注意事项:

  1. 只有调用才执行。
  2. 方法可多次调用。

(四)实参和形参的关系(重要)

方法的形参相当于数学函数中的自变量,用来接受方法被调用时传递的值。
形参是方法被定义时借助的一个变量,并在方法被调用时接收传递过来的值。
可以理解形参是被实参赋值的一个变量,它们在物理空间属于不同的两个存储位置。(传值调用)

(五)没有返回值的方法

方法的返回值类型是void,就可以没有返回值。

三、方法重载

public class Test012 {
    public static int add(int a,int b){
        return a+b;
    }
    public static double add(double a,double b,double c){
        return a+b+c;
    }
    public static void main(String[] args) {
        int a=1,b=3;
        System.out.println(add(a,b));
        double x=1.2,y=1.4,z=1.5;
        System.out.println(add(x, y, z));
    }
}

(一)为什么需要方法重载

起名困难,且同类型的方法使用一个名称,可以使使用者易用。

(二)方法重载概念

相当于人交流的一词多义。
在Java中,如果多个方法的名字相同,参数列表不同(,返回值可以不同也可以相同),则称该几种方法被重载了。

(三)方法签名

解释了为什么类中可以定义方法名相同的方法。
具体方式是:方法全路径名称+参数列表+返回值类型,构成了方法完整的名字。
java -v指令(反汇编)可以查看。

四、递归

(一)生活中的故事

经典故事:老和尚和小和尚讲老和尚和小和尚讲故事如何讲个没完没了的事。

(二)递归的概念

一个方法在执行过程中调用自身。
必要条件:

  1. 将原问题划分成子问题(解法相同)。
  2. 递归出口(要能结束)。

(三)递归执行过程分析

先执行完递归方法执行到最后一项,再依次回归返回值,并且逐次销毁。

(四)举例

汉诺塔问题

public class Test014 {
    public static int count=0;
    public static void hanoi(char a,char b,char c,int n){
        if(n==1){
            System.out.println(a+"->"+c);
            count++;
        }else if(n==2){
            System.out.print(a+"->"+b+" ");
            count++;
            System.out.print(a+"->"+c+" ");
            count++;
            System.out.print(b+"->"+c+" ");
            count++;
        }else{
            hanoi(a,c,b,n-1);
            System.out.println(a+"->"+c);
            count++;
            hanoi(b,a,c,n-1);
        }
    }
    public static void main(String[] args) {
        int n=4;
        hanoi('A','B','C',n);
        System.out.println(count);
    }
}

五、结束语

我是小邓,一个励志写好代码挣大钱的男人。希望通过博客在记录自己的学习历程的同时,认识更多志同道合的朋友。如果您觉得我的文章对您有帮助的话,请不要吝惜您的一键三连(点赞关注加收藏),这对我很重要,谢谢!

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

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

相关文章

Python排序,你用对了吗?一文教你sorted和sort的正确姿势!

目录 1、sorted基础用法 🍏 1.1 列表排序入门 1.2 自定义排序规则 1.3 排序稳定性和key函数 2、sort内置方法操作 🔍 2.1 直接修改原列表 2.2 sort高级技巧与性能考量 2.3 案例:数据预处理实战 2.4 高级用法:reverse与cmp_to_key 3、应对复杂数据结构 🌐 3.1…

【学习笔记】操作系统--万字长文

计算机操作系统 文章目录 计算机操作系统引言 操作系统基本概念第一章 引论目标和作用操作系统发展历程单道批处理系统多道批处理系统分时系统实时系统 基本特征并发共享虚拟异步性(不确定性) 操作系统主要功能处理机管理内存管理设备管理文件管理 第二章…

平价蓝牙耳机推荐有哪些?四大超值平价蓝牙耳机品牌盘点

市面上的蓝牙耳机品牌繁多,价格差异巨大,对于预算有限但又不想牺牲音质和使用体验的消费者来说,寻找到既平价又性能出色的蓝牙耳机无疑是一项挑战,那么在平价蓝牙耳机推荐有哪些?面对这个疑问,作为真无线蓝…

C # @逐字字符串

逐字字符串 代码 namespace TestAppConsole {class program{static void Main(string[] args){int a 0;int b 9;string c "2ui923i9023";//Console.Write(sizeof(int));string d "\t8282jjksk";string e "\t8282jjksk";Console.WriteLine(…

塔子哥的收藏夹-美团2023笔试(codefun2000)

题目链接 塔子哥的收藏夹-美团2023笔试&#xff08;codefun2000&#xff09; 题目内容 输入描述 输出描述 样例1 输入 4 7 1 0 1 0 1 0 1 1 1 1 3 1 4 1 3 2 3 5 3 100 3 输出 0 2 7 7 提示 操作记录为 0 0 0 0(初始) 询问[1,3]结果为000> 2 0 0 0<1号更改为2> <…

独家揭秘!格行随身WiFi‘骄傲’宣言背后的震撼行业的真相!随身WiFi行业内黑马

近几年以来&#xff0c;随行WiFi产品呈现爆发式增长&#xff0c;随行WiFi的火爆&#xff0c;是技术进步带给消费者的一种“福利”&#xff0c;各大直播间也充斥着品牌各异的随身WiFi。但真正脱颖而出、赢得消费者信赖的优质品牌却凤毛麟角。而其中最受欢迎的格行随身WiFi也因设…

【Python】已解决:FileNotFoundError: [Errno 2] No such file or directory: ‘./1.xml’

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决&#xff1a;FileNotFoundError: [Errno 2] No such file or directory: ‘./1.xml’ 一、分析问题背景 在Python编程中&#xff0c;FileNotFoundError是一个常见的异常&…

[CP_AUTOSAR]_分层软件架构_内容详解

目录 1、软件分层内容1.1、Microcontroller Abstraction Layer1.2、ECU Abstraction Layer1.2.1、I/O HW Abstraction1.2.2、Communication Hardware Abstraction1.2.3、Memory Hardware Abstraction1.2.4、Onboard Device Abstraction1.2.5、Crypto Hardware Abstraction 1.3、…

基于机器学习(霍特林统计量,高斯混合模型,支持向量机)的工业数据异常检测(MATLAB R2021B)

近年来&#xff0c;隨着集散控制系统、工业物联网、智能仪表等信息技术在现代工业生产系统中的应用&#xff0c;生产过程的运行状态能够以大量数据的形式被感知和记录。基于数据的故障诊断方法以过程数据为基础&#xff0c;采用统计分析、统计学习、信号处理等方法&#xff0c;…

100+大屏模板,基于Vue 国产开源 IoT 物联网 Web 组态可视化 BI 数据分析工具

项目源码&#xff0c;文末联系小编 01 DataEase 可视化大屏 DataEase 是一个国产开源的数据可视化分析工具(BI工具)&#xff0c;旨在帮助用户快速分析数据并洞察业务趋势&#xff0c;以实现业务的改进与优化。它支持丰富的数据源连接&#xff0c;包括OLTP和OLAP数据库、数据仓库…

【Python文件】操作终极指南:高效管理和处理文件系统的必备技能

目录 ​编辑 1. 文件的基础操作 1.1 打开/关闭文件 ​编辑 示例代码 文件对象 使用with语句打开文件 2. 读文件 2.1 使用read方法读取文件 2.2 使用readline方法读取文件 2.3 使用readlines方法读取文件 2.4 使用for循环读取文件 3. 写文件 3.1 使用write方法写文…

蓝桥杯web组国三选手题纲解析和备赛技巧--经验分享

蓝桥杯web组赛题解析和杯赛技巧 **&#x1f389;&#x1f389;&#x1f389;欢迎来到我的博客,我是一名自学了2年半前端的大一学生,熟悉的技术是JavaScript与Vue.目前正在往全栈方向前进, 如果我的博客给您带来了帮助欢迎您关注我,我将会持续不断的更新文章!!!&#x1f64f;&am…

论文辅导 | 基于多尺度分解的LSTM⁃ARIMA锂电池寿命预测

辅导文章 模型描述 锂电池剩余使用寿命&#xff08;Remaining useful life&#xff0c;RUL&#xff09;预测是锂电池研究的一个重要方向&#xff0c;通过对RUL的准确预测&#xff0c;可以更好地管理和维护电池&#xff0c;延长电池使用寿命。为了能够准确预测锂电池的RUL&…

华为仓颉可以取代 Java 吗?

大家好&#xff0c;我是君哥。 在最近的华为开发者大会上&#xff0c;华为亮相了仓颉编程语言&#xff0c;这是华为历经 5 年&#xff0c;投入大量研发成本沉淀的一门编程语言。 1 仓颉简介 按照官方报告&#xff0c;仓颉编程语言是一款面向全场景智能的新一代编程语言&#…

2024年618已购好物分享(天猫京东小米有品)

2024年618年中购物节已经结束了&#xff0c;这里先给大家分享下2024年618购买的好物以作参考&#xff0c;并附上订单截图和商品二维码&#xff0c;大伙如有心仪的商品可直接扫码下单或先收藏本页。 2024618天猫好物分享 1、蜂花洗发水450ml 超市自营&#xff0c;国民老品牌&a…

CTFShow的RE题(一)

RE2 1.中文字符的显示 2.对文件的读取操作 3.RC4加密 &#xff08;有一点是魔改的&#xff09; 4.enflag.txt文件里面的密文是ASCII编码之后的数据(可以放ida中) 也可以放到 010 里&#xff08;推荐&#xff09; encDH~mqqvqxB^||zllJq~jkwpmvez{ key for i in enc:keychr…

最新-基于Python的理财和记账系统

博主介绍&#xff1a;&#x1f449;全网个人号和企业号粉丝40W,每年辅导几千名大学生较好的完成毕业设计&#xff0c;专注计算机软件领域的项目研发&#xff0c;不断的进行新技术的项目实战&#x1f448; ⭐️热门专栏推荐订阅⭐️ 订阅收藏起来&#xff0c;防止下次找不到 &am…

C语言之常用内存函数以及模拟实现

目录 前言 一、memcpy的使用和模拟实现 二、memmove的使用和模拟实现 三、memset的使用和模拟实现 四、memcmp的使用和模拟实现 总结 前言 本文主要讲述C语言中常用的内存函数&#xff1a;memcpy、memmove、memset、memcmp。内容不多&#xff0c;除了了解如何使用&#x…

【C++】指针的点运算与箭头运算(->)的奥秘与应用

在编程的世界里&#xff0c;指针作为连接程序与内存之间的桥梁&#xff0c;扮演着至关重要的角色。对于使用C、C等语言进行开发的程序员而言&#xff0c;理解并掌握指针的使用技巧是提升编程能力的必经之路。其中&#xff0c;指针的点运算&#xff08;.&#xff09;和箭头运算&…

性价比蓝牙耳机排行榜前十名有哪些?十大性价比蓝牙耳机榜单盘点

作为使用真无线蓝牙耳机长达5-6年的资深爱好者&#xff0c;我始终对音频技术和产品的创新保持着浓厚的兴趣&#xff0c;最近&#xff0c;我投入了一笔不小的资金&#xff0c;超过大几千元&#xff0c;用于深入测试和评估市面上多款来自各大品牌的真无线蓝牙耳机&#xff08;包括…