2019.1.3 任务

作业链接:

一、笔记

 数组是一个变量,存储相同数据类型的一组连续数据

数组基本要素:标识符、数组元素、元素下标(从0开始)、元素类型 

数据类型 []数组名=new 数据类型[数组长度];

数据类型 数组名[]=new 数据类型[数组长度];

"[数组长度]"决定连续分配的空间的个数,通过数组length属性可获取此长度

数组的数据类型用于确定分配的每个空间的大小

数据类型 []数组名={值1,值2,值3,...,值n}

数据类型 []数组名=new 数据类型[]{值1,值2,值3,...,值n}

数组使用步骤:声明数组、分配空间、赋值、处理数据

面试题:堆和栈的区别:

堆存放的是地址,由程序员自己分配

栈存放的是值,由系统分配

二、作业

package com.homework;

import java.util.Scanner;
/**
 * 2018.1.3
 * @author 宇
 * 2018-1-3
 */
public class Sort {
    public static void main(String[] args) {
        int[] scores = new int[6];                 //声明一个长度为6的数组
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入学生成绩;"); 
        for(int i=0;i<scores.length-1;i++) { 
            scores[i]=sc.nextInt();                //键盘输入数组元素
        } 
        System.out.println("排序前");
        for(int score : scores) {                  //输入的数组元素列出来
            System.out.print(score+" ");
        }
        System.out.println();
        //冒泡排序
        for(int i=0;i<scores.length-1;i++) {       //需要排序的轮数
            for(int j=0;j<scores.length-i-1;j++) { //每轮比较的次数
                int temp;
                if(scores[j]<scores[j+1]) {        //先前两个比较,值大的换到后面,大的值再和下一个比较
                    temp = scores[j];
                    scores[j] = scores[j+1];
                    scores[j+1] = temp;
                }
            }
        }
        System.out.println("排序后:");              
        for(int score : scores) {                  //再将排序后的数组列出来
            System.out.print(score+" ");
        }
        System.out.println();    
        //用输入的成绩跟数组中每一个元素比较,当输入的成绩大于某个值时,
        //这个值的位置,就是输入的成绩应该在的位置,也就是找到输入成绩应该的下标
        System.out.println("请输入添加学生成绩:");
        int addScore = sc.nextInt();               
        int index=scores.length-1; 
        for(int i=0;i<scores.length;i++) { 
            if(addScore>scores[i]) {
                index=i;                           //找到输入成绩应在的下标
                break;
            }
        }
        for(int i = scores.length-2;i>=index;i--) {//从倒数第二个值开始,每一个往后赋值,直到找到的下标
            scores[i+1] = scores[i];
        }
        scores[index] = addScore;                  //将添加的成绩赋值给找到的下标所对应值
        System.out.println("插入一个学生的成绩后:");
        for(int score : scores) {                  //再将插入数据后重新排列后的数组元素列出来
            System.out.print(score+" ");           
        }
        System.out.println();
    }
}

 

posted @ 2019-01-03 20:38  毕家唆  阅读(104)  评论(0编辑  收藏  举报