数组---一维数组
##一维数组##
什么是数组
相同数据类型的数据的集合
基本概念
元素:数组的内容
下标:标识数组的唯一索引(脚标)。从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)
-
查看:R(Retrieve)(遍历)
for (int i = 0; i < arr.length; i++){
System.out.print(arr[i] + ","); // 遍历
} -
增加: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("无法增加");
} -
删除: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("无法删除");
} -
改: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文档的使用

浙公网安备 33010602011771号