B008-方法参数传递可变参数工具类

目录

      • 方法参数传递
      • 可变参数
      • 冒泡排序
      • Arrays工具类
      • Arrays工具类常用方法

方法参数传递

/**
 * java中只有值传递
 *   基本数据类型 传递的是具体的值
 *   引用数据类型 传递的是地址值
 */
public class _01_ParamPass {

	public static void main(String[] args) {
		// 调用方法 getSum
		getSum(6,9);
		//调用getMax
		int[] arr = {4, 5,6};
		getMax(arr);
		print("小王");
	}
	
    //定义一个方法  参数为基本数据类型   参数是基本数据类型
	static void getSum(int a,int b){
		System.out.println(a);
		System.out.println(b);		//打印的是具体的值
	}
	
	//定义一个方法  找到数组中最大的数字   参数是引用数据类型
	static void getMax(int[] arr){
		System.out.println(arr);	//[I@15db9742
	}
	
	static void print(String name){	//引用数据类型
		System.out.println(name);	//String这个类型重写了toString方法
	}
}

在这里插入图片描述

可变参数

/**
 *  可变参数:  可以表示同种类型的0个或者多个数据
 *  可变参数的本质    其实也是数组   只能作为形式参数
 *  语法结构:
 *      数据类型...变量名
 */
public class _02_ChangeParam {
	public static void main(String[] args) {
		//调用可变参数的方法,传递数组
		int[] arr = {1,2,3};
		getSum(arr);
		//调用可变参数的正规方法,传递可变参数
		getSum(1,2,4);
	}
	
	//定义一个方法 求多个数的和
	static void getSum(int...param){
		//定义变量 存储和
		int sum = 0;
		for (int i : param) {
			sum += i;
		}
		System.out.println(sum);
	}
	
	//定义一个方法 求多个数的和(利用方法重载验证可变参数的本质就是数组)
	/*static void getSum(int[] arr){
		
	}*/
}

注意事项

/**
 *  注意事项:  可变参数只能放在形参列表的末尾  可变参数只能有一个
 */
public class _03_ChangeParam2 {
	public static void main(String[] args) {
		// 调用
		test("呵呵", 2, 4, 6, 1, 8, 9);
	}

	static void test(String name, int... param) {
		System.out.println("多个参数的方法");
	}

	// 可变参数只能放在形参列表的末尾
	// static void test1(int...param,String name){}

	// 可变参数只能有一个
	// static void test2(String...name,int...param){}
}

冒泡排序

在这里插入图片描述

	// 对int数组进行排序
	public static void sort(int[] arr) {
		for (int j = 0; j < arr.length - 1; j++) {
			// 单次比较
			for (int i = 0; i < arr.length - 1; i++) {
				// 如果前一位比后一位更大 则交换位置
				if (arr[i] > arr[i + 1]) {
					int temp = arr[i];
					arr[i] = arr[i + 1];
					arr[i + 1] = temp;
				}

			}
		}
	}

Arrays工具类

/**
 * java自带的类的使用说明
 *  点开api文档-->点击显示-->选中索引-->输入需要查找的类名-->双击显示详情
 *  Arrays:
 *     凡是涉及到对于数组进行操作  优先想到Arrays工具类
 *     导包: 唯一确定使用哪里的类
 */
public class _04_ArraysUse {

	public static void main(String[] args) {
		// static void sort(int[] a) 属于Arrays
		// 对指定的 int 型数组按数字升序进行排序。
		int[] arr = { 21, 36, 14, 25 };
		Arrays.sort(arr);
		// static String toString(int[] a) 返回指定数组内容的字符串表示形式。
		String str = Arrays.toString(arr);
		System.out.println(str);
	}
}

Arrays工具类常用方法

public class _05_ArraysUse {

