常用API、String、StringBuilder、集合和客户信息管理系统

API

        概念:应用程序接口。

        javaAPI:指的是JDK中提供的各种功能的java类。

String

        概念:

        String类在java.long包下,使用时不需要导包!

        特点:

  •         字符串不可变,他们的值在创建后不能被更改
  •         虽然String的值不可变,但是他们能共享
  •          字符串效果上相当于字符组( char [ ]),但是底层原理是字节数组( byte [] )       

       构造方法:

         无参构造方法:

        有参构造方法:

        直接赋值:String   s = "acdsd’       (推荐使用)

        String对象的特点:

                1.通过new创建的字符对象,每一次new都会申请一个内存康健,虽然内容相同,但是地址值不同。

                2.以' '方式给出的字符串,只要字符序列相同(顺序和大小写),无法在程序代码中出现几次,JVM 都只会建立一个String对象,并在字符串中维护。

Stringbuilder

            概述:是一个可变的字符串,可以看成是一个容器。

             与String的区别:

  •                 String:内容是不可变的
  •                  Stringbuilder:内容是可变的

                构造方法:

                        StringBuilder sb = new StringBuilder0;

        StringBuilder的添加和反转方法

                添加:addpeng 

                反转:reverse

        与String的互转

                String转换为StringBuilder用StringBuilder的构造方法就行了

                 StringBuilder转换位String用一个toString方法

        字符串的比较:

        使用==做比较时,基本类型比较的是数值,二引用类型比较的是地址,想要比较数值,则要使用equals方法实现

 集合

        概述:集合在编程的时候存储了多个数据,能满足我们对变化的需求

         特点:提供一个存储空间可变的存储模型,存储的数据容量可以发生改变

        ArrayList

                添加方法:add方法

                  构造方法:Array List <String> array= new ArrayList<>();

                常用方法:

                        remove方法:删除指定元素,返回删除是否元素

                        set方法: 修改指定元素,返回修改的元素

                          get 方法:返回指定索引的元素值

                           size方法:返回集合中的元素个数

客户信息管理系统

根据教学所给的ppt来写

代码表示:

Customer类的代码块

// Customer类的代码


package Customer_Information_management;

public class Customer {
    private String name;//客户姓名
    private char gender;//性别
    private int age;//年龄
    private String phone;//电话号码
    private String email;//电子邮箱
    public Customer(){}

