开启掘金成长之旅!这是我参与「掘金日新计划 · 12月更文挑战」的第19天
常用API(String、ArrayList)
API (Application Programming Interface,应用程序编程接口)
- Java写好的技术(功能代码),咱们可以直接调用。
- Oracle 也为Java提供的这些功能代码提供了相应的 API文档(技术使用说明书)。
下载API文档:
www.oracle.com/technetwork…
String简单介绍
- String类定义的变量可以用于存储字符串,同时String类提供了很多操作字符串的功能,我们可以直接使用。
ArrayList 简单介绍
- ArrayList代表的是集合类,集合是一种容器,与数组类似,不同的是集合的大小是不固定的。
- 通过创建ArrayList的对象表示得到一个集合容器,同时ArrayList提供了比数组更好用,更丰富的API (功能)给程序员使用。
购物车使用集合对象来存储商品对象更合适
- 随时可能添加新商品对象进来(个数不确定)
- 也随时可能删除商品对象
String
String类概述
- java.lang.String 类代表字符串,String类定义的变量可以用于指向字符串对象,然后操作该字符串。
- Java 程序中的所有字符串文字(例如“abc”)都为此类的对象。
String name = "小黑"
String schoolName = "黑马"
String类的特点详解
- String其实常被称为不可变字符串类型,它的对象在创建后不能被更改。
字符串对象以“”方式给出的字符串对象,在字符串常量池中存储。
String类创建对象的2种方式
- 方式一:直接使用“”定义。(推荐方式)
String name = "你好"; - 方式二:通过String类的构造器创建对象。
区别:
- 以“”方式给出的字符串对象,在字符串常量池中存储,而且相同内容只会在其中存储一份。
- 通过构造器new对象,每new一次都会产生一个新对象,放在堆内存中。
通过“”定义字符串内存原理
通过new构造器得到字符串对象
String类常见面试题
问题:下列代码的运行结果是?
Java存在编译优化机制,程序在编译时: “a” + “b” + “c” 会直接转成 "abc"
String类常用API-字符串内容比较
结论:字符串的内容比较不适合用“==”比较
字符串的内容比较:
推荐使用String类提供的“equals”比较:只关心内容一样即可
String类常用API-遍历、替换、截取、分割操作
String常用API
String类案例实战
案例一:String类开发验证码功能
需求:
随机产生一个5位的验证码,每位可能是数字、大写字母、小写字母。
分析:
① 定义一个String类型的变量存储验a-zA-Z0-9之间的全部字符。
② 循环5次,随机一个范围内的索引,获取对应字符连接起来即可。
案例二:模拟用户登录功能
需求:
- 模拟用户登录功能,最多只给三次机会。
分析:
① 系统后台定义好正确的登录名称,密码。
② 使用循环控制三次,让用户输入正确的登录名和密码,判断是否登录成功,登录成功则不再进行登录;登录失败给出提示,并让用户继续登录。
案例三:手机号码屏蔽
需求
- 以字符串的形式从键盘接受一个手机号,将中间四位号码屏蔽
分析
① 键盘录入一个字符串,用 Scanner 实现。
② 截取字符串前三位,截取字符串后四位。
③ 将截取后的两个字符串,中间加上****进行拼接,输出结果即可。