数组
数组是Java语言中的一种引用数据类型,它是一组相同类型的数据的有序集合。适用于集中管理类型相同、用途相近的多个数据。
Java的数组要求所有数组元素具有相同的数据类型。
一旦数组的初始化完成,数组在内存中所占的存储空间将被固定下来,因此数组的长度不可改变。
通过数组元素的索引号(或者说是下角标)来访问数组元素。
数组的维数可以理解为一个数组中数据组合的层次数,只有一个层次的数据组合而成的数组被称为一维数组。
一维数组的结构:10个int型数据组成一维数组s
序号
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
元素名
|
s[0]
|
s[1]
|
s[2]
|
s[3]
|
s[4]
|
s[5]
|
s[6]
|
s[7]
|
s[8]
|
s[9]
|
元素值
|
56
|
67
|
32
|
85
|
35
|
97
|
45
|
64
|
80
|
78
|
数组的长度:S数组中的元素个数
数组元素的访问:数组名[元素下标]
一维数组的声明
格式:类型名 变量名[]; 或类型名[] 变量名;
例如,int[]arr; double salary[];
String[] args; Student s[];
声明了数组类型变量,运行时系统只为引用变量分配引用空间,并没有创建对象,也不会为数组元素分配空间,因此尚不能使用任何数组元素。
声明数组类型变量时不允许指定数组的长度:
int[3] a; ×
数组对象的创建和使用
在Java语言中通常使用关键字new创建数组对象,其语法格式为:new 类型名[n]
例如,int [] arr;
arr=new int[3];
访问数组元素的格式:数组名[元素下标]
例如,arr[0]=55; arr[1]=78;arr[2=arr[0]+arr[1];
数组对象的length属性
数组对象拥有一个有系统自动提供的特殊属性length(以只读的方式给出数组的长度),该属性为int类型,可直接访问,在遍历数组元素时非常有用。
例如,for(inti;i<arr.length;i++) …
注意:Java 语言中数组长度并不属于其数据类型的组成部分,一个声明为int[]类型的变量a 可以指向一个长度为3的int[] 类型数组对象,也可以指向一个长度为5的int[] 类型数组对象,例如,int[] a; a=newint[3]; a=new int[5]; p
数组的静态初始化
如果在创建数组对象时已能确定其各元素的值,则可采用一种简化的书写方法来创建和初始化数组对象。
例如,int a[]={12,9,36};
例如,引用类型数组的静态初始化为:
Point[] p={ new Point(3,5),
new Point(-4,9),
new Point(2,-9),
new Point(-5,-2) }; //6行代码是一条语句
1.定义一功能,获取数组中的最大值。
class Max
{
public int getMax(int[] arr)
{
int max = 0;
for (int i = 0; i < arr.length ; i++ )
{
if (arr[i]>max)
{
max = arr[i];
}
}
return max ;
}
}
class TestMax
{
public static void main(String[] args)
{
int[] arr = {1,5,2,6,9,4};
Max m = new Max();
System.out.println(m.getMax(arr));
}
}
2.对数组进行排序:选择排序,冒泡排序。
class Sort
{
//选择排序
public 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])
{
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
}
//冒泡排序
public void bubbleSort(int[] arr)
{
for (int x = 0; x < arr.length ; x++ )
{
for (int y = 0; y < arr.length-x-1 ; y++ )
{
if (arr[y]>arr[y+1])
{
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}
}
//遍历
public void printArry(int[] arr)
{
for (int i = 0; i < arr.length ; i++ )
{
if (i < arr.length-1)
{
System.out.print(arr[i]+",");
}else{
System.out.println(arr[i]);
}
}
}
}
class TestSort
{
public static void main(String[] args)
{
Sort s = new Sort();
int[] arr = {1,5,2,6,9,4};
System.out.print("排序前:");
s.printArry(arr);
//s.selectSort(arr);
s.bubbleSort(arr);
System.out.print("排序后:");
s.printArry(arr);
}
}
分享到:
相关推荐
车牌识别项目
python、yolo
Ollama本地模型对话、选择本地文件、本地图像对话 1、新增根据聊天记录回复的功能。 2、优化了部分ViewModel,将对应Model字段、属性移到Model中,方便后续扩展。 3、新增读取外部数据回复问题功能,目前支持txt文件。 4、新增添加图片提问题功能,模型需要支持视觉(如:minicpm-v:latest)。 5、优化了类结构,创建对应的Model(MainWindowModel),将所有字段、属性移到Model。 6、新增聊天记录窗体,修改了窗体加载时,加载聊天记录的功能。将其拆分成一个视图。 7、移除了折叠栏功能,更新为Grid区域的显示与隐藏。 将聊天记录列表从主窗体中分离)。 8、更新记录文件加载功能,显示提问日期。 新增选择文件类型设置预览图标。 9、新增功能,新聊天后第一次提问完成后,保存的记录刷新到记录列表、记录删除功能。 10、新增功能,创建新窗体判断显示Ollama服务运行状态。
车牌识别项目
人工智能、大语言模型相关学习资料
车牌识别项目
图像处理项目实战
P+F安全栅组态软件
图像处理项目实战
图像处理项目实战
车牌识别项目
COMBAT FURY.7z
车牌识别项目
系统选用B/S模式,后端应用springboot框架,前端应用vue框架, MySQL为后台数据库。 本系统基于java设计的各项功能,数据库服务器端采用了Mysql作为后台数据库,使Web与数据库紧密联系起来。 在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
车牌识别项目
这是第2402节课的内容,作为复习资料
采用最新OCR引擎结合优化算法,使得识别性能极大提升!给广大文字工作者带来了福音......
车牌识别项目
系统选用B/S模式,后端应用springboot框架,前端应用vue框架, MySQL为后台数据库。 本系统基于java设计的各项功能,数据库服务器端采用了Mysql作为后台数据库,使Web与数据库紧密联系起来。 在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
车牌识别项目