当前位置: 首页 > news >正文

知识改变命运:Java 语言 【可变参数】

可变参数

概念:Java允许一个类中多个同名同功能但是参数不同的方法,封装为一个方法。

基本语法:
访问修饰符 返回值 方法名 (数据类型...参数名) {
......
}

案例:写一个类名DyMethod 方法名sum 计算两个整数和,三个整数和,四个整数和。

public class DyMethod {public static void main(String[] args) {DyMethod s1=new DyMethod();s1.sum(1,2);s1.sum(1,2,3);s1.sum(1,2,3,4);}public int sum(int a,int b) {return  a+b;}public int sum(int a,int b,int c) {return  a+b+c;}public int sum(int a,int b,int c,int d) {return  a+b+c+d;}}

我们上面代码可以使用重载的方法来实现,但是这样的代码特别无聊,他们完成的功能都是大同小异,如果我们要求5个,6个,甚至更多呢,接下来我们用可变参数优化下。

public class DyMethod {public static void main(String[] args) {DyMethod s1 = new DyMethod();s1.sum(1, 2);s1.sum(1, 2, 3);s1.sum(1, 2, 3, 4);}public int sum(int... x) {int sum=0;for (int i = 0; i < x.length; i++) {sum+=x[i];}return sum;}
}
//int...表示可接受可变参数,类型是int,可接受(0到n个int值)
//可变参数x可以当作数组来使用,即x当作数组

这样我们就利用参编参数简化了代码

可变参数注意到事项和细节

1.可变参数的实参可以是0到多个
2.可变参数可以传参数组

		int [] arr={1,2,3,4,5};System.out.println(s1.sum(arr));public int sum(int... x) {int sum=0;for (int i = 0; i < x.length; i++) {sum+=x[i];}return sum;}

3.可变参数实质是数组
4.可变参数可以跟其他普通类型参数一起出现,但是可变参数必须在参数最后

public int sum(int a,Stuent... x)

5.一个方法里面只能有一个可变参数

public int sum(int...a,Stuent... x)//报错

练习:有三个方法,返回姓名+2门成绩和,返回姓名+3门成绩和,返回姓名+4门成绩和,封装成一个方法。

public String sum(String name,int...score) {int sum=0;for (int i = 0; i < score.length; i++) {sum+=score[i];}return "姓名"+name+"成绩"+sum;}

相关文章:

知识改变命运:Java 语言 【可变参数】

可变参数 概念&#xff1a;Java允许一个类中多个同名同功能但是参数不同的方法&#xff0c;封装为一个方法。 基本语法&#xff1a; 访问修饰符 返回值 方法名 (数据类型...参数名) { ...... }案例&#xff1a;写一个类名DyMethod 方法名sum 计算两个整数和&#xff0c;三个整…...

Spring及相关框架的重要的问题

Java框架 问题一&#xff1a;Spring框架中的单例bean是线程安全的吗&#xff1f; 看下图&#xff0c;不能被修改的成员变量就是无状态的类&#xff0c;无状态的类没有线程安全问题&#xff0c;所以在开发中尽量避免可修改的成员变量。 回答&#xff1a;不是线程安全的&#xf…...

Linux Vim教程

Linux Vim 教程 Vim&#xff08;Vi IMproved&#xff09;是一个强大的文本编辑器&#xff0c;广泛用于编程和系统管理。本文将带你全面了解 Vim 的基础使用、常用命令、高级功能等。 1. 安装 Vim 在大多数 Linux 发行版中&#xff0c;Vim 已经预装。如果没有&#xff0c;可以…...

【学习笔记】多进程信号量控制

目录 1、CreateSemaphore 2、ReleaseSemaphore 3、CreateEvent 4、SetEvent 5、WaitForSingleObject 程序案例1&#xff1a; 程序案例2&#xff1a; 1、CreateSemaphore 创建一个计数信号量对象&#xff0c;成功时返回信号量对象的句柄&#xff1b;失败时返回NULL&…...

Redis与Memorycache的区别

Redis与Memorycache主要是持久线程和持久化的区别 1、从性能方面来说&#xff1a; Redis是单线程的&#xff0c;优点是CPU开销小&#xff0c;省去多线程线程之间切换的开销&#xff0c;但是相对于Memorycache来说海量数据的相对较低 Memorycache使用了多线程技术&#xff0c;数…...

docker和Helm Chart的基本命令和操作

一、docker基本命令和操作 1. docker login【登录】 登录 docker client&#xff0c;登录成功之后会显示 Login Succeeded。 docker login登陆到指定的镜像仓库&#xff0c;docker pull 和 docker push 操作都需要预先执行 docker login 操作&#xff1b; 指令&#xff1a;&a…...

Node中的CSRF攻击和防御

Node中的CSRF攻击和防御 假设有一个网上银行系统&#xff0c;用户可以通过该系统进行转账操作。转账功能的URL可能是这样的&#xff1a; https://www.bank.com/transfer?toAccount123456&amount1000当用户登录到银行系统&#xff0c;并在浏览器中访问这个URL时&#xff…...

