java基础:方法

一、方法

1、Java方法是语句的集合,它们在一起执行一个功能。

  • 方法是解决一类问题的步骤的有序集合
  • 方法包含于类或对象中
  • 方法在程序中被创建,在其他地方被引用

2、设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成一个功能,这样有利于我们后期的扩展。

二、方法的定义及调用

1、java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段。

2、方法包含一个方法头和方法体,方法的所有部分:

  • **修饰符:**是可选择的,告诉编译器应该如何调用该方法,定义了该方法的访问类型。
  • 返回值类型:方法可能会返回值,returnValueType是方法返回值的数据类型。有些方法执行所需的操作但没有返回值,这种情况下,returnValueType的关键字是void。
  • **方法名:**是方法的实际名称,方法名和参数名共同构成方法签名。
  • **参数类型:**参数像是一个占位符,当方法被调用时,传递值给参数,这个值被称为实参或者变量,参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
  • **形参:**在方法被调用时用于接收外界输入的数据。
  • **实参:**调用方法时,实际传给方法的数据。
  • **方法体:**方法体包含具体的语句,定义该方法的功能。(该方法具体实现的代码)

3、访问控制修饰符

  • default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
  • private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
  • public : 对所有类可见。使用对象:类、接口、变量、方法
  • protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。

4、static、final、consnt

5、方法调用

对象名.方法名(实参列表)

Java支持两种调用方法的方式,根据方法是否返回值来选择,当方法返回一个值时,方法调用通常被当做一个值:

int larger = max(30,40);

如果返回值是void,方法调用一定是一条语句

System.out.println(“Hello World”);

6、值传递(Java)与引用传递

三、方法重载

重载就是在一个类中,有相同的函数名称,但是形参不同的函数。

重载的规则:

  • 方法名称必须相同
  • 参数列表必须不同(个数不同,或类型不同,或参数排列顺序不同等)
  • 方法的返回类型可以相同也可以不同
  • 仅仅返回类型不同不足以成为方法的重载

四、命令行传参

运行一个程序时在传递给它消息,这要靠传递命令行参数给main()函数实现。

五、可变参数

在方法声明中,在指定参数类型后加一个省略号(…),一个方法只能指定一个可变参数,它必须是方法的最后一个参数,任何普通的参数必须在他之前声明。
在这里插入图片描述

六、递归

1、利用递归可以用简单的程序来解决一些复杂的问题,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归测罗只需要少量的程序就可描述出解题过程所需要的多次重复计算,大大减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。

2、递归包含两个部分

  • 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
  • 递归体:什么时候需要调用自身方法。
