zoukankan      html  css  js  c++  java
  • JAVA基础复习一 对象数组的使用&冒泡法使用示例

    最近工作中,需要写一些基础的代码,然后发现自己的基础很差,代码质量堪忧,就在B站复习了一下Java基础,遇到好的基础知识点,我就把它记录下来,作为复习笔记;

    对象数组的使用、及冒泡法使用示例

    package com.winson.array;
    
    /**
     * @description: 对象数组练习
     * @date: 2020/6/25 18:00
     * @author: winson
     */
    public class ObjectArray {
        public static void main(String[] args) {
            //对象数组
            Student[] stu = new Student[20];
            for (int i = 0; i < stu.length; i++) {
                stu[i] = new Student();
                stu[i].number = i + 1;
                //班级[1, 6]
                stu[i].state = (int) (Math.random() * (6 - 1 + 1));
                //成绩[0, 100]
                stu[i].score = (int) (Math.random() * (100 - 0 + 1));
            }
            for (Student student : stu) {
                System.out.println(student.toString());
            }
    
            /*使用冒泡法,按照学生分数升序排序*/
            System.err.println("--------------使用冒泡法,按照学生分数升序排序--------------");
            for (int i = 0; i < stu.length; i++) {
                for (int j = 0; j < stu.length - 1 - i; j++) {
                    if (stu[j].score > stu[j + 1].score) {
                        //如果需要换序,交换的是数组的元素:Student对象
                        Student temp = stu[j];
                        stu[j] = stu[j + 1];
                        stu[j + 1] = temp;
                    }
                }
            }
            for (Student student : stu) {
                System.out.println(student.toString());
            }
        }
    }
    
    class Student {
        Integer number;
        Integer state;
        Integer score;
    
        @Override
        public String toString() {
            return "{"number" :" + number + ", "state" : " + state + ", "score" : " + score + "}";
        }
    }
    

    关于对象的toString()方法是否重写的作用

    如果我们没有将对象的toString()进行重写,那么控制台输出时,结果为对象在堆中的地址值,如下:
    System.out.println(student);

    结果

    com.winson.array.Student@330bedb4
    com.winson.array.Student@2503dbd3
    com.winson.array.Student@4b67cf4d
    com.winson.array.Student@7ea987ac
    com.winson.array.Student@12a3a380
    com.winson.array.Student@29453f44
    com.winson.array.Student@5cad8086
    com.winson.array.Student@6e0be858
    

    而如果我们再对象中重写其toString()方法,则结果为:

    {"number" :1, "state" : 5, "score" : 97}
    {"number" :2, "state" : 4, "score" : 45}
    {"number" :3, "state" : 1, "score" : 19}
    {"number" :4, "state" : 2, "score" : 98}
    {"number" :5, "state" : 2, "score" : 7}
    {"number" :6, "state" : 2, "score" : 3}
    {"number" :7, "state" : 1, "score" : 27}
    
  • 相关阅读:
    番外篇:生产要素最适投入分析(Optimum input of factors)
    docker 9 :镜像存储机制
    docker 8 : 容器资源限制管理
    docker 7 :docker基本操作
    docker 6:容器之间共享磁盘
    docker 5 :挂载的方式
    docker 4 : 容器数据卷使用
    docker 3:创建镜像
    docker 2:Docker镜像增删改查
    docker 1:Docker安装(CentOS8.0)
  • 原文地址:https://www.cnblogs.com/elnimo/p/13192531.html
Copyright © 2011-2022 走看看