数组---一维数组

##一维数组##

什么是数组

相同数据类型的数据的集合

基本概念

元素:数组的内容

下标:标识数组的唯一索引(脚标)。从0开始

长度:数组的元素的个数(length)

初始小标:0

结束下标:length-1

数组的特点

数据类型相同,长度不可变,数组的从大到小的排序没有方法需自己写

数组的声明 3种

int [] array = {1,2,3,4,5,6};  //声明的同时赋值
int [] array = new int[6];     //需要赋值
int [] array = new int[]{1,2,3,4,5,6} //不要求掌握

数组赋值

静态赋值

int arr = {1,6,4,8,3}
int arr []  = new int[5];
arr[0] = 3;
arr[1] = 6;
arr[2] = 2;
arr[3] = 8;
arr[4] = 5;

动态赋值

for (int i = 0; i < arr.length; i++){
System.out.print("请输入第"+(i+1)+"个元素的值:");
   arr[i] = input.nextlnt(); // 3
}

数组的应用

数组的默认值

int类型:0

浮点型:0.0

字符型: (空)

布尔型:false

String:null

基本应用

求最大值/最小值

int [] arr = {1,6,4,8,3};
int max = arr[0]; // arr[0]:数组中的第一个元素一定存在
int min = arr[0];
for (int i = 0; i < arr.length; i++) {
if(arr[i] > max) {
max = arr[i];
}
if(arr[i] < min) { min = arr[i];
}
}
System.out.println("最大值:"+max);
System.out.println("最小值:"+min);

求和/平均值

int [] arr = {1,6,4,8,3};
double sum = 0;
for (int i = 0; i < arr.length; i++) {
sum = sum + arr[i];
}
System.out.println("求和:"+sum);
System.out.println("平均值:"+sum/arr.length);

#冒泡排序#

int [] array = {7,6,5,8,0,3,1};
int temp = 0;
for(int i = 0;i < array.length-1;i++){
   for(int j = 0;j < array.length-i-1;j++){
       if(array[j]>array[j+1]){
           temp=array[j];
           array[j]=array[j+1];
           array[j+1]=temp;
      }
  }
}
for(int i = 0; i < array.length;i++){
   System.out.print(array[i]+" ");
}

扩展

十大排序算法:https://www.runoob.com/w3cnote/bubble-sort.html

数组的增删改查(CRUD)

  1. 查看:R(Retrieve)(遍历)

    for (int i = 0; i < arr.length; i++){
    System.out.print(arr[i] + ","); // 遍历
    }
  2. 增加:C(Create)

    String [] name = {"A","B","C","D",null,null};
    int a = -1;
    for(int i = 0 ; i < name.length ; i++){
       if(name[i] == null){
           a = i;
           break;
      }
    }
    if(a != -1){
       name[a] = "E";
       for(int i = 0 ; i < name.length ; i++){
           System.out.print(name[i]+" ");
      }
    }else{
       System.out.print("无法增加");
    }
  3. 删除:D(Delete)

    String [] name = {"A","B","C","D"};
    int a = -1;
    for(int i = 0 ; i < name.length ; i++){
       if(name[i] == "B"){
           a = i;
           break;
      }
    }
    if(a != -1){
       for(int i = a ; i < name.length-1 ; i++){
           name[i] = name [i+1];
      }
       name[name.length-1] = null;
       for(int i = 0 ; i < name.length ; i++){
           System.out.print(name[i]+" ");
      }
    }else{
       System.out.print("无法删除");
    }
  4. 改:U(Update)

    String [] name = {"A","B","C","D",null,null};
    int a = -1;
    for(int i = 0 ; i < name.length ; i++){
       if(name[i] == "D"){
           a = i;
           break;
      }
    }
    if(a != -1){
       name[a] = "E";
       for(int i = 0 ; i < name.length ; i++){
           System.out.print(name[i]+" ");
      }
    }else{
       System.out.print("无法修改");
    }

     

数组的方法

掌握API文档的使用

posted @ 2021-11-18 17:16  ybybyb  阅读(64)  评论(0)    收藏  举报