美文网首页
java学习第九章(数组)

java学习第九章(数组)

作者: 锋叔 | 来源:发表于2019-02-26 20:41 被阅读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
上一章 目录 下一章

相关文章

  • java学习第九章(数组)

    数组 数组的循环 数字12345倒序打印 二维数组 二维数组的循环 数组找到最大值 数组的排序(冒泡算法) 变量交...

  • javaSE总结02

    学习周期 2018.9.20-9.28 学习概括 学习了java中的数组和对象数组 学习了eclipse的断点调试...

  • java数组学习

    数组存储方式: 数组引用变量是存放在栈内存(stack)中,数组元素是存放在堆内存(heap)中,通过栈内存中的指...

  • Java学习数组

    一、数组 同一种数据类型的集合,数组中每个数据称为元素。在java中数组也是对象,数组中的元素可以是任意类型(包括...

  • 从Android到Java(二)

    Java基础知识填坑继续。 Java 集合与泛型 数组 VS ArrayList 数组大概是我们学习任何语言时接触...

  • 浅谈Java中的Set、List、Map的区别

    就学习经验,浅谈Java中的Set,List,Map的区别,对JAVA的集合的理解是想对于数组: 数组是大小固定的...

  • Java的基础知识学习完结篇

    Java的基础知识学习完结篇 (1)数组变量:直接初始化数组{},具有可扩展性。(new创建的数组默认0);数组变...

  • Java学习之数组

    数组学习之思维导图

  • Java学习之数组

    标签: java 数组 声明数组语法: 声明并开辟数组: 数组的数据类型 数组是引用类型。 动态初始化数组 先开辟...

  • Java学习之数组

    一、概述: 1、定义:数组是一种数据结构,用来存储同一类型值的集合。简单来说,就是一个存放同种类型的容器。2、使用...

网友评论

      本文标题:java学习第九章(数组)

      本文链接:https://www.haomeiwen.com/subject/biizyqtx.html