CSS 多按钮根据半圆弧度排列

需求 多个按钮根据弧度&#xff0c;延边均匀排列。 实现 HTML 分两级&#xff1b;第一级&#xff0c;外层定义按钮的 compose-container 宽度&#xff1b;第二级&#xff0c;按钮集合&#xff0c;使用方法 styleBtn(index)&#xff0c;根据索引计算&#xff1b; <div c…...

【Linux】网络编程套接字Scoket:UDP网络编程

目录 一、了解UDP协议 二、了解端口和IP地址 三、套接字概述与Socket的概念 四、Socket的类型 五、 Socket的信息数据结构 六、网络字节序与主机字节序的互相转换 七、地址转换函数 八、UDP网络编程流程及相关函数 socket函数 bind函数 recvfrom函数 sendto函数 …...

基于模糊PID控制器的puma560机器人控制系统的simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 PUMA 560机器人的数学模型 4.2 PID控制原理 4.3 模糊PID控制器的设计 5.完整工程文件 1.课题概述 基于模糊PID控制器的puma560机器人控制系统的simulink建模与仿真&#xff0c;对比传统的PID控制器…...

C语言文件操作超详解

文章目录 1. 为什么使用文件2. 什么是文件2. 1 程序文件2. 2 数据文件2. 3 文件名3. 二进制文件和文本文件? 4. 文件的打开和关闭4. 1 流和标准流4. 1. 1 流4. 1. 2 标准流 4. 2 文件指针4. 3 文件的打开和关闭 5. 文件的顺序读写5. 1 顺序读写函数介绍5. 2 对比一组函数: 6. …...

表字段显示tip

需求背景&#xff1a; 生成的报表&#xff0c;前端只展示字段名称&#xff0c;计算逻辑没有解释&#xff0c;使用方频繁“骚扰”&#xff0c;实在受不了&#xff0c;增加一个字段tip&#xff0c;实现效果&#xff08;下图&#xff09;&#xff1a; 代码 结合使用el-table-colu…...

十二、享元模式

文章目录 1 基本介绍2 案例2.1 Digit 接口2.2 Color 枚举2.3 BigDigit 类2.4 DigitFactory 类2.5 Client 类2.6 Client 类的测试结果2.7 总结 3 各角色之间的关系3.1 角色3.1.1 Flyweight ( 抽象享元 )3.1.2 ConcreteFlyweight ( 具体享元 )3.1.3 UnsharedFlyweight ( 非享元 )…...

黑马Java零基础视频教程精华部分_18_Arrays各种方法

