【无标题】

29、String使用时的注意事项
<1、String对象的内容不可改变,被称为不可改变字符串对象
<2、只要是以“...”方式写出的字符串对象,会存储到字符串常量池,且相同的字符串只存储一份;
    但通过new方式创建字符串对象,每new一次都会产生一个新的对象放在堆内存中。
结论:每次试图改变字符串对象实际上是新产生了新的字符串对象了,变量每次都是指向了新的字符串对象,之前字符串对象的内容确实是没有改变的,因此说String的对象是不可变的。
30、字符串的比较使用==比较好吗?为什么?什么时候使用==?
不好,对于字符串对象的比较,==比较的是地址,容易出业务bug
基本数据类型的变量或者值应该使用==比较。
31、开发中比较字符串推荐使用什么方式比较?
使用String提供的equals方法,它只关心字符串内容一样就返回true。

32、ArrayList
集合是什么:一种容器,用来存储数据的。
          集合的大小可变。
ArrayList是什么?怎么使用?
是集合中最常用的一种,ArrayList是泛型类,可以约束存储的数据类型。
创建对象,调用无参数构造器初始化对象:public ArryList();
调用相应的增删改查数据的方法。
ArrList提供了哪些常用方法?
常用方法名
public boolean add(E e)
public void add(int index,E element)
public E get(int index)
public int size()
public E remove(int index)
public boolean remove(Object o)
public E set(int index,E element)
说明
创建一个空的集合对象
说明
将指定的元素添加到此集合的末尾
在此集合中的指定位置插入指定的元素
返回指定索引处的元素
返回集合中的元素的个数
删除指定索引处的元素,返回被删除的元素
删除指定的元素,返回删除是否成功
修改指定索引处的元素,返回被修改的元素

33、从集合中遍历元素,并筛选出元素删除它,应该如何操作才能不出bug?
方式一:每次删除一个数据后,索引-1;
方式二:从集合后面遍历然后删除,可以避免漏掉元素。
34、equals:背景:==判断字符串地址的,这样会引起很多业务问题。
          必要性:判断字符串开发中更多时候希望判断内容一样就返回true,
          不在乎地址是否一样,这是要用equals方法。
结论1、:之后只要是字符串进行内容比较,那就必须使用字符串的equals方法。
结论2、:什么时候用==比较?基本数据类型的比较,那就用==
注意:集合和泛型都不支持基本数据类型,只能支持引用数据类型。
注意:以后定义集合都应该采用泛型。

34、项目实战:ATM系统的开发
ATM系统的构架是怎样的?
*定义一个账户类Account,定义系统关心的账户信息。
*定义一个ATM类,代表ATM系统,负责处理账户相关的业务需求。
*定义了一个Test类,负责测试系统:创建ATM对象代表ATM系统并启动。
ATM类中使用什么来存储系统全部用户的帐户信息的?
*ArrayList<Account> accounts = new ArrayList<>();
开户功能的实现需要那几步操作?
*定义一个开户方法:creatAccount。
*在方法里创建一个Account账户对象,负责封装用户的帐户信息(姓名、性别、密码、卡号等等)。
*卡号需要由系统自动生成(卡号要求是8位数字组成的,且不能重复)
*把账户对象存入到帐户集合中去
*提示开户成功!
账户的新卡号是如何生成的?
*定义了一个方法:createCardId(),用来返回一个不重复的新卡号。
*方法里,使用循环生成了8个随机的数字连起来作为为卡号。
*接着判断该卡号是否与其他账户的卡号重复。
*根据卡号去账户集合中查询账户对象,如果没有查询到账户对象,该卡号不重复,即可返回。
*如果查询到了账户对象,则使用循环重复以上操作。
登录功能是如何实现的?
*设计一个登陆方法:login,负责完成用户登录。
*方法里:如果系统无任何账户对象,直接结束登陆操作。
*有账户对象,则让用户输入卡号,根据卡号去账户集合中查询账户对象
*如果没有找到账户对象,说明登陆卡号不存在,提示继续输入卡号。
*如果找到了账户对象,说明卡号存在,继续输入密码。
*如果密码不正确,提示继续输入密码。
*如果密码也正确,则登陆成功,并给出相应的提示。
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值