public class Demo3 {
    public static void main(String[] args) {
        System.out.println(f(5));

    }
     //计算阶乘
    public static int f(int n){
        if(n == 1){
            return 1;
        }else {
            return n*f(n-1);
        }
    }

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

layui+jsp项目中实现table单元格嵌入下拉选择框功能,下拉选择框可手动输入内容或选择默认值,修改后数据正常回显。

需求 table列表中的数据实现下拉框修改数据,当默认的下拉框不符合要求时,可手动输入内容保存。内容修改后表格显示修改后的值同时表格不刷新。 实现 layui框架下拉框组件只能选择存在的数据,不支持将输入的内容显示在input中的功能&#x…

什么牌子的无线领夹麦克风好,一篇了解哪种领夹麦性价比高

随着5G技术的广泛应用,短视频平台迎来了前所未有的发展机遇,几乎每个地方都有人在记录生活,分享故事。在这样的背景下,户外直播和视频创作的需求急剧增长,然而,户外的复杂声场仅靠普通手机的录音功能实在难…

计算机网络之局域网

目录 1.局域网的基本概念 2.LAN的特性 3.局域网特点 4.拓扑结构 5.传输媒体的选择 6.传输媒体 7.传输技术 8.传输技术距离问题 9.LAN的逻辑结构 10.局域网工作原理 上篇文章内容:OSI七层体系结构 1.局域网的基本概念 局域网 是将分散在有限地 理范围内&…

Robust Test-Time Adaptation in Dynamic Scenarios--论文阅读

论文笔记 资料 1.代码地址 https://github.com/BIT-DA/RoTTA 2.论文地址 https://arxiv.org/abs/2303.13899 3.数据集地址 coming soon 1论文摘要的翻译 测试时间自适应(TTA)旨在使预先7训练的模型适用于仅具有未标记测试数据流的测试分布。大多数以前的TTA方法已经在…

SQL Server特性

一、创建表 在sql server中使用create table来创建新表。 create table Customers( id int primary key identity(1,1), name varchar(5) ) 该表名为Customers其中包含了2个字段,分别为id(主键)以及name。 1、数据类型 整数类型&#xff…

NAT地址转换实验,实验超简单

实验拓扑 实验目的 将内网区域&#xff08;灰色区域&#xff09;的地址转换为172.16.1.0 实验过程 配置静态NAT&#xff08;基于接口的静态NAT&#xff09; R1配置 <Huawei>sys Enter system view, return user view with CtrlZ. [Huawei]sysname R1 [R1]un in en I…

探索 Apache Paimon 在阿里智能引擎的应用场景

摘要&#xff1a;本文整理自Apache Yarn && Flink Contributor&#xff0c;阿里巴巴智能引擎事业部技术专家王伟骏&#xff08;鸿历&#xff09;老师在 5月16日 Streaming Lakehouse Meetup Online 上的分享。内容主要分为以下三个部分&#xff1a; 一、 阿里智能引擎…

流程表单设计器开源优势多 助力实现流程化!

实现流程化办公是很多职场企业的发展目标。应用什么样的软件可以实现这一目的&#xff1f;低代码技术平台、流程表单设计器开源的优势特点多&#xff0c;在推动企业降本增效、流程化办公的过程中作用明显&#xff0c;是理想的软件平台。那么&#xff0c;流程表单设计器开源的优…

VS开发QT程序图标修改

VS开发QT程序图标修改 1.双击打开UI界面 2.选择编辑资源 3.添加文件 4.选择ico文件 5.ok确定 6.点击保存 7.选择windowsIcon,倒三角图标 8.选择资源 9.选择图标&#xff0c;点击ok 10.保存 编译运行&#xff1a; 任务栏&#xff1a; 或者代码设置: 添加图标后&#xff0c;打…

Qt中文乱码如何解决

目录 一、使用建议 二、其它设置 一、使用建议 Qt对中文的支持不是很友好&#xff0c;使用QtCreator会出现各种乱七八糟的中文代码问题&#xff0c;如何处理这种问题&#xff1f; &#xff08;1&#xff09;粘贴别人的代码时&#xff0c;先在记事本里粘贴一遍&#xff0c;再…

应用于空气和液体抑菌的静态UVC LED抑菌模组-WH-UVC001-VO

WH-UVC001-VO是一款用于空气和液体抑菌的静态UVC LED抑菌模组。适用于带水箱、密闭的腔体结构。可安装于顶部、侧壁及底部&#xff0c;出光面符合IP65的防水要求&#xff0c;即使安装于水箱底部也不用担心漏水。 使用的UVC LED的波长范围为260-280nm&#xff0c;具有优良高效的…

线上网络课堂知识付费小程序源码系统 带的安装代码包以及搭建部署教程

系统概述 本系统是一款专为线上教育设计的全栈解决方案&#xff0c;集课程管理、用户管理、支付系统、互动交流于一体&#xff0c;旨在帮助内容创作者轻松搭建知识付费平台&#xff0c;实现内容变现。系统基于成熟的技术栈&#xff08;如Node.js、Vue.js等&#xff09;开发&am…

奥比中光astra_pro相机使用记录

一、信息获取 1、官网 用于了解产品信息 http://www.orbbec.com.cn/sys/37.html 2、开发者社区 咨询问题下载开发部https://developer.orbbec.com.cn/ 二 、windowvs19 1、相机型号 orbbec_astro_pro 根据对应的型号找到需要的包工具 踩坑1&#xff0c;因为这个相机型号…

OpenSSH远程代码执行漏洞风险通告

今日&#xff0c;亚信安全CERT监控到安全社区研究人员发布安全通告&#xff0c;披露了OpenSSH远程代码执行漏洞(CVE-2024-6387)。该漏洞发生在OpenSSH < 4.4p1 且未安装CVE-2006-5051/CVE-2008-4109补丁或8.5p1< OpenSSH < 9.8p1上。 目前厂商官方已针对相关漏洞进行…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(二十)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 30 节&#xff09; P30《29.数据持久化-用户首选项》 实现数据持久化在harmonyOS中有很多种方式&#xff0c;比较常见的是以下两…

大模型剪枝概述

近年来&#xff0c;随着Transformer、MOE架构的提出&#xff0c;使得深度学习模型轻松突破上万亿规模参数&#xff0c;从而导致模型变得越来越大&#xff0c;因此&#xff0c;我们需要一些大模型压缩技术来降低模型部署的成本&#xff0c;并提升模型的推理性能。而大模型压缩主…

游戏推荐: 植物大战僵尸杂交版

下载地址网上一搜就有. 安装就能玩. 2是显血. 4显示植物血, 5是加速. 都是左手主键盘的按钮, 再按是取消. 比较刺激: ps: 设置里面还能打开自动收集阳光和金币.

无人机之运动状态篇

悬停 悬停状态是四旋无人机具有的一个显著特点。在悬停状态下&#xff0c;四个旋翼具有相等的转速&#xff0c;产生的上升合力正好与自身重力相等&#xff0c;并且因为旋翼转速大小相等&#xff0c;前后端转速方向相反&#xff0c;从而使得飞行器总扭矩为0&#xff0c;使得飞行…

【C++ OpenCV】机器视觉-二值图像和灰度图像的膨胀、腐蚀、开运算、闭运算

原图 结果图 //包含头文件 #include <opencv2/opencv.hpp>//命名空间 using namespace cv; using namespace std;//全局函数声明部分//我的腐蚀运算 Mat Erode(Mat src, Mat Mask, uint32_t x0, uint32_t y0) {uint32_t x 0, y 0;Mat dst(src.rows, src.cols, CV_8U…

如何在忘记密码的情况下删除华为ID激活锁

当您手中拥有最新的华为手机时&#xff0c;您会忍不住探索新的可能性&#xff0c;以从您的设备中获得最大价值。您可以下载新的应用程序、Android 启动器等&#xff0c;但这些应用程序中的大多数都会给您的手机带来错误和安全威胁&#xff0c;如果不恢复出厂设置&#xff0c;可…