java学习第九章(数组)

2019-02-26  本文已影响0人  锋叔

数组

int[] array = {10, 20, 30, 40};
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[3]);

数组的循环

for (int i = 0; i < array.length; i++) {
    System.out.println(array[i]);
}

数字12345倒序打印

int a = 12345;
String b = a + "";
char[] array1 = b.toCharArray();
for(int i = array1.length-1; i >= 0; i--) {
    System.out.print(array1[i]);
}
// => 54321
// 后续会更加简单
StringBuffer sb = new StringBuffer(b);
System.out.println(sb.reverse());
// => 54321

二维数组

// 二维数组
char[][] array2 = {
    {'q', 'w', 'e'},
    {'x', 'y', 'z'}
};
System.out.println(array2[0][1]);
System.out.println(array2[1].length);
// w
// 3
for (int i = 0; i < array2.length; i++) {
    for (int j = 0; j < array2[i].length; j++) {
        System.out.print(array2[i][j]);
    }
    System.out.println();
}
// qwe
// xyz

数组找到最大值

int[] array = {10, 40, 50, 51, 5,0, -1};
int max = array[0];
for (int i = 0; i < array.length; i++) {
    if (max < array[i]) {
        max = array[i];
    }
}
System.out.println(max); // => 51

数组的排序(冒泡算法)

// 替换
int a = 10;
int b = 20;
int temp;
temp = a; // temp 保存 a 的值 = 10
a = b; // a 交换b的值 = 20
b = temp; // b 得到temp保存的a的值 = 10
System.out.println("a="+a);// 20
System.out.println("b="+b);// 10
int[] array2 = {2, 10, 5, 3, 1, 11, -99, 99, 9, 0, 4};
for(int i = 0; i < array2.length; i++) {
    for (int j = 0; j < array2.length; j++) {
        if (array2[j] > array2[i]) {
            int temp2 = array2[i];
            array2[i] = array2[j];
            array2[j] = temp2;
        }
    }
}
for (int i = 0; i < array2.length; i++) {
    System.out.println(array2[i]);
}
// -99,0,1,2,3,4,5,9,10,11,99
int[] array3 = {1, 0, 5, 10, -3, 99};

Arrays.sort(array3);

for (int i = 0; i < array3.length; i++) {
    System.out.println(array3[i]);
}
// -3,0,1,5,10,99,

数组练习

Scanner input = new Scanner(System.in);
System.out.println("请输入五位学生的分数:");
float[] array4 = new float[5];
float sum = 0;
for(int i = 0; i < 5; i++) {
    float score = input.nextFloat();
    array4[i] = score;
    sum = sum + score;
}
System.out.println("学生的平均分数是:" + sum/5 + "分");
Arrays.sort(array4);
float maxNum = array4[4];
System.out.println("学生的最高分数是:" +maxNum + "分");

// 插入一个数字
Scanner input1 = new Scanner(System.in);
System.out.println("多添加一个学生的成绩:");
float newNum = input1.nextFloat();
// 新new一个数组,且位数比上一个多一
int len = array4.length + 1;
float[] array5 = new float[len];
for (int i = 0; i < 5; i++) {
    array5[i] = array4[i];
}
array5[len-1] = newNum;
Arrays.sort(array5);
for (int i = 0; i < 6; i ++) {
    System.out.print(array5[i] + "\t");
}
image.png
上一章 目录 下一章
上一篇 下一篇

猜你喜欢

热点阅读