当前位置:网站首页>数组操作增,删,改,查
数组操作增,删,改,查
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+" ");
}
边栏推荐
- 移动端video兼容你需要知道的几点
- ShardingSphere-JDBC 关键字问题
- Is flush reliable? I just started to learn financial management. Is it safe to open a securities account?
- Household deposits increased by 10.33 trillion yuan in the first half of the year, with an average of 57.1 billion deposits pouring into banks every day
- numpy.put()
- Design of intelligent weighing system based on Huawei cloud IOT (STM32) [i]
- 会议OA之会议排座&送审
- Summary of iPhone development data persistence (final) - Comparison of five data persistence methods
- 银行业概览
- .NET GC工作流程
猜你喜欢
随机推荐
go+mysql+redis+vue3简单聊室,第5弹:使用消息队列和定时任务同步消息到mysql
JWT 实现登录认证 + Token 自动续期方案,这才是正确的使用姿势!
安全测试初学体验
Latte dht-phev products are very popular. Will the sales volume make Li Ruifeng figure it out?
EFCore Migrations的深入研究
试用了多款报表工具,终于找到了基于.Net 6开发的一个了
【机器学习】变量间的相关性分析
【OBS】Dropped Frames And General Connection Issues
银行业务分类
福建争抢VC/PE
一文看懂中国的金融体系
Is flush reliable? I just started to learn financial management. Is it safe to open a securities account?
Kingbases SQL language reference manual of Jincang database (16. SQL statement: create sequence to delete)
金仓数据库 KingbaseES SQL 语言参考手册 (14. SQL语句:COMMIT 到 CREATE LANGUAGE)
These 22 drawing (visualization) methods are very important and worth collecting!
罗永浩赌上最后一次创业信用
Dio问题总结
千亿酸奶赛道,乳企巨头和新品牌打响拉锯战
网络与VPC动手实验
Zhongtian steel uses tdengine in GPS and AIS scheduling









