JavaSE-第三章

发布于 2022-02-18  251 次阅读


第三章 项目

3.1 需求

  • CRUD:添加、修改、删除、显示
  • 把数据存储在数组中
  • 存储的内容就是基本类型

3.2 数组

  • 特点:一组类型相同的数据
  • 数组的长度一旦确定就不能修改了
  • 数组中的元素下标从零开始

3.2.1 案例

public class TestDemo {
    public static void main(String[] args) {
        //创建数组
        int[] array = new int[3];
        //按照下标的位置添加即可
        array[0] = 100;
        array[1] = 200;

        //更新:就是替换下标位置的数据
        array[0] = 500;

        //删除:就是把指定位置的数据还原为默认值
        array[1] = 0;
    }
}

3.2.2 接收控制台数据

import java.util.Scanner;
public class TestDemo {
    public static void main(String[] args) {
        //接收控制台的输入数据
        Scanner scanner = new Scanner(System.in);
        //提示信息
        System.out.println("请输入一个数字");
        int i = scanner.nextInt();
        System.out.println("i="+i);
    }
}

3.3 完成项目功能-第一版

3.3.1 搭建开发环境

import java.util.Scanner;

public class TestDemo {
    public static void main(String[] args) {
        //创建控制台对象
        Scanner scanner = new Scanner(System.in);
        //创建一个数组,存储数据
        int[] array = new int[5];

        //为了跳出多支创建一个布尔类型
        boolean flag = true;

        //提示消息
        System.out.println("1表示添加;2表示显示;3表示删除;4表示更新;5退出;");
        //使用do-while
        do {
            //创建key
            int key = scanner.nextInt();
            //多支判断
            switch (key){
                case 1:
                    System.out.println("添加");
                    break;
                case 2:
                    System.out.println("显示");
                    break;
                case 3:
                    System.out.println("删除");
                    break;
                case 4:
                    System.out.println("更新");
                    break;
                case 5:
                    flag = false;
                    break;
            }
        }while(flag);
    }
}

3.2.2 获取数组中的元素

public class Demo {
    public static void main(String[] args){
        int[] array = new int[3];
        array[0] = 100;
        array[1] = 200;
        array[2] = 300;

        //循环获取元素
        System.out.println("数组长度="+array.length);
        
        //获取元素              System.out.println(array[1]);
        
        for (int index = 0; index < array.length; index++){
            System.out.println(array[index]);
        }
    }
}

3.3.2 功能实现编写

import java.util.Scanner;

public class TestDemo {
    public static void main(String[] args) {
        //创建控制台对象
        Scanner scanner = new Scanner(System.in);
        //创建一个数组,存储数据
        int[] array = new int[5];

        //为了跳出多支创建一个布尔类型
        boolean flag = true;

        //提示消息
        System.out.println("1表示添加;2表示显示;3表示删除;4表示更新;5退出;");
        //使用do-while
        do {
            //创建key
            int key = scanner.nextInt();
            //多支判断
            switch (key){
                case 1:
                   //通过循环获取一个空位置
                    for (int index = 0; index < array.length; index++){
                        if (array[index] == 0){
                            System.out.println("请输入一个数字");
                            array[index] = scanner.nextInt();
                            System.out.println("添加成功");
                            //跳出循环体
                            break;
                        }
                    }
                    break;
                case 2:
                    for (int index = 0;index < array.length; index++){
                        int element = array[index];
                        if (element != 0){
                            System.out.println(array[index]);

                        }
                    }

                    break;
                case 3:
                    //提示
                    System.out.println("请输入一个你要删除的数字");
                    int el = scanner.nextInt();
                    for (int index = 0; index < array.length; index++){//找到了
                        if (array[index] == el){
                            array[index] = 0;
                            System.out.println("删除成功!");
                            //跳出循环体
                            break;
                        }
                    }
                    break;
                case 4:
                    System.out.println("请输入一个你要更新的数字");
                    int el1 = scanner.nextInt();
                    for (int index = 0; index < array.length; index++){
                        if (array[index] == el1){//找到了
                            System.out.println("请输入你要更新的值");
                            array[index] = scanner.nextInt();
                            System.out.println("更新成功");
                            //跳出循环
                            break;
                        }
                    }
                    break;
                case 5:
                    flag = false;
                    break;
            }
        }while(flag);
    }
}

3.4 第二版-优化

import java.util.Scanner;

public class TestDemo {
    public static void main(String[] args) {
        //创建控制台对象
        Scanner scanner = new Scanner(System.in);
        //创建一个数组,存储数据
        int[] array = new int[5];

        //为了跳出多支创建一个布尔类型
        boolean flag = true;

        //提示消息
        System.out.println("1表示添加;2表示显示;3表示删除;4表示更新;5退出;");
        //使用do-while
        do {
            //创建key
            int key = scanner.nextInt();
            //多支判断
            switch (key){
                case 1:
                    //通过循环获取一个空位置
                    //定义布尔类型变量判断数组是否占满
                    boolean full = true;
                    for (int index = 0; index < array.length; index++){
                        if (array[index] == 0){
                            full = false; //进入条件判断说明数组未满
                            System.out.println("请输入一个数字");
                            array[index] = scanner.nextInt();
                            System.out.println("添加成功");
                            //跳出循环体
                            break;
                        }
                    }
                    if (full){ //full为真表示数组满了
                        System.out.println("数组已经满了");
                    }
                    break;
                case 2:
                    for (int index = 0;index < array.length; index++){
                        int element = array[index];
                        if (element != 0){
                            System.out.println(array[index]);

                        }
                    }

                    break;
                case 3:
                    //提示
                    System.out.println("请输入一个你要删除的数字");
                    //定义布尔型变量判断删除的数字数组里有没有
                    boolean f = true;
                    int el = scanner.nextInt();
                    for (int index = 0; index < array.length; index++){//找到了
                        if (array[index] == el){
                            f = false; //进入判断说明需要删除的数字在数组中
                            array[index] = 0;
                            System.out.println("删除成功!");
                            //跳出循环体
                            break;
                        }
                    }
                    if (f) { //说明输入的数不存在
                        System.out.println("输入的数不存在");
                    }
                    break;
                case 4:
                    System.out.println("请输入一个你要更新的数字");
                    //定义布尔类型变量,判断需要更新的数字是否在数组中
                    boolean f1 = true;
                    int el1 = scanner.nextInt();
                    for (int index = 0; index < array.length; index++){
                        if (array[index] == el1){//找到了
                            f1 = false; //进入判断说明数组中存在需要更新的数字
                            System.out.println("请输入你要更新的值");
                            array[index] = scanner.nextInt();
                            System.out.println("更新成功");
                            //跳出循环
                            break;
                        }
                    }
                    if (f1){
                        System.out.println("输入的数不存在");
                    }
                    break;
                case 5:
                    flag = false;
                    break;
            }
        }while(flag);
    }
}


我从未觉得繁琐,说浪漫些,我很爱你。