    public Customer(String name, char gender, int age, String phone, String email) {
        this.name = name;
        this.gender = gender;
        this.age = age;
        this.phone = phone;
        this.email = email;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public char getGender() {
        return gender;
    }

    public void setGender(char gender) {
        this.gender = gender;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

CustomerList代码块:

package Customer_Information_management;

public class CustomerList {
    //声明Customer类型数组customers和记录存储的客户的个数的变量
    public Customer[] customers;
    public int total = 0;

    //定义无参和有参构造器
    public CustomerList() {
    }

    public CustomerList(int totalCustomer) {
        this.customers = new Customer[totalCustomer];
    }

    // 修改
    public boolean addCustomer(Customer customer) {
        if (customers.length == total) {
            return false;
        } else {
            customers[total] = customer;
            total++;
            return true;
        }
    }

    // 修改
    public boolean replaceCustomer(int index, Customer cust) {
        if (index < 0 || index > this.total) {
            return false;
        } else {
            customers[index] = cust;
            return true;
        }
    }

    //删除
    public boolean deleteCustomer(int index) {
        if (index < 0 || index > this.total) {
            return false;
        }
        //index++;
        for (int i = 0; i < this.total; i++) {
            if (i >= index) {
                customers[i] = customers[i + 1];  //往前移
            }
        }
        this.total--;
        return true;
    }

    //返回数组对象
    public Customer[] getAllCustomers() {
        return customers;
    }

    //查询
    public Customer getCustomer(int index) {
        if (customers[index] == null) {
            return null;
        } else {
            return customers[index];
        }
    }

    //Customer对象的个数
    public int getTotal() {
        return total;
    }
}

CustomerView代码块:

package Customer_Information_management;

import java.util.Scanner;

public class CustomerView {
    private Scanner sc = new Scanner (System.in);
    private CustomerList customerList = new CustomerList (10);


    public static void main(String[] args) {
        CustomerView c = new CustomerView ();
        c.enterMainMenu ();

    }

    // 主界面
    private void enterMainMenu() {
        while (true) {


            System.out.println ("-----------------客户信息管理软件------------------");
            System.out.println ("                 1 添 加 客 户                   ");
            System.out.println ("                 2.修 改 客 户                   ");
            System.out.println ("                 3.删 除 客 户                   ");
            System.out.println ("                 4.客 户 列 表                   ");
            System.out.println ("                 5.退      出                   ");
            System.out.println ("                 请选择(1--5):                 ");
            char a =CMUtility.readMenuSelection ();
            switch (a) {
                case '1': // 添加
                    addNewCustomer ();
                    break;
                case '2': // 修改
                    modifyCustomer ();
                    break;
                case '3': // 删除
                    deleteCustomer ();
                    break;
                case '4': // 客户列表
                    listAllCustomers ();
                    break;
                case '5': // 退出
                    quit ();

                    break;
                default:
                    System.out.println ("输入错误!!");
            }

        }
    }


    // 添加
    private void addNewCustomer() {

        System.out.println ("---------------------添加客户---------------------");
        System.out.print ("请输入客户姓名:");
        String name = CMUtility.readString (5);
        System.out.println ();
        System.out.print ("请输入性别:");
        char gender = CMUtility.readChar ();
        System.out.println ();
        System.out.print ("请输入年龄:");
        int age = CMUtility.readInt ();
        System.out.println ();
        System.out.print ("请输入电话号码:");
        String phone = CMUtility.readString (11);
        System.out.println ();
        System.out.print ("请输入电子邮箱:");
        String email = CMUtility.readString (20);
        System.out.println ();
        Customer c = new Customer (name, gender, age, phone, email);
        boolean flag = customerList.addCustomer (c);
        if (flag) {
            System.out.println ("---------------------添加完成---------------------");
        } else {
            System.out.println ("添加失败!!");
        }

    }

    // 修改
    private void modifyCustomer() {
        System.out.println ("---------------------修改客户---------------------");
        System.out.println ("请选择待修改客户编号(-1退出):");
        int index = sc.nextInt ();
        if (index == -1) {
            System.out.println ("退出修改操作");
        } else {
            index--;
            while (true) {
                if (index < customerList.getTotal () && index >= 0) {
                    System.out.print ("姓名(" + customerList.customers[index].getName ()+"):");
                    String xname = CMUtility.readString (5);
                    System.out.println ();
                    System.out.print ("性别(" + customerList.customers[index].getGender ()+"):");
                    char xgendenr =CMUtility.readChar ();
                    System.out.println ();
                    System.out.print ("年龄(" + customerList.customers[index].getAge ()+"):");
                    int xage = CMUtility.readInt ();
                    System.out.println ();
                    System.out.print ("电话(" + customerList.customers[index].getPhone ()+"):");
                    String xphone =CMUtility.readString (11);
                    System.out.println ();
                    System.out.print ("邮箱(" + customerList.customers[index].getEmail ()+"):");
                    String xemail =CMUtility.readString (20);
                    System.out.println ();

                    Customer c = new Customer (xname, xgendenr, xage, xphone, xemail);
                    boolean flag = customerList.replaceCustomer (index, c);
                    if(flag){
                        System.out.println("-----------------修改完成-----------------");
                    }else {
                        System.out.println("修改失败!");
                    }

                    break;

                }else{
                    System.out.println ("输入的编号错误,请重新输入:");
                    int index1 = sc.nextInt();
                    index = index1-1;

                }
            }
        }
    }

    // 删除
    private void deleteCustomer() {
        if(customerList.getTotal()==0){
            System.out.println("没有客户消息!!!");
        }else{
            System.out.println("-----------------删除客户-----------------");
            System.out.println("请选择待删除客户编号(-1退出):");
            int index = sc.nextInt ();
            if(index==-1){
                System.out.println("已退出删除操作");
            }else{
                index--;
                while (true){
                    if(index<customerList.getTotal() && index>=0){
                        System.out.println("确认是否删除(Y/N):");
                        char c =CMUtility.readConfirmSelection ();
                        if(c=='Y'||c=='y'){
                            boolean flag = customerList.deleteCustomer(index);
                            if (flag){
                                System.out.println("-----------------删除完成-----------------");
                            }else {
                                System.out.println("删除失败!");
                            }
                        }else {
                            System.out.println("已取消删除");
                        }
                        System.out.println();
                        break;
                    }else {
                        System.out.print("输入的编号有误,请重新输入:");
                        int index1 = sc.nextInt();
                        index = index1-1;
                    }
                }
            }
        }
    }

    // 客户列表
    private void listAllCustomers() {
//        Customer[] Cust =customerList.getAllCustomers ();

        if (customerList.getTotal () == 0) {
            System.out.println ("当前无客户信息!!");

        } else {
            System.out.println ("---------------------------客户列表---------------------------");
            System.out.println ("编号\t\t姓名\t\t性别\t\t年龄\t\t电话\t\t\t\t邮箱");
            for (int i = 0; i < customerList.getTotal (); i++) {
                System.out.println ((i+1) + "\t\t" + customerList.customers[i].getName () + "\t\t" + customerList.customers[i].getGender () + "\t\t" + customerList.customers[i].getAge () + "\t\t" +
                        customerList.customers[i].getPhone () + "\t\t" + customerList.customers[i].getEmail ()
                );
            }
            System.out.println ("-------------------------客户列表完成-------------------------");
        }

    }

    // 退出
    private void quit() {
        System.out.println ("是否退出:(Y/N)");
        char ch =CMUtility.readConfirmSelection ();
        if (ch == 'Y') {
            System.out.println ("退出成功!!");
            System.exit (0);
        }
        if (ch == 'N') {
            System.out.println ("退出失败,请重新输入!!");
        }

    }


}

根据教学所给的ppt来写这些代码块。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
StringStringBuilderStringBuffer是Java中用于处理字符串的三种类。 String是不可变的,也就是说一旦创建就不能被修改。每次对String进行操作(如拼接、替换)都会生成一个新的String对象,原始的String对象则会被丢弃。这使得在频繁操作字符串的情况下,会产生大量的临时对象,造成内存浪费。因此,当字符串不需要频繁修改时,可以使用String来提高性能。 StringBuilderStringBuffer是可变的字符串类,它们可以进行修改操作而不会创建新的对象。两者的主要区别在于线程安全性和性能上的差异。 StringBuffer是线程安全的,所有的方法都使用synchronized关键字进行同步,保证了多线程环境下的安全性。然而,这也导致了性能上的损失,因为同一时间只能有一个线程访问StringBuffer对象。 StringBuilder是非线程安全的,它的方法没有使用synchronized关键字进行同步。这使得在单线程环境下,StringBuilder的性能比StringBuffer更好。因此,如果在单线程环境下进行字符串操作,建议使用StringBuilder。 如果需要将StringBuffer或StringBuilder对象转换为String对象,有两种方法可以实现。一种是通过调用toString()方法,将其转换为String对象。另一种是通过String的构造器String(StringBuffer buffer)来创建一个新的String对象,该构造器会将StringBuffer的内容复制到新的String对象中。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [StringStringBuffer与StringBuilder类详解](https://blog.csdn.net/weixin_38568503/article/details/113794751)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值