您的位置:首页 > 编程语言 > Java开发

Java基础复习---数组

2016-10-09 20:12 211 查看
数组基础

把数组看作是一个同类型变量的集合,在同一个数组中的所有数据都有相同的数据类型,并且使用统一的数组名,通过下标来区分数组中各不同的元素

创建数组

数组的声明格式:

ArrayType ArrayName[ ];

ArrayType [ ] ArrayName;// 适用于对多个数组进行声明

例如:int array[ ];

    int [ ] array1,array2;

分配内存空间:使用new为声明的数组进行空间分配   array1 = new int[5];

数组的初始化

使用new的方式或使用大括号的方式

int array1 [ ] = new int[ ] { 1,2,3,4,5,6,7,8};  先创建一个数组,然后将括号里的值赋值给这个数组

int array [ ] = {1,2,4,5,6,7}将括号里的值赋值给一个创建好的数组

通过array.length方法获得数组的长度,即数组名.length

数组的使用

在进行数组复制时,可以直接将一个数组变量复制给另一个,这时候数组类型变量都会指向同一个数组。复制语句:array1 = array2元素

数组的排序

选择排序:对长度i的数组进行i遍遍历,第一遍遍历出最大的数组元素和数组第一个元素交换,第二遍将最大的和第二个元素交换,遍历n遍后,就会将所有的元素从大到小排序。

package ch01;

public class ChooseSortTest {
public static void main(String[] args) {
// 创建一个需要进行选择排序的数组
int a[] = new int[] { 1, 3, 5, 2 };
System.out.println("需要排序的数组:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}

System.out.println();

int key;// 记录选择排序开始时位置的值
int index;// 记录选择排序开始比较时的位置
int temp;// 完成将最小值交换到第一个位置时的中间量
// 进行选择排序:最后数值从小到大排列
// 先从第一个位置a[0]开始,以此类推
for (int i = 0; i < a.length; i++) {
index = i;
key = a[i];
for (int j = i; j < a.length; j++) {
if (a[j] < key) { // 直到找到比第一个位置小的数
index = j; // 记录此时小数的位置
key = a[j]; // 记录此时小数的值
}
}// 与第一个位置的数进行交换
temp = a[i];
a[i] = a[index];
a[index] = temp;
}
// 输出排序好的数组
System.out.println("排序后的数组:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}

}
}


冒泡排序:

package ch01;

public class MaopaoTest {
public static void main(String[] args) {
// 先创建一个需要排序的数组
int test[] = new int[] { 2, 4, 5, 6, 1 };
System.out.println("需要排序的数组:");
// 依次遍历输出
for (int i = 0; i < test.length; i++) {
System.out.print(test[i] + " ");
}
int temp;// 定义一个冒泡时的中间位置
System.out.println();
// 进行冒泡排序:由小到大
for (int i = 0; i < test.length; i++) {
for (int j = i; j < test.length; j++) {
if (test[j] < test[i]) {
temp = test[i];
test[i] = test[j];
test[j] = temp;
}
}
}
System.out.println("进行冒泡排序后的数组:");
for (int i = 0; i < test.length; i++) {
System.out.print(test[i] + " ");
}
}
}


多维数组

是指使用多个索引来访问数组元素,它适用于表示表或其他比较复杂的内容

声明一个多维数组,需要一组括号来制定它的下标:int[ ][ ] Two = new int [5][5]

声明完成后,就需要对数组进行赋值:Two = {{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5} }

对多维数组也可以使用for循环进行:

<span style="white-space:pre">					</span>for(int i=0;i<Two.length;i++){
<span style="white-space:pre">					</span>for(int j=0;j<Two[i].length;j++)
<span style="white-space:pre">					</span>Two[i] [k] = k++;
<span style="white-space:pre">					</span>}
实例:
package ch01;

public class TwoTest {
public static void main(String[] args) {

int[][] Two = new int[3][3];
int k = 1;
for (int i = 0; i < Two.length; i++) {
for (int j = 0; j < Two[i].length; j++)
Two[i][j] = k++;
}

System.out.println("输出Two数组");

for (int i = 0; i < Two.length; i++) {
for (int j = 0; j < Two[i].length; j++) {
System.out.print(Two[i][j] +" ");
}
System.out.println();
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: