黑马程序员——Java基础-数组、帮助文档

本文详细介绍了 Java 中数组的基本概念、一维数组和二维数组的定义及使用方法,同时阐述了如何利用工具类对数组进行操作,包括获取数组的最大值、最小值、排序、查找等常见功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

------- android培训java培训、期待与您交流! ----------

数组:用于存储相同类型数据的容器,数组内的数据通过数组角标定位,使用数组时要注意角标越界问题。

一维数组的定义
类型[] 数组名=new 类型[长度],如int[] a=new int[3]表示数组a能容纳3个int型元素。
类型[] 数组名={值,值,值},如 int[] a={1,5,3}表示将1,5,3存入数组a中。

二维数组定义
类型[][] 数组名=new 类型[长度][长度],如int[][] a=new int[3][2]表示这个二维数组中有三个一维数组,每个一维数组有两个元素。二维数组是用来存储一维数组的容器

类型[][] 数组名={{值},{值},{值}},如int[][] y={{1,2},{2,3},{5,1}}

有了数据自然想要对数据进行处理,java中定义了很多数据处理方法并封装成各种类提供给我们使用,当然我们也可以自定义帮助文档将我们定义的方法提供给别人使用。

工具类功能一般都是静态的,这类不需要调用特有数据,也就不需要创建对象。可以把构造函数私有化。要生成帮助文档,类名必须要通过publish修饰,表示这些内容能暴露

Java中的注释语句有

1、//被注释语句

2、/* 被注释语句*/

3、/**被注释语句*/

其中第三种专门为javadoc设计,可被jdk内置的javadoc工具支持和处理生成帮助文档。

注释语句中有些特殊标记,这些标记以@开头举例如下:

@author 作者

@version 版本

@return 返回值类型

@param 参数

@throws 抛出异常

生成帮助文档
javadoc -d help-author -Version ArrayTool.java
-d表示文档目录空着默认为Arraytool.java所在目录后面可以接上自定义目录
help为保存文件夹,当前目录没有,计算机会自动新建,有则直接保存进去
-author -Version作者和版本可不写
ArrayTool.java为需要生成文档的文件
当主函数所在目录下没有调用的工具类执行文件可通过set classpath来设置
set classpath=.(当前目录);set classpath=工具类所在目录


/**
这是一个可以对数组进行操作的工具类,该类中提供了获取最值、排序等功能。
@author 张三
@version V1.1
*/
public class ArrayTool
{
	private ArrayTool(){};
	/**
	获取一个整型数组中的最大值。
	@param arr 接收一个int类型的数组。
	@return 返回一个该数组中的最大值。
	*/
	public static int getMax(int[] arr)
	{
		int max=0;
		for(int x=1;x<arr.length;x++)
		{
			if(arr[max]<arr[x])
			{
				max=x;
			}
		}
		return arr[max];
	}
	/**
	获取一个整型数组中的最小值。
	@param arr 接收一个int类型的数组。
	@return 返回一个该数组中的最小值。
	*/
	public static int getMin(int[] arr)
	{
		int min=0;
		for(int x=1;x<arr.length;x++)
		{
			if(arr[min]>arr[x])
			{
				min=x;
			}
		}
		return arr[min];
	}
	/**
	给整型数组进行选择排序
	@param arr 接收一个int类型的数组。
	
	*/
	public static void selectSort(int[] arr)
	{
		for(int x=0;x<arr.length-1;x++)
		{
			for(int y=x+1;y<arr.length;y++)
			{
				if(arr[x]>arr[y])
					swap(arr,x,y);
			}
		}
	}
	/**
	给整型数组进行冒泡排序
	@param arr 接收一个int类型的数组。
	
	*/
	public static void bubbleSort(int[] arr)
	{
		for(int x=0;x<arr.length-1;x++)
		{
			for(int y=0;y<arr.length-x-1;y++)
			{
				if(arr[y]>arr[y+1])
				{
					swap(arr,y,y+1);
				}
			}
		}
	}
	/**
	顺序查找int数组中某个元素所在位置
	@param arr 接收一个int类型的数组。
	@param x   接收一个int类型的数组元素。
	@return    返回某个元素在数组中角标
	*/
	public static int search(int[] arr,int x)
	{
		for (int y=0;y<arr.length;y++)
		{
			if (arr[y]==x)
				return y;
		}
		return -1;
	}
	/**
	折半查找int数组中某个元素所在位置
	@param arr 接收一个int类型的数组。
	@param x   接收一个int类型的数组元素。
	@return    返回某个元素在数组中角标
	*/
	public static int halfSearch(int[] arr,int x)
	{
		int min=0,max=arr.length,mid=(min+max)/2;
		while(min<=max)
		{
			if (x==arr[mid])
				return mid;
			else if(x<arr[mid])
				max=mid-1;
			else if(x>arr[mid])
				min=mid+1;
			mid=(min+max)/2;
		}
		return -1;
	}
	/**
	往有序数组中某处插入一个元素使得数组保持有序
	@param arr 接收一个int类型的数组。
	@param x   接收一个int类型的数。
	@return    返回某个元素在数组中角标
	*/	
	public static int order(int[] arr,int x)
	{
		int min=0,max=arr.length,mid=(min+max)/2;
		while(min<=max)
		{
			if (x==arr[mid])
				return mid;
			else if(x<arr[mid])
				max=mid-1;
			else if(x>arr[mid])
				min=mid+1;
			mid=(min+max)/2;
		}
		return min;
	}
	
	/**
	用于打印数组的元素,打印格式为{element,element,...}
	@param arr 接收一个int类型的数组。
	*/
	public static void show(int[] arr)
	{
		System.out.print("{");
		for (int x=0;x<arr.length;x++)
		{
			if(x!=arr.length-1)
				System.out.print(arr[x]+",");
			else
			System.out.println(arr[x]+"}");
		}
	}
	/**
	给数组中元素进行位置的置换。
	@param arr 接收一个int类型的数组。
	@param x   要置换的位置。
	@param y   要置换的位置。
	*/	
	private static void swap(int[] arr,int x,int y)
	{
		int temp;
		temp=arr[x];
		arr[x]=arr[y];
		arr[y]=temp;
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值