JAVA第四章

数组

 笔记:

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

数组基本要素:标识符、数组元素、元素下标(从0开始)、元素类型
数组长度固定不变,避免数组越界

使用数组
1、声明数组 int[ ]a;
2、分配空间 a=new int[5];
3、赋值 a[0] = 8;
4、处理数据 a[0] = a[0]*10;

数据类型[] 数组名 = new 数据类型[大小];
数据元素根据类型不同,有不同的初始值

异常笔记

数组越界:
java.lang.ArrayIndexOutOfBoundsException:2
案例:
int[]scores = new int[2];
scores[0] = 90;
scores[1] = 85;
scores[2] = 65;
System.out.println(scores[2]);
java.lang.ArrayIndexOutOfBoundsException:2
出现的原因:定义的数组长度为2,数组下标只能到1
解决方案:a、把定义的长度改为3。b、把scores[2]=65;删除

作业:

package com.Eightjava;

import java.util.Scanner;

public class Zuoye1 {
    //数组插入一个值升序排列
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] shuzu =new int[7];
        //定义一个长度为7的数组
        shuzu[0]=11;
        shuzu[1]=15;
        shuzu[2]=18;
        shuzu[3]=21;
        shuzu[4]=26;
        shuzu[5]=30;
        System.out.println("未插入值前的排序");
        for(int shuzus:shuzu) {
            //加强for循环,输出未插入值前的排序
            System.out.print(shuzus+" ");
        }
        System.out.println("
请输入要插入的值:");
        int zengjia = sc.nextInt();
        //输入一个要插入的值
        int xiabiao = -1;
        //定义下标
        for(int i=0;i<shuzu.length;i++) {
            //寻找输入的值要插入的数组的下标
            if(zengjia<shuzu[i]) {
                xiabiao =  i;
                break;
            }
        }
        for(int i=shuzu.length-2;i>=xiabiao;i--) {
            //将寻找到下标后面的所有数组值依次替换到后面的数组空间
            shuzu[i+1] = shuzu[i];
        }
        shuzu[xiabiao] = zengjia;
        //将寻找到的下标上的数组值替换成输入的值
        System.out.println("插入增加的数,按升序排列:");
        for(int shuzus:shuzu) {
            System.out.print(shuzus+" ");
        }
    }

}

原文地址:https://www.cnblogs.com/qq993411626------/p/10217521.html