博客概要
复习归纳总结基础理论知识之 数组 的前世今生~
数组概要
所有数组,是有序的元素序列;是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式,这些无序排列的同类数据元素的集合称为数组。数组是用于储存多个相同类型数据的集合。
若将有限个类型相同的变量的集合命名,那么这个名称为数组名。
组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。
用于区分数组的各个元素的数字编号称为下标。
数组操作
定义一个Person数组,向它上下其手进行一系列操作~
数组-定义及初始化
具体代码:
//定义数组
Person[] p=new Person[77];
/**
* 初始化数组
*/
@Override
public void doInit() {
//数据来源
Person p1=new Person(1,"路飞","男");
Person p2=new Person(2,"索隆","男");
Person p3=new Person(3,"娜美","女");
//数据存入数组
p[0]=p1;
p[1]=p2;
p[2]=p3;
}
数组-打印全部
具体代码:
/**
* 打印全部
*/
@Override
public void doPrintAll() {
//输入提示
System.out.println("全体信息:");
//遍历
for (int i = 0; i < p.length; i++) {
//判空
if (p[i]!=null){
//打印输出
System.out.println(p[i]);
}
}
}
运行结果:
![](https://i-blog.csdnimg.cn/blog_migrate/4ab9771bbdad3151d9b40dcf5ebb00ed.jpeg)
数组-新增
具体代码:
写法一:
/**
* 新增
* @param: 键盘输入数据来源你
* @return true 代表成功,false 代表失败
*/
@Override
public boolean doAdd() {
//键盘提示+输入
System.out.print("输入新增编号:");
int aid=in.nextInt();
System.out.print("输入新增姓名:");
String aname=in.next();
System.out.print("输入新增性别:");
String asex=in.next();
//放在一个新数组里
Person person=new Person(aid,aname,asex);
//遍历
for (int i = 0; i < p.length; i++) {
//判断是否已存在
if (p[i]==null){
//数组替换
p[i]=person;
System.out.println();
return true;
}
}
return false;
}
(下同)写法二:
/**
* 新增
*/
@Override
public void doAdd() {
//键盘提示+输入
System.out.print("输入新增编号:");
int aid=in.nextInt();
System.out.print("输入新增姓名:");
String aname=in.next();
System.out.print("输入新增性别:");
String asex=in.next();
//放在一个新数组里
Person pp=new Person(aid,aname,asex);
//遍历
for (int i = 0; i < p.length; i++) {
//判断是否已存在
if (p[i]==null){
//数组替换
p[i]=pp;
System.out.println();
break;
}
}
}
运行结果:
![](https://i-blog.csdnimg.cn/blog_migrate/6854325179d943168d14676725722c9a.jpeg)
数组-删除
具体代码:
/**
* 删除
* @return true 代表成功,false 代表失败
*/
@Override
public boolean doDel() {
//输入提示
System.out.print("输入删除编号:");
int did=in.nextInt();
//遍历
for (int i = 0; i < p.length; i++) {
//匹配判断
if (p[i].getPid()==did){
//赋空值删除
p[i]=null;
System.out.println();
return true;
}
}
return false;
}
运行结果:
![](https://i-blog.csdnimg.cn/blog_migrate/f26333ba97412cee2d3fe17d0f841995.jpeg)
数组-查询(id)
具体代码:
/**
* id查
*/
@Override
public void doSelById() {
//输入提示
System.out.print("输入查询编号:");
int sid=in.nextInt();
//遍历
for (int i = 0; i < p.length; i++) {
//匹配判断
if (p[i].getPid()==sid){
System.out.println("查询结果:");
//输出查询结果
System.out.println(p[i]);
System.out.println();
break;
}
}
}
运行结果:
![](https://i-blog.csdnimg.cn/blog_migrate/eebee0aeb62e7eef00ca6e69e5dbb718.jpeg)
数组-修改
具体代码:
/**
* 修改
* @return true 代表成功,false 代表失败
*/
@Override
public boolean doUpd() {
//输入提示
System.out.print("输入修改编号:");
int uid=in.nextInt();
//遍历
for (int i = 0; i < p.length; i++) {
//匹配判断
if (p[i].getPid()==uid){
System.out.print("修改姓名:");
String uname=in.next();
//将键盘输入的值set重置数组中的值
p[i].setName(uname);
System.out.print("修改性别:");
String usex=in.next();
p[i].setSex(usex);
//提示输出修改后数组
System.out.println("修改结果:");
System.out.println(p[i]);
System.out.println();
return true;
}
}
return false;
}
运行结果:
![](https://i-blog.csdnimg.cn/blog_migrate/fa86944af3230a8a410bf1dad7ae0b7e.jpeg)
数组-增删改查-集成
具体代码:
public void Menu() {
boolean flag = true;
while (flag) {
//初始化
psi.doInit();
//系统提示
System.out.println("***************欢迎使用系统***************");
System.out.println("-------1.新增\t2.删除\t3.id查\t4.修改\t5.全查\t6.退出系统-------");
System.out.print("--------------请选择菜单(1-5):");
//输入操作
int a = in.nextInt();
switch (a) {
case 1:
psi.doAdd();
System.out.println();
break;
case 2:
psi.doDel();
System.out.println();
break;
case 3:
psi.doSelById();
System.out.println();
break;
case 4:
psi.doUpd();
System.out.println();
break;
case 5:
psi.doPrintAll();
System.out.println();
break;
case 6:
System.exit(0);
break;
default:
break;
}
System.out.print("是否继续(Y/N):");
String str = in.next();
if (str.equals("Y") || str.equals("y")) {
flag = true;
System.out.println();
} else if (str.equals("N") || str.equals("n")) {
System.exit(0);
} else {
System.out.println("输入有误");
System.exit(0);
}
}
}
运行结果:
![](https://i-blog.csdnimg.cn/blog_migrate/7188e4574cf86625a44a31843dcf8cbe.jpeg)
总结+补充
数组是初学者必须要接触了解的,虽然挺麻烦的而且会有诸多限制,但是“存在即合理”~都了解着点吧盆友们= =
补充:
1.数组缺点:长度固定,只能存储同一种数据类型,存在越界问题;时刻要注意判空!判空!判空!
2.数组定义方式:
·//方法一
int[] array = {1,2,…};
·//方法二
int[] array = new int [2];
array[0] = 1;
array[1] = 2;
//索引范围内可以更改
array[0] =100;
·//方法三
int[] array = new int[] {1,2,…}
//更改
array[0] = 100;
还有多维数组啊啥的等等等知识点 = =,请面向百度编程哟~