常见API
- API (全称 Application Programming Interface:应用程序编程接口)
- 就是别人写好的一些程序,给咱们程序员直接拿去调用即可解决问题的。


1 包
1.1 什么是包?
- 包是用来分门别类的管理各种不同程序的,类似于文件夹,建包有利于程序的管理和维护。
- 建包的语法格式:
package com.itheima.javabean;
public class Student {
}
1.2 在自己程序中调用其他包下的程序的注意事项
- 要调用自己所在包下的其他类,可以直接调用。(同一个包下的类,可以直接使用)
- 要调用其他包下的类,则必须在当前类中导包, 才可以访问!导包格式:import 包名.类名;(idea自动导包)

- 要调用Java提供的类,也需要先导包才可以使用;但是Java.lang包下的类是不需要我们导包的,可以直接使用。
- 要调用多个不同包下的类,而这些类名正好一样,此时默认只能导入一个类,另一个类必须带包名访问。
1.3 总结
- 声明一个包的关键字是什么?
package com.itheima.javabean;
public class Student {
}
- 在自己类中调用其他包下的程序的注意事项
- 要调用自己所在包下的其他类,可以____直接调用_____
- 要调用其他包下的类,则必须在当前类中____导入其他包____, 才可以访问
- _____java.lang_____包下的类是不需要我们导包的,可以直接使用。
- 要调用多个不同包下的类,而这些类名正好一样,此时默认只能导入一个类,另一个类必须____全限定名(带包名)_____访问。
2 String
2.1 概述
2.1.1 String是啥?为什么学习String?
- String代表字符串对象,可以用来封装字符串数据,并提供了很多操作字符串的方法。

2.1.2 String创建对象封装字符串数据的方式
- 方式一: Java 程序中的所有字符串文字(例如“abc”)都为此类的对象。
String name = "小黑";
String schoolName = "黑马程序员";
- 方式二: 调用String类的构造器初始化字符串对象。
构造器 |
说明 |
public String() |
创建一个空白字符串对象,不含有任何内容 |
public String(String original) |
根据传入的字符串内容,来创建字符串对象 |
public String(char[] chars) |
根据字符数组的内容,来创建字符串对象 |
2.1.3 总结
- Java中使用哪个类代表字符串?位于哪个包下
- String类创建对象封装字符串数据的方式有几种?
- 方式一: 直接使用双引号创建
String s = "ABC";
- 方式二: 使用构造函数创建
String s = new String("ABC")
2.2 常用方法
String提供的操作字符串数据的常用方法
方法名 |
说明 |
public int length() |
获取字符串的长度返回(就是字符个数) |
public char charAt(int index) |
获取某个索引位置处的字符返回 |
public char[] toCharArray(): |
将当前字符串转换成字符数组返回 |
public boolean equals(Object anObject) |
判断当前字符串与另一个字符串的内容一样,一样返回true |
public boolean equalsIgnoreCase(String anotherString) |
判断当前字符串与另一个字符串的内容是否一样(忽略大小写) |
public String substring(int beginIndex, int endIndex) |
根据开始和结束索引进行截取,得到新的字符串(包前不包后) |
public String substring(int beginIndex) |
从传入的索引处截取,截取到末尾,得到新的字符串返回 |
public String replace(CharSequence target, CharSequence replacement) |
使用新值,将字符串中的旧值替换,得到新的字符串 |
public boolean contains(CharSequence s) |
判断字符串中是否包含了某个字符串 |
public boolean startsWith(String prefix) |
判断字符串是否以某个字符串内容开头,开头返回true,反之 |
public String[] split(String regex) |
把字符串按照某个字符串内容分割,并返回字符串数组回来 |
对于API, 不要追求一下子全记住, 记得大概, 后面用的多了,自然就记住了
2.3 注意事项
2.3.1 String使用时的注意事项1
- 只要是以“…”方式写出的字符串对象,会存储到字符串常量池,且相同内容的字符串只存储一份
- 通过new方式创建字符串对象,每new一次还会产生一个新的对象放在堆内存中
2.3.2 通过" "定义字符串
2.3.3 通过new构造器得到字符串对象
2.3.4 阅读程序并回答问题
2.3.5 String使用时的注意事项2
- String对象的内容不可改变,被称为不可变字符串对象。
2.3.6 String注意事项: String的对象是不可变字符串对象

- 注意:只要是以“…”方式写出的字符串对象,会在堆内存中的字符串常量池中存储。

结论:每次试图改变字符串对象实际上是新产生了新的字符串对象了,变量每次都是指向了新的字符串对象,之前字符串对象的内容确实是没有改变的,因此说String的对象是不可变的。
2.3.7 总结
- String有哪几点注意事项
- 只要是以“…”方式写出的字符串对象,
会存储到字符串常量池,且相同内容的字符串只存储一份
- 通过new方式创建字符串对象,
每new一次都会产生一个新的对象放在堆内存中
- String对象的内容不可改变,被称为不可变字符串对象。
2.4 应用案例
2.4.1 案例1: 完成用户登录
- 需求
- 系统正确的登录名和密码是:itheima/123456,请在控制台开发一个登录界面,接收用户输入的登录名和密码,判断用户是否登录成功,登录成功后展示:“欢迎进入系统!”,即可停止程序**
(注意:要求最多给用户三次登录机会)
**
- 步骤:
- 开发登录界面,提示用户通过键盘输入登录名和密码。
- 设计一个登录方法,对用户的登录名和密码进行正确性认证。
- 根据登录方法返回的认证结果,判断用户是否登录成功。
- 使用循环控制登录界面最多显示3次。
- 完整代码:
package com.itheima.b_string;
import java.util.Scanner;
public class Demo7 {
public static void main(String[] args) {
Scanner scanner= new Scanner(System.in);
String username,password;
System.out