	public static void main(String[] args) {
		//动态创建一个数组
		int[] arr = new int[5];
		/*arr[0] = 69;
		arr[1] = 69;
		arr[2] = 69;
		arr[3] = 69;
		arr[4] = 69;*/
		
		//static void fill(int[] a, int val) 填充:将指定的 int值分配给指定int型数组的每个元素。 
		Arrays.fill(arr, 666);
		//static String toString(int[] a)   返回指定数组内容的字符串表示形式。 
		System.out.println(Arrays.toString(arr));

		int[] arr1 = { 12, 13, 14, 15 };
		//static int[] copyOf(int[] original, int newLength) 复制数组:original 需要从哪里拷贝 源数组   newLength 新数组的长度
		int[] arr2 = Arrays.copyOf(arr1, 2);
		System.out.println(Arrays.toString(arr2));
		
		/*static int[] copyOfRange(int[] original, int from, int to) 
                    将指定数组的指定范围复制到一个新数组。   
            from指的是从哪个索引开始  to到哪里结束 但是取不到        */
		int[] arr3 = Arrays.copyOfRange(arr1, 1, 2);// 1 2
		System.out.println(Arrays.toString(arr3));
	}
}

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

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

相关文章

网络变压器在网络分析仪上能通过测试,装上设备后网速达不到呢?

Hqst华轩盛(石门盈盛)电子导读&#xff1a;今天和大家一起探讨网络变压器在网络分析仪上能通过测试&#xff0c;装上设备后网通设备网速达不到的可能原因及其处理方式 一、出现这种情况可能有以下原因&#xff1a; 1.1. 设备兼容性问题&#xff1a;设备其它元器件与 网络…

Docker容器化技术:概述与安装

目录 一、云基础知识 1、常见的云服务厂商 2、云计算服务模式三种层次 3、什么是虚拟化 4、什么是虚拟机 5、虚拟化产品 5.1 仿真虚拟化产品 5.2 半虚拟化产品 5.3 全虚拟化产品 6、虚拟机架构 6.1 寄居架构 6.2 源生架构 二、认识容器 1、容器的概述 2、容器的…

【Netty】ByteBuf与拆包粘包

