数组—增删查改

博客概要

     复习归纳总结基础理论知识之 数组 的前世今生~

数组概要

     所有数组,是有序的元素序列;是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式,这些无序排列的同类数据元素的集合称为数组。数组是用于储存多个相同类型数据的集合。

若将有限个类型相同的变量的集合命名,那么这个名称为数组名。
组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。
用于区分数组的各个元素的数字编号称为下标。

数组操作

     定义一个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]);
        }
    }
}

运行结果:

数组-新增

具体代码:
写法一:

/**
 * 新增
 * @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;
        }
    }
}

运行结果:

数组-删除

具体代码:

/**
 * 删除
 * @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;
}

运行结果:

数组-查询(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;
        }
    }
}

运行结果:

数组-修改

具体代码:

/**
 * 修改
 * @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;
}

运行结果:

数组-增删改查-集成

具体代码:

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);
        }
    }
}

运行结果:

总结+补充

     数组是初学者必须要接触了解的,虽然挺麻烦的而且会有诸多限制,但是“存在即合理”~都了解着点吧盆友们= =

补充:

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;

还有多维数组啊啥的等等等知识点 = =,请面向百度编程哟~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值