今天讲课的内容主要是数组的增删改查.关于数组的基础知识:
数组概念:存放一组相同数据类型的变量:只能存放一个值
* 特点:数组中的每一个值都有一个下标值(序号)
* 注意:下标值是从0开始
*
* 数组的定义方式:
* 有三种方式:
* 第一种:int[] arr=new int[4];//4代表数组里数据的个数,不是下标最大值
* int arr=10;//数组里只有一个数时
*
* 第二种:
* int[] arr={10,20,30}:定义一个Int类型的数组,然后赋值{10,20,30}
* 这就说明数组长度为3
*
* 第三种:
* int[] arr=new int[]{10,20,30}
* int数组默认都是0
* double数组默认都是0.0
* boolean数组默认都是false
* String数组默认都是null
数组的增删改查
练习1:
随机生成一个0~1000的整数,并赋值给数组,代码如下
public static void main(Sting[] args){
int arr[] = new int[6];
for(int i=1;i<6;i++){
arr[i] = (int)(Math.random()*1000);
}
system.out.println(Arrays.toString(arr));
}
练习2:给定一个数组,长度是6,然后随机往这个数组中放入6个两位的整数,找出这个数组中最大的值与最小的值,并打印,然后调换两个值得位置
public static void main(String[] args) {
int arr[]=new int[6];
for(int i=0;i<arr.length;i++){
arr[i]= (int)(Math.random()*90+10);
}
int max=arr[0];
int min=arr[1];
int index = -1;
int index1 = -1;
int temp = 0;
for(int i=0;i<arr.length;i++){
if(arr[i]>=max){
max =arr[i];
index = i;
}
if(arr[i]<=min){
min = arr[i];
index1 =i;
}
}
System.out.println(Arrays.toString(arr));
System.out.println("最大值为:"+max);
System.out.println("下标为:"+index);
System.out.println("最小值为:"+min);
System.out.println("下标为:"+index1);
temp = arr[index1];
arr[index1] = arr[index];
arr[index] = temp;
System.out.println(Arrays.toString(arr));
}
练习3:已知一个数组arr={30,10,20}随机生成一个整数两位的整数50;
将这个数插入到第二个位置变成 arr={30,50,10,20,},该题主要考察数组增加一个数
public static void main(String[] args) {
int arr[] = {30,10,20};
arr=Arrays.copyOf(arr, arr.length+1);
for(int i=arr.length-1;i>1;i--){
arr[i]=arr[i-1];
}
arr[1] = (int)(Math.random()*90+10);
System.out.println(Arrays.toString(arr));
}
练习4:已知一个数组:{11,13,15,16,9}将数组中的15从数组中移除,变成{11,13,16,9}
public static void main(String[] args) {
int arr2[]={11,13,15,16,9};
for(int i=2;i<arr2.length-1;i++){
arr2[i]=arr2[i+1];
}
arr2 = Arrays.copyOf(arr2, 4);
System.out.println(Arrays.toString(arr2));
}
}
每日总结:数组就是一个数字的仓库,方便配合实现数列的运算,目前学习的对数组的操作主要有增删改查,由于数组自带下标,就像军人站队一样,需要几号就从仓库里拿出来几号,无需一一对其命名,十分方便.对数组的遍历就是一次报数,用syso(Arrays.toString)语句即可输出,扩充和缩减数组长度用arr = Arrays.CopyOf(arr,3)这个语句,它的意思是复制一个数列又赋值给自身,长度不够会在结尾补默认值,长度太长会从末尾减掉相应个数,以此达到目的.