初始化数组的格式:
类型标识符 数组名[] = new 类型标识符[数组长度];
类型标识符 数组名[] = {初始值列表};
类型标识符 数组名[] = null;
数组名 = new 类型标识符[数组长度];
一维数组的实现
public static void main16() {
int week[] = new int[7];
for(int i = 0;i < week.length; i++){
week[i] = i + 1;
}
for (int j = 0;j < week.length; j++){
System.out.println("星期:" + week[j] + "");
}
}
声明二维数组:
数据类型 数组名[][] = null;
数组名 = new 数据类型[行长度][列长度];
数据类型 数组名[][] = new 数据类型[行长度][列长度];
二维数组的实现
public static void main17() {
double score[][] = {{89,92,85},{76,86,68},{58,71,79}};
double average[] = new double[3];
double temp = 0;
for (int i = 0; i < score.length; i++)
{
temp = 0;
for(int j = 0; j < score.length; j++)
{
temp += score[i][j];
}
average[i] = temp / 3.0;
}
for(int i = 0; i < average.length; i++)
{
System.out.println("第" + (i + 1) + "个学生的平均成绩:" + average[i]);
}
}
用Java实现冒泡排序
算法思想:
1.比较相邻的元素。如果第一个比第二个大(升序排序),就交换它们两个。
2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。这一步做完后,最后的元素会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
public static void main18()//冒泡法排序
{
int a[] = {13,16,32,26,12};
for (int i = 0; i < a.length-1; i++) {
for(int j = 0; j< a.length-i-1; j++) {
if(a[j] > a[j+1]) {//确保较大的元素向数组的尾部移动
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
}
用Java实现选择排序
算法思想:
1.遍历未排序部分,每次找到当前未排序部分的最小元素
2.将其与未排序部分的第一个元素交换位置
3.以此类推,直到整个数组排序完成
public static void main19() {//选择法排序
int a[] = {13,16,32,26,12};
for (int i = 0; i < a.length-1; i++) {
int k = i;
for(int j = i + 1; j< a.length; j++)
{
if(a[k] > a[j]) {
k = j;//查找未排序部分中的最小元素,并将其下标保存在变量 k 中
}
if(i != k) {//执行交换操作,将最小元素与当前未排序部分的第一个元素进行交换
int temp = a[k];
a[k] = a[i];
a[i] = temp;
}
}
}
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
}