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

news2024/11/19 15:39:12

目录

      • 方法参数传递
      • 可变参数
      • 冒泡排序
      • 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));
	}
}

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

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

相关文章

InFusion:通过从扩散先验学习深度补全来进行图像 3D 高斯修复

InFusion 以其图像条件模型超越了当前的方法&#xff0c;提供精确的深度修复并支持纹理定制和对象插入等高级应用程序。 github项目页面&#xff1a; Infusion Github 仓库&#xff1a;GitHub - ali-vilab/Infusion: Official implementations for paper: InFusion: Inpainti…

婚恋相亲软件优缺点揭秘:世纪佳缘、青藤之恋、二狗、伊对

曾经我也是个大龄单身狗&#xff0c;把市面上主流的相亲软件都装了一个遍&#xff0c;也充了不少会员&#xff0c;踩了不少坑&#xff0c;现把各个婚恋软件的优缺点梳理给大家。 二狗&#xff1a;原腾讯产品经理做的&#xff0c;号称高学历平台&#xff0c;用户质量堪称人类天花…

pycharm-git 配置(1)

1.安装git2.pycharm 中配置git 插件 弹出Git版本号&#xff0c;即配置成功。3.创建本地仓库 VCS->VCS operations->create repository->设置本地目录 左下角可以看到git本地仓库git可以看到push,commit。 4.配置远方仓库&#xff0c;此时确保git上是有这个项目…

Excel中将单元格格式改成文本后,为何要双击数字才会改变?

将大批量的数值型数字转换成文本型数字&#xff0c;当然不能一个一个的去双击做转换了。以下说说有哪个可以将数值型数字转换成文本型数字的方法。 一、转换方法 方法1.数据分列功能 选中数据后&#xff0c;点击数据选项卡&#xff0c;分列&#xff0c; 分列向导的第一步和…

上位机图像处理和嵌入式模块部署(智能硬件的介绍)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 目前&#xff0c;用上位机软件虽然可以部署项目&#xff0c;但是它本身有自己的缺点&#xff0c;那就是稳定性差、价格贵。稳定性这部分&#xff0…

jsoup接收429,404错误用来接收json格式

