文章目录
API
Application Programming Interface,应用程序编程接口
Java中可以理解成Java写好的程序(功能代码),我们可以直接调用
Oracle也为Java写好的程序提供了相应的API文档(技术使用说明书)
下载API文档
什么是API
如何理解API,API是如何工作的
String简单介绍
String类定义的变量可以用于存储字符串,同时String类提供了很多操作字符串的功能,我们可以直接使用
String
String类概述
java.lang.String类代表字符串,String类定义的变量可以用于指向字符串对象,然后操作该字符串
Java程序中所有字符串文字(例如“abc”)都为此类对象
String name = "小黑";
String schoolName = "黑马程序员";
String类的特点详情
String类其实常被称为不可变字符串类型,它的对象在创建后不能被更改
String是不可变字符串的原因?
String变量每次的修改其实都是产生并指向新的字符串对象
原来的字符串对象都是没有改变的,所以称为不可变字符串
String类创建对象的2种方式
创建字符串对象的2种方式
1、直接使用 “” 定义(推荐方式)
String name = “`我是大帅比”;
2、通过String类的构造器创建对象
这两种方式有什么区别?
以 “” 方式给出的字符串对象,在字符串常量池中存储,而且相同的内容只会在其中存储一份
通过构造器new对象,,每new一次都会产生一个新对象,放在堆内存中
String类常见面试题
String类常用API-字符串内容比较
字符串内容的比较:
字符串的内容不适合用"=="比较
推荐使用String类提供的"equals"比较:只关心内容一样即可
String类常用API-遍历、替换、截取、分割操作
String类案例实战
验证码
String类开发验证码功能
需求:
随机产生一个5位的验证码,每位可能是数字,大写字母,小写字母
分析:
定义一个String类型的变量存储验证码a-z,A-Z,0-9之间的全部字符
循环5次,随机一个范围内的索引,获取对应字符连接起来即可
登录
需求:
模拟用户登录功能,最多只给三次机会
分析:
系统后台定义好正确的登录名称,密码
使用循环控制三次,让用户输入正确的登录名和密码,判断是否登录成功,登录成功则不再进行登录;登录失败给出提示,并让用户继续登录
隐私账号
手机号码屏蔽
需求:以字符串的形式从键盘接受一个手机号,将中间四位号码屏蔽
分析:
键盘录入一个字符串,用Scanner实现
截取字符串前三位,截取字符串后四位
将截取后的两个字符串,中间加上****进行拼接,输出结果即可
ArrayList简单介绍
ArrayList代表的是集合类,集合是一种容器,与数组类似,不同的是集合的大小是不固定的
通过创建ArrayList的对象表示得到一个集合容器,同时ArrayList提供了比数组更好用,更丰富的API(功能)给程序员使用
ArrayList
集合概述
集合是与数组类似,也是一种数据,用于装数据的
数组的特点:
数组定义完后并启动后,类型确定,长度固定
问题:在个数不能确定,且要进行增删数据操作的时候,数组是不太合适的
集合的特点:
集合的大小不固定,启动后可以动态变化,类型也可以选择不固定
集合非常适合做元素个数不确定,且要进行增删操作的业务场景
集合提供了许多丰富,好用的功能,而数组的功能很单一
ArrayList集合快速入门
ArrayList集合
ArrayList是集合的一种,它支持索引
ArrayList集合的对象获取
ArrayList集合添加元素的方法
ArrayList对泛型的支持
泛型概述
ArrayList:其实就是一个泛型类,可以在编译阶段约束集合对象只能操作某种数据类型
eg:
ArrayList<>(尖括号里填String,不知道为什么我填在尖括号里显示不出来):此集合只能操作字符串类型的元素
ArrayList<>(尖括号里填Integer):此集合只能操作整数类型的元素
注意:集合中只能存储引用类型,不支持基本数据类型
ArrayList常用API、遍历
ArrayList集合案例
遍历并删除元素
需求:
某个班级的考试在系统上进行,成绩大致为:98,77,66,89,79,50,100,85
现在需要把成绩低于80分以下的数据去掉
分析:
定义ArrayList集合存储多名学员的成绩
&emsp遍历集合每个元素,如果成绩低于80分,去掉它
需要从后面开始循环,可以避免漏掉元素,否则会有错误
存储自定义类型
影片信息在程序中的表示
需求:
某影院系统需要在后台存储上述三部电影,然后依次展示出来
分析:
三部电影是3个对象,定义一个电影类,定义一个集合存储电影对象
&emsp创建三个电影对象,封装相关数据,把3个对象存入到集合中去
结论:集合中存储的元素并不是对象本身,而是对象的地址
元素搜索
需求:
后台程序需要存储学生信息并展示,然后要提供按照学号搜索学生信息的功能
分析:
定义Student类,定义ArrayList集合存储学生对象信息,并遍历展示出来
提供一个方法,可以接收ArrayList集合,和要搜索的学号,返回搜索到的学生对象信息,并展示
使用死循环,让用户可以不停的搜索