数组
笔记:
数组是一个变量,存储相同的数据类型的一组数据
数组基本要素:标识符、数组元素、元素下标(从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("\n请输入要插入的值:"); 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