1.代码用例 try { // 拿到当前剩余余下的钱Document doc Jsoup.connect(url).header("Authorization", "Bearer " apiKey).header("Content-Type", "application/json").header("Connection", "keep-aliv…

Linux - tar (tape archive)

tar 的全称是 Tape Archive。它最初是在 Unix 系统中用于将数据写入磁带的工具&#xff0c;但现在它通常用于创建、维护、修改和提取文件的归档文件。尽管 tar 可以用于压缩和解压缩文件&#xff0c;但它本身并不进行压缩&#xff0c;而是通常与 gzip 或 bzip2 等压缩工具一起使…

【提示学习论文】BlackVIP: Black-Box Visual Prompting for Robust Transfer Learning论文原理

BlackVIP: Black-Box Visual Prompting for Robust Transfer Learning BlackVIP:稳健迁移学习的黑盒视觉提示 问题 黑盒白盒&#xff1f; 黑盒和白盒的概念与对预训练模型内部参数的了解程度相关。黑盒指的是对预训练模型的参数和结构缺乏详细了解&#xff0c;通常只能通过使…

详解数据结构:栈

一、顺序栈 顺序栈的存储方式如下&#xff1a; 从图中可以看出&#xff0c;顺序栈需要两个指针&#xff0c;base指向栈底&#xff0c;top指向栈顶。 typedef struct SqStack {ElemType *base; //栈底指针ElemType *top; //栈顶指针}SqStack; 说明&#xff1a; ElemType是元…

Meta:OpenAI不open?那我来?

Meta的Llama 3&#xff1a;开启开源AI新纪元&#xff0c;4000亿参数的科技奇迹 在人工智能的璀璨星河中&#xff0c;Meta公司以其最新的开源大模型Llama 3&#xff0c;再次引领科技潮流&#xff0c;为开源社区带来前所未有的活力与创新。这不仅是技术的一次飞跃&#xff0c;更…

岩石变角剪切试验夹具 技术参数

岩石变角试验夹具是根据TB10115-2014铁路工程岩石试验规程等标准利用压力机施加垂直荷载,通过一套特制的夹具使试件沿某一剪切面产生剪切破坏,然后通过静力平衡条件解析剪切面上的法向压应力和剪应力,从而绘制法向压应力&#xff08;σ&#xff09;与剪应力&#xff08;τ&…

Linux文件的特殊权限(SUID|SGID|SBIT)

一、SUID 介绍&#xff1a;SUID是一种对二进制程序进行设置的特殊权限&#xff0c;能够让二进制程序的执行者临时拥有所有者的权限&#xff08;仅对拥有执行权限的二进制程序有效&#xff09;。 &#xff08;一&#xff09;语法格式 chmod us 文件名&#xff08;设置SUID权限…

VsCode配置SSH连接远程服务器(手把手,学不会打我)

闲言少叙&#xff0c;直接上步骤。 1.打开VsCode安装插件 安装完成后可以看到左边多了一个图标Remote Explorer&#xff0c;如下图所示 2.添加服务器连接配置 点击该选项卡会进入SSH TARGETS的添加&#xff0c;如下图&#xff1a; 在点击红框框住的加号&#xff0c;会让你输…

鸿蒙系列--第一个程序HelloWorld

一、下载安装 下载DevEco Studio&#xff08;https://developer.huawei.com/consumer/cn/deveco-studio/&#xff09;并安装 二、创建第一个鸿蒙应用 Next Compile SDK&#xff1a;鸿蒙SDK版本 Mode&#xff1a;ArkTS的声明式开发范式与类Web 开发范式&#xff0c;官方主推S…

vLLM-prefix浅析(System Prompt,大模型推理加速)

原文&#xff1a;vLLM-prefix浅析&#xff08;System Prompt&#xff0c;大模型推理加速&#xff09; 简介 本文浅析了在大模型推理加速方面一个非常优秀的项目 vLLM 的一个新特性 Prefix。在 Prompt 中有相同前缀时可以提高吞吐量降低延迟&#xff0c;换句话说可以省去这部分…

哈希函数、哈希表、布隆过滤器、一致性哈希

哈希函数 工程的哈希函数展示 哈希值根据余数分组的均匀性 哈希表原理 一致性哈希 虚拟节点技术

C++ 类对象

C是一种功能强大的编程语言&#xff0c;它拥有丰富的特性集合&#xff0c;使得我们可以编写出高效、可维护且性能卓越的代码。其高级概念包括运算符重载、静态成员、友元函数、匿名对象和嵌套类。这些概念在面向对象编程中扮演着至关重要的角色&#xff0c;它们提供了对对象行为…

Maxwell安装使用和简单案例

一、解压 cd /opt/software/ ​ tar -zxvf maxwell-1.29.2.tar.gz -C /opt/module/ ​ cd /opt/module/ 二、MySQL 环境准备 1、修改 mysql 的配置文件 修改 mysql 的配置文件&#xff0c;开启 MySQL Binlog 设置 vi /etc/my.cnf 添加以下内容 server_id1 log-binmysql-…

一篇文章带你掌握⽹络原理--HTTP/HTTPS(HTTP各个部分详解和HTTPS加密详解)

HTTP HTTP是什么? HTTP(全称为"超⽂本传输协议")是⼀种应⽤⾮常⼴泛的应⽤层协议. HTTP诞⽣与1991年.⽬前已经发展为最主流使⽤的⼀种应⽤层协议. 最新的HTTP3版本也正在完善中,⽬前Google/Facebook等公司的产品已经⽀持了. HTTP往往是基于传输层的TCP协议实现的…

软件测试方法汇总

种类繁多&#xff0c;记忆起来混乱&#xff0c; 如果把软件测试方法进行分类, 就会清晰很多。 我参考一些书籍和网上的资料&#xff0c; 把常用的软件测试方法列出来&#xff0c; 让大家对软件测试行业有个总体的看法。 从测试设计方法分类 总结&#xff1a; 实际工作中&…