ByteBuf 在介绍ByteBuf之前先来一套基础的代码来演示ByteBuf的使用。 package blossom.project.netty;import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled;import java.nio.charset.StandardCharsets;/*** author: ZhangBlossom* date: 2023/12/14 13:37* con…

web学习

day02-01 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>js快速引入</title> <!-- 内部脚本--> <!-- <script>--> <!-- alert(Hello JS)--> <!-- <…

【linux】匿名管道|进程池

1.进程为什么要通信&#xff1f; 进程也是需要某种协同的&#xff0c;所以如何协同的前提条件(通信) 通信数据的类别&#xff1a; 1.通知就绪的 2.单纯的数据 3.控制相关的信息 2.进程如何通信&#xff1f; 进程间通信&#xff0c;成本会高一点 进程间通信的前提&#xff0c;先…

制氢机远程监控运维方案

制氢机远程监控运维方案 在当今能源转型的大背景下&#xff0c;氢能作为清洁、高效且可再生的能源载体&#xff0c;其重要性日益凸显。而制氢机作为氢能产业链中的关键设备&#xff0c;其稳定运行与高效运维对于保障氢气供应、推动氢能产业健康发展至关重要。在此背景下&#…

动态规划——切割钢条问题

一、动态规划 动态规划算法通常用于解决最优化问题&#xff08;寻求最优解&#xff09;。其思想与分治法类似&#xff0c;将待求解的问题分成若干个子问题&#xff0c;先求出子问题&#xff0c;再根据子问题的解求出原来问题中的解&#xff0c;与分支法不同的是&#xff0c;在动…

Oracle使用内部包自定义创建表空间和用户

如果之前有类似的表空间,可以使用dbms自动生成对应的表空间和数据文件 select dbms_metadata.get_ddl(TABLESPACE,ts.tablespace_name) from dba_tablespaces ts; 可以使用类似的 SQL> set echo off SQL> spool /data/logs/create_tablespace.log SQL> select dbms…

Mimics21软件学习总结

一. Mimics21软件安装过程 ① 解压下载好的Mimics软件包&#xff1b; ② 双击“MIS_Medical_21.0.exe”打开等待安装程序初始化完成&#xff1b; ③ 进入安装向导点击“next”&#xff1b; ④ 点击选择“Iaccept the agreement”同意相关协议&#xff0c;随后点击“next”&…

多模态大模型训练数据以及微调数据格式

多模态数据&#xff0c;尤其是中文多模态数据&#xff0c;找一些中文多模态的数据 中文多模态数据集汇总_数据集-阿里云天池本文整理汇总了业界常用的多模态中文数据集&#xff0c;提供了每个数据集的简介、官网、下载地址、Github代码等信息&#xff0c;方便算法研究人员学习…

虚假新闻检测——Adapting Fake News Detection to the Era of Large Language Models

论文地址&#xff1a;https://arxiv.org/abs/2311.04917 1.概论 尽管大量的研究致力于虚假新闻检测&#xff0c;这些研究普遍存在两大局限性&#xff1a;其一&#xff0c;它们往往默认所有新闻文本均出自人类之手&#xff0c;忽略了机器深度改写乃至生成的真实新闻日益增长的现…

Etsy多账号关联怎么办?Etsy店铺防关联解决方法

Etsy虽然相对于其他跨境电商平台来说比较小众&#xff0c;但因为平台是以卖手工艺品为主的&#xff0c;所以成本较低&#xff0c;利润很高。许多跨境卖家都纷纷入驻&#xff0c;导致平台规则越发严格&#xff0c;操作不当就会封号&#xff0c;比如一个卖家操作多个账号会出现关…

国外问卷调查如何做?需要借助海外住宅IP吗?

在数字化时代&#xff0c;国外问卷调查不仅是了解市场需求的重要手段&#xff0c;还成为了一项能够赚取额外收入的方式。随着全球范围内消费者行为的多样化&#xff0c;各类企业和机构越来越需要了解不同地区的用户观点和偏好&#xff0c;以优化产品和服务。 一、国外问卷调查…

Flask中的JWT认证构建安全的用户身份验证系统

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 Flask中的JWT认证&#xff1a;构建安全的用户身份验证系统 随着Web应用程序的发展&#xf…

Linux给磁盘扩容(LVM方式)

Linux给磁盘扩容&#xff08;LVM方式&#xff09; 最近测试性能&#xff0c;在本地打数据时&#xff0c;发现磁盘空间不足&#xff0c;于是想手动给/挂载点添加空间。这里介绍通过LVM方式快速给磁盘扩容。 LVM:是一种技术&#xff0c;方便管理磁盘。如果不用LVM&#xff0c;那…

js的算法-交换排序(快速排序)

快速排序 基本思想 快速排序的基本思想是基于分治法的&#xff1a;在待排序表L【1...n】中任意取一个元素p 作为枢轴&#xff08;或基准&#xff0c;通常取首元素&#xff09;。通过一趟排序将待排序表划分为独立的两部分L【1...k-1】和L【k1...n】;这样的话&#xff0c;L【1…

Linux下的基本指令

基本指令 前言ls 指令语法功能常用选项举例注意关于拼接关于 -a关于文件ls与/的联用ls与根目录ls与任意文件夹ls与常用选项与路径 pwd命令语法功能常用选项注意window与Linux文件路径的区别 cd 指令语法功能举例注意cd路径... touch指令语法功能常用选项 mkdir指令语法功能常用…

【RAG 论文】Query2doc — 使用 LLM 做 Query Expansion 来提高信息检索能力

论文&#xff1a;Query2doc: Query Expansion with Large Language Models ⭐⭐⭐⭐⭐ Microsoft Research, EMNLP 2023 文章目录 背景介绍Query2doc 论文速读实现细节实验结果和分析总结分析 背景介绍 信息检索&#xff08;Information Retrieval&#xff0c;IR&#xff09;指…

如何操作HTTP返回头-ApiHug小技巧-002

&#x1f917; ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱&#xff0c;有温度&#xff0c;有质量&#xff0c;有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace &…

如何用微信小程序实现远程控制无人售货柜

如何用微信小程序实现远程控制无人售货柜呢&#xff1f; 本文描述了使用微信小程序调用HTTP接口&#xff0c;实现控制无人售货柜&#xff0c;独立控制售货柜、格子柜的柜门。 可选用产品&#xff1a;可根据实际场景需求&#xff0c;选择对应的规格 序号设备名称厂商1智能WiFi…