当前位置:网站首页>数组操作增,删,改,查
数组操作增,删,改,查
2022-07-26 19:22:00 【抬眼远望】

增加数组元素:即向数组中插入一个新元素值
操作过程:
1)新建一个比原来数组长度大1的数组;
2)将原来数组里的元素按照顺序依次存储到新的数组中
3)输入要增加的元素值,以及插入的位置(即数组下标)
4)从插入位置开始及之后的元素依次往后移动一位(注意:移动的时候,从后向前移动)
5)移动元素之后,插入位置就空出来了,将插入元素存储到插入位置
/* 有一组学员的成绩{99,85,82,63, 60}。要增加一个学员的成绩,将它插
* 入成绩序列
*
*思路:
* 1)新建一个比原来数组长度大1的数组
* 2)将原来数组里的元素按照顺序存储到新的数组中
* 3)使用Scanner获取你要增加的学员成绩,以及插入的位置(下标)
* 4)从插入位置开始及之后的元素依次往后移动一位(注意:移动的时候,从后向前移动)
* 5)移动元素之后,插入位置就空出来了,将插入元素存储到插入位置
*/
int[] scores={99,85,82,63,60};
// 1)新建一个比原来数组长度大1的数组
int[] newScores= new int[scores.length+1];
// 2)将原来数组里的元素按照顺序存储到新的数组中
for (int i = 0; i < scores.length; i++) {
newScores[i]=scores[i];
}
//3)使用Scanner获取你要增加的学员成绩
Scanner sc =new Scanner(System.in);
System.out.println("请输入插入的数字:");
int insert =sc.nextInt();
//在数组第一个位置插入新同学的成绩
int index=0;
//4)从插入位置开始及之后的元素依次往后移动一位(注意:移动的时候,从后向前移动)
for(int i=newScores.length-1;i>index;i--){
newScores[i]=newScores[i-1];
}
//5)移动元素之后,插入位置就空出来了,将插入元素存储到插入位置
newScores[index]=insert;
//插入元素之后,遍历数组
for (int i = 0; i < newScores.length; i++) {
System.out.print(newScores[i]+" ");
}
删除数组元素
操作过程:
1)确定删除需要删除元素的指定位置(即下标)
2)从删除位置之后的元素依次往前移动一位
3)最后一位元素值赋予对应类型的初始值
//删除数组里的元素
int[] nums={11,25,96,65,49,78,95};
System.out.println("删除元素之前的数组:");
for (int i = 0; i < nums.length; i++) {
System.out.print(nums[i]+" ");
}
System.out.println();
//删除指定位置的元素
Scanner sc =new Scanner(System.in);
System.out.println("请输入你要删除的元素位置(下标)(0-6)");
int index=sc.nextInt();
//从删除位置之后的元素依次往前移动一位
for (int i = index; i < nums.length-1; i++) {
nums[i]=nums[i+1];
}
//最后一位元素值赋予对应类型的初始值
if(index>=0&&index<7){
nums[nums.length-1]=0;
}
System.out.println("删除元素之后的数组:");
for (int i = 0; i < nums.length; i++) {
System.out.print(nums[i]+" ");
}
改变数组元素的值
操作过程:
数组名 [下标] = 修改的值;
查找数组元素:
操作过程:
查找数组单个元素:
System.out.println(数组名 [下标] = 修改的值) ;
查找数组所有元素(即遍历):
普通for循环
for(int i =0;i<数组名.length;i++){
System.out.println(数组名[i]);
}
增强for循环
for(数据类型 变量名 : 数组名){
System.out.println(变量名);
}
int[] nums={25,31,98,15,47,34,75,84,65,61,72,86,15,45,79,94,31,57};
//获取数组中元素的个数:数组名.length
int size=nums.length;
System.out.println("nums数组中元素的个数是:"+size);
//遍历:按照元素在数组中的顺序输出
for (int i = 0; i < nums.length; i++) {
System.out.print(nums[i]+" ");
}
System.out.println();
//遍历还可以使用增强for循环来进行遍历
/*
* for(数据类型 变量名:数组名){
* }
*
* 执行规律:按照数组中元素的顺序依次将元素取出来存入到变量a中,
* 这时候操作变量a就相当于操作数组里的元素
*/
for(int a:nums){
System.out.print(a+" ");
}
边栏推荐
- STM32F103有源蜂鸣器驱动程序
- 高瓴加入的PRI,君联、华控、盛世、绿动等百家机构都杀进去了
- Leetcode daily practice - 26. Delete duplicates in an ordered array
- EFCore Migrations的深入研究
- 事务回滚,同时记录异常信息
- Is it safe for CSCI qiniu school to open an account? What is qiniu for
- N圆最密堆积、最小外接正方形的matlab求解(二维、三维等圆Packing 问题)
- DevSecOps,让速度和安全兼顾
- numpy.put()
- TableWidget
猜你喜欢

Software testing - what are the automated testing frameworks?

福建争抢VC/PE

How to build a super interface collaboration platform: count the six weapons of apifox

N圆最密堆积、最小外接正方形的matlab求解(二维、三维等圆Packing 问题)

Decompile jar files (idea environment)

网红辣条抓不住年轻人

DevOps 实践多年,最痛的居然是?

eadiness probe failed: calico/node is not ready: BIRD is not ready: Error querying BIRD: unable to c

three. JS tag and pop-up the earth

低代码工具有哪些特色?明眼人都能看出来的低代码两大发展轨迹!
随机推荐
UE5编辑器Slate快速入门【开篇】
一个开源的网页画板,真的太方便了
20220725树状数组入门反思
金仓数据库 KingbaseES SQL 语言参考手册 (15. SQL语句:CREATE MATERIALIZED VIEW 到 CREATE SCHEMA)
N圆最密堆积、最小外接正方形的matlab求解(二维、三维等圆Packing 问题)
EFCore Migrations的深入研究
2000字助你精通防抖与节流
会议OA之会议排座&送审
金仓数据库 KingbaseES SQL 语言参考手册 (17. SQL语句: DISCARD 到 DROP LANGUAGE)
KVM virtualization
.NET GC工作流程
C asynchronous programming read this article is enough
有点酷,使用 .NET MAUI 探索太空
numpy.newaxis
Is flush reliable? I just started to learn financial management. Is it safe to open a securities account?
计算机组成原理常见面试题目总结,含答案
京东荣获中国智能科学技术最高奖!盘点京东体系智能技术
【Pytorch基础】torch.stack()函数解析
一年卖7亿,德州扒鸡赶考IPO
模拟身份验证