目录
常用API(String , ArrayList)
- API **(**Application Programming Interface,应用程序编程接口)
- Java写好的程序(功能),咱们可以直接调用。
- Oracle 也为Java提供的这些功能代码提供了相应的 API文档(使用说明书) 。
String
String类概述
- java.lang.String 类代表字符串,String类定义的变量可以用于指向字符串对象,然后操作该字符串。
- Java 程序中的所有字符串文字(例如“abc”)都为此类的对象。
String name = "徐凤年";
System.out.println("name = " + name);
String的特点详解
- String其实常被称为不可变字符串类型,它的对象在创建后不能被更改。
字符串的对象储存在哪里
- 以“”方式给出的字符串对象,在字符串常量池中存储。
String是不可变字符串的原因?
- String变量每次的修改其实都是产生并指向了新的字符串对象。
- 原来的字符串对象都是没有改变的,所以称不可变字符串。
String类常用方法-字符串内容比较
字符串内容的比较
如果是字符串比较应该使用使用什么方式进行比较,为什么?
- **使用****String提供的equals方法。
- 只关心内容一样就返回true。
开发中什么时候使用==比较数据
- 基本数据类型比较时使用。
String类的常用方法-遍历、替换、截取、分割操作
String常用API
String类案例实战
package com.bean.string;
import java.util.Scanner;
/**
* @author North
* @date 2022/9/25 17:02
*/
public class StringEqualsDemo {
public static void main(String[] args) {
// 1. 正确登陆和密码
String okName = "North";
String okPassWord = "123456";
// 2. 请你输入登陆名称和密码
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请输入您的名称:");
String name = scanner.next();
System.out.println("请输入您的密码:");
String password = scanner.next();
// 3. 判断用户输入的登陆名称和密码与正确的内存是否相等
if ((okName.equals(name) ) && (okPassWord.equals(password) )) {
System.out.println("恭喜您输入正确………………");
break;
} else {
System.out.println("请重新输入");
System.out.println("--------------------------------------");
System.out.println();
}
}
// 4. 忽略大小写比较内容的API : 一般用于比较验证码这样的业务逻辑
String sysCode = "123A";
String code = "123a";
System.out.println(sysCode.equals(code));
}
}
String类创建对象的2种方式
创建字符串的两种方式
区别
通过new构造器得到字符串对象
String类常见面试
面试1
面试2
ArrayList
集合概述
集合的特点
ArrayList集合快速入门
代码演示
package com.bean.arraylist;
import java.util.ArrayList;
/**
* @author North
* @date 2022/9/27 23:26
*
* 目标 :创建ArrayList对象 , 代表集合容器 , 往里面添加元素
*/
public class ArrayListDemo01 {
public static void main(String[] args) {
// 1. 创建ArrayList集合对象
ArrayList list = new ArrayList();
list.add("java");
list.add("mysql");
list.add("JavaWeb");
list.add("HTML");
list.add("CSS");
list.add("JS");
list.add("SSM");
System.out.println(list);
System.out.println( list.add("SSM"));
}
}
ArrayList对泛型的支持
泛型
ArrayList常用方法、遍历
代码演示
package com.bean.arraylist;
import java.util.ArrayList;
/**
* @author North
* @date 2022/9/27 23:45
*
* 目标 : 掌握ArrayList集合的常用API
*/
public class ArrayListDemo03 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("java");
list.add("mysql");
list.add("JavaWeb");
list.add("HTML");
list.add("CSS");
list.add("JS");
list.add("SSM");
System.out.println(list);
String s = list.get(3);
System.out.println(s);
System.out.println(list.size());
// 完成集合的索引
for (int num = 0 ; num < list.size() ; num++) {
String s1 = list.get(num);
System.out.println(s1);
}
System.out.println(list);
// 根据索引删除元素
String remove = list.remove(2);
System.out.println(remove);
System.out.println(list);
// 只会删除第一个出现的元素
boolean java = list.remove("java");
System.out.println(java);
System.out.println(list);
// 修改某个索引位置处的元素
String linux = list.set(0, "Linux");
System.out.println(linux);
System.out.println(list);
}
}
ArrayList集合案例:遍历并删除元素
package com.bean.arraylist;
import java.util.ArrayList;
/**
* @author North
* @date 2022/9/28 13:03
*
* 目标 : 学习遍历并删除元素的正确方案
*/
public class ArrayListTest01 {
public static void main(String[] args) {
// 1. 创建一个ArrayList集合存储一个班级学生的成绩
ArrayList<Integer> score = new ArrayList<Integer>();
score.add(98);
score.add(77);
score.add(66);
score.add(89);
score.add(79);
score.add(50);
score.add(100);
System.out.println(score);
// 对集合进行遍历
// for (int num = 0 ; num < score.size() ; num++) {
// int integer = score.get(num);
// if (integer < 80) {
// score.remove(num);
// num--;
// }
// }
// System.out.println(score);
// 完美方案
for (int number_a = score.size() - 1 ; number_a >= 0 ; number_a--) {
int integer = score.get(number_a);
if (integer < 80 ) {
score.remove(number_a);
}
}
System.out.println(score);
}
}
ArrayList集合案例:存储自定义类型的对象
电影类
package com.bean.arraylist;
/**
* @author North
* @date 2022/9/28 13:35
*/
public class Movie {
private String name;
private double score;
private String actor;
// 创建无参构造器
public Movie() {
}
public Movie(String name, double score, String actor) {
this.name = name;
this.score = score;
this.actor = actor;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
public String getActor() {
return actor;
}
public void setActor(String actor) {
this.actor = actor;
}
}
测试类
package com.bean.arraylist;
import java.util.ArrayList;
/**
* @author North
* @date 2022/9/28 13:34
*
* 目标 : 理解ArrayList集合存储自定义类型的对象
*/
public class ArrayListTest02 {
public static void main(String[] args) {
// 1. 定义电影类
// 2. 创建三个电影对象
Movie movie_1 = new Movie("《肖申克的救赎》" , 9.7 , "罗宾斯");
Movie movie_2 = new Movie("《霸王别姬》" , 9.6 , "张国荣 , 张丰毅");
Movie movie_3 = new Movie("《阿甘正传》" , 9.5 , "汤姆.汉克斯");
// 3. 创建一个电影类型的ArrayList集合 , 存储散步电影对象
ArrayList<Movie> arrayList = new ArrayList<Movie>();
arrayList.add(movie_1);
arrayList.add(movie_2);
arrayList.add(movie_3);
// 4.遍历电影类型的集合中的每一个电影对象 , 访问它的信息
for (int num = 0 ; num < arrayList.size() ; num++) {
Movie movie = arrayList.get(num);
// 5.输出电影信息
System.out.println("电影名称 " + movie.getName());
System.out.println("电影得分 " + movie.getScore());
System.out.println("电影导演 " + movie.getActor());
System.out.println("---------------------------------------");
}
}
}
ArrayList集合案例:元素搜索
代码演示
学生类
package com.bean.arraylist;
/**
* @author North
* @date 2022/9/29 12:38
*/
public class Student {
private String studyNumber;
private String name;
private int age;
private String className;
// 无参构造
public Student() {
}
// 有参构造
public Student(String studyNumber, String name, int age, String className) {
this.studyNumber = studyNumber;
this.name = name;
this.age = age;
this.className = className;
}
public String getStudyNumber() {
return studyNumber;
}
public void setStudyNumber(String studyNumber) {
this.studyNumber = studyNumber;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
}
测试类
package com.bean.arraylist;
import java.util.ArrayList;
import java.util.Scanner;
/**
* @author North
* @date 2022/9/29 12:38
*/
public class ArrayListDemo04 {
public static void main(String[] args) {
// 1.定义学生类
// 2. 创建集合存储学生对象,创建学生对象封装学生信息
// 把学生对象添加到集合中去
ArrayList<Student> students = new ArrayList<>();
students.add(new Student("20180302" , "叶孤城" , 23 , "护理一班"));
students.add(new Student("20180303" , "李七夜" , 24 , "推拿二班"));
students.add(new Student("20180304" , "陈平安" , 25 , "剑气长城"));
students.add(new Student("20180305" , "徐凤年" , 26 , "剑开天门"));
// 3.遍历学生信息
System.out.println("\t学号\t名称\t年龄\t班级");
for (int i = 0; i < students.size(); i++) {
Student student = students.get(i);
System.out.println(student.getStudyNumber() + "\t" + student.getName() + "\t" + student.getAge() + "\t" + student.getClassName());
}
// 4. 定义方法完成按照学号的搜索功能
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请输入学号查询学生对象:");
String studyNumber = scanner.next();
// 5. 调方法进行查询
Student student = getStudentById(students, studyNumber);
// 判断student是否存在学生对象地址
if (student == null) {
System.out.println("对不起 , 查无此人~~~");
} else {
System.out.println("学生信息如下:");
System.out.println(student.getStudyNumber() + "\t" + student.getName() + "\t" + student.getAge() + "\t" + student.getClassName());
}
}
}
/**
* 根据学生的学号查询学生对象返回
* @param students 存储全部学生对象的集合
* @param studyNumber 搜索的学生的学号
* @return 学生对像 | null
*/
public static Student getStudentById(ArrayList<Student> students , String studyNumber) {
// 1. 遍历全部学生对象
for (int i = 0; i < students.size(); i++) {
// 2. 询问当前遍历的这个学生对象的学号 , 是否是我们要找的学号
Student student = students.get(i);
// 使用equals()来进行判别
/**
* 此处不能单独使用 student.equals(studyNumber)
* 而是要使用 student.getStudyNumber().equals(studyNumber) 来进行判定
*/
if (student.getStudyNumber().equals(studyNumber)) {
// 这个student代表的学生对象 , 就是我们要找的 , 返回它
return student;
}
}
// 查无此人
return null;
}
}