系列文章目录 文章目录 系列文章目录Arrays简介Arrays各种方法toString代码示例binarySearch代码示例copyOf代码示例copyOfRange和fill代码示例sort代码示例 Arrays简介 操作数组的工具类。 Arrays各种方法 toString代码示例 int[]arr{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; //to…...

RAG私域问答场景超级详细方案(第一期方案)[1]:工业级别构建私域问答(知识处理、知识召回排序、搜索问答模块)

RAG私域问答场景整体夏详细方案(第一期方案):工业级别构建私域问答(知识处理、知识召回排序、搜索问答模块) 大模型性能的跳阶式增长给文本摘要、信息检索、信息抽取、语义问答等自然语言处理任务带来了卓越的性能提升。同时,LangChain 作为一种基于 LLM 的框架,能够快速…...

【AI在医疗领域的应用】AI在疾病诊断、个性化治疗等领域的应用

AI在医疗领域的应用 AI在疾病诊断、个性化治疗等领域的应用 引言 人工智能&#xff08;AI&#xff09;技术正在迅速改变各个行业&#xff0c;而医疗领域无疑是AI应用最广泛、影响最深远的领域之一。AI在医疗中的应用不仅能够提高诊断的准确性和效率&#xff0c;还为个性化治疗…...

SpEL结合AOP示例

AOP不用多说&#xff0c;是spring框架的两大基石之一。SpEL是Spring Expression Language的缩写&#xff0c;意为Spring表达式语言&#xff0c;&#xff0c;其支持在运行时查询和操作对象图提供了更加丰富的功能&#xff0c;最特别的是方法调用与字符串模板功能。熟悉js的es6语…...

【Linux:环境变量】

目录 命令行参数&#xff1a; 环境变量&#xff1a; 命令行参数&#xff1a; argv是一个char*类型的数组&#xff0c;里面存放着字符、字符串的指针地址&#xff0c;且该数组必定是以NULL结尾 命令行中启动的进程都是Bash的子进程&#xff0c;命令行参数的存在本质上就是通过…...

8月9日笔记

8月9日笔记 什么是代理? “代理”通常指的是“网络代理”&#xff0c;它是一种特殊的网络服务&#xff0c;允许一个网络终端&#xff08;一般为客户端&#xff09;通过这个服务与另一个网络终端&#xff08;一般为服务器&#xff09;进行非直接的连接。代理服务器作为中间人…...

API 签名认证:AK(Access Key 访问密钥)和 SK(Secret Key 私密密钥)

API签名认证 在当今的互联网时代&#xff0c;API作为服务与服务、应用程序与应用程序之间通信的重要手段&#xff0c;其安全性不容忽视。你是否遇到过需要在HTTP请求中加入访问密钥(ak)和私密密钥(sk)的情况&#xff1f;是不是担心这些敏感信息会被拦截或者泄露&#xff1f;本…...

PvZ Toolkit:植物大战僵尸PC版终极修改器使用指南

PvZ Toolkit&#xff1a;植物大战僵尸PC版终极修改器使用指南 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit 还在为植物大战僵尸中资源不足而烦恼吗&#xff1f;PvZ Toolkit是一款专为植物大战僵尸…...

三轴桁架机械手上下料控制系统详细说明书

三轴桁架机械手上下料用西门子smart200 S 020三轴桁架机械手上下料用西门子smart200 ST40 脉冲控制3轴伺服可上西门子触摸屏详细注释&#xff0c;控制系统详细说明书&#xff0c;文档详细讲解组态和指令&#xff0c;I0表&#xff0c;电气原理图G一、概述本说明书旨在详细介绍三…...

intv_ai_mk11实际作品:面向管理层的OKR撰写建议与周报优化样例

intv_ai_mk11实际作品&#xff1a;面向管理层的OKR撰写建议与周报优化样例 1. 为什么管理者需要AI辅助撰写OKR和周报 在快节奏的商业环境中&#xff0c;管理者常常面临一个共同挑战&#xff1a;如何高效地制定清晰可衡量的目标&#xff08;OKR&#xff09;&#xff0c;同时保…...

Deep-Live-Cam架构深度解析:构建实时AI换脸系统的技术实现与优化策略

Deep-Live-Cam架构深度解析&#xff1a;构建实时AI换脸系统的技术实现与优化策略 【免费下载链接】Deep-Live-Cam real time face swap and one-click video deepfake with only a single image 项目地址: https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam 在数字…...

用快马AI十分钟搞定数据库课程设计原型:学生选课系统从ER图到可运行Demo

今天想和大家分享一个超实用的数据库课程设计经验——如何用InsCode(快马)平台快速搭建学生选课系统原型。作为计算机专业学生&#xff0c;每次做数据库课设最头疼的就是从零开始写代码&#xff0c;但这次我发现了一个超级省时的方法。 ER图设计思路 首先需要明确系统核心实体&…...

AI算力网络抉择:深度剖析RoCE与InfiniBand的实战选型指南

1. 为什么AI算力网络需要RDMA技术&#xff1f; 当你看到大模型训练任务卡在99%进度条时&#xff0c;那种焦灼感我深有体会。去年我们团队在调试千卡集群时就遇到过这种情况——原本预计72小时完成的训练任务&#xff0c;因为网络延迟问题硬是拖了整整一周。这就是为什么现在所…...

M2LOrder模型Typora写作辅助插件开发:实时监测文章情感基调

M2LOrder模型Typora写作辅助插件开发&#xff1a;实时监测文章情感基调 不知道你有没有过这样的经历&#xff1a;写了一篇技术文章&#xff0c;自己读起来总觉得哪里不对劲&#xff0c;但又说不出来具体问题。或者写产品文案时&#xff0c;明明想表达积极向上的情绪&#xff0…...

MiniProfiler 存储策略全解析:SQL Server、Redis、MongoDB 配置指南

MiniProfiler 存储策略全解析&#xff1a;SQL Server、Redis、MongoDB 配置指南 【免费下载链接】dotnet A simple but effective mini-profiler for ASP.NET (and Core) websites 项目地址: https://gitcode.com/gh_mirrors/do/dotnet MiniProfiler 是一款轻量级但功能…...

Alpamayo-R1-10B参数详解:Top-p=0.98与Temperature=0.6组合的工程意义解析

Alpamayo-R1-10B参数详解&#xff1a;Top-p0.98与Temperature0.6组合的工程意义解析 1. 项目背景与技术架构 1.1 Alpamayo-R1-10B核心定位 Alpamayo-R1-10B是NVIDIA开发的自动驾驶专用视觉-语言-动作(VLA)模型&#xff0c;其核心设计目标是通过类人因果推理能力提升自动驾驶…...

利用kimi与快马平台,十分钟搭建个人博客web应用原型

最近想快速验证一个个人博客的创意&#xff0c;但自己从头写代码太费时间。尝试用InsCode(快马)平台的Kimi模型生成原型&#xff0c;没想到十分钟就搞定了可运行的Web应用&#xff0c;分享下这个高效流程&#xff1a; 明确需求梳理结构 先花2分钟在纸上画了博客的基本框架&…...