`
piperzero
  • 浏览: 3594019 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

11级_Java_曹建波4.17 数组

 
阅读更多

数组

数组是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);
}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics