Day12目标:
-
介绍API的基本概念;
-
介绍文档注释;
-
介绍String的概念;
-
学会length,indexOf方法;
-
学会substring,charAt,trim方法;
-
学会toUpperCase,startsWith,valueOf发明合法;
JDK API
JDK API
什么是JDK API
JDK API 是 Java 开发工具包(JDK)中包含的应用程序编程接口(API)库。它提供了大量预定义的类和接口,这些类和接口实现了各种常用的功能,比如数据结构操作、输入输出处理、网络通信等。开发者可以直接使用这些类和接口来简化编程过程,而无需从头编写常见的功能。
JDK包结构
文档注释规范
Java 的文档注释规范使用特殊的 /** ... */
语法来编写注释,这些注释通常放在类、方法、构造函数、字段等的前面。文档注释不仅用于代码的注释说明,还可以通过工具生成自动化的 API 文档。常见的文档注释标签包括 @param
(描述方法参数)、@return
(描述方法的返回值)、@throws
(描述可能抛出的异常)等。这些注释帮助开发者理解代码的用途、功能和使用方法。
字符串
String
String是不可变对象
-
java.long.String使用了final修饰,不能被继承;
-
字符串底层封装了字符数组及针对字符数组的操作算法;
-
字符串一旦创建,对象内容不可改变,连接字符串会创建新对象;
-
Java字符串在内存中采用Unicode编码方式,任何一个字符对应两个字节的定长编码。
String常量池
-
Java为了提高性能,直接量字符串创建后会缓存在字符串常量池中;
-
对于重复出现的字符串直接量,JVM会首先在常量池中查找,如果存在即返回该对象来重用字符串对象。
String内容不可变
- 字符串一旦创建,内容不可改变,拼接字符串会创建新对象。
String拼接
String s1 = "123abc";
String s2 = "123" + "abc";
System.out.println(s1 + s2); // 123abc
String的常用方法
strName.length()
:返回当前字符串的字符个数(返回:int类型);
package day12;
public class LengthDemo {
/**
* 程序的入口点
* 本函数演示了如何计算字符串的长度并打印出来
*/
public static void main(String[] args) {
// 定义一个字符串变量s,用于存储"我爱Java"
String s = "我爱Java";
// 使用length()方法获取字符串s的长度,并将结果赋值给变量len
int len = s.length();
// 打印字符串长度
System.out.println(len);
}
}
strName.indexOf(String str)
:实现在字符串检索另一个字符串,返回第一次出现的索引值,未找到返回-1(返回:int类型);
package day12;
public class IndexOfDemo {
public static void main(String[] args) {
// 定义一个字符串变量,用于存储字符串"Thinking in Java"
String string = "Thinking in Java";
// 查找字符串中子字符串"in"的索引位置
int index = string.indexOf("in");
// 输出子字符串"in"在字符串中的索引位置
System.out.println(index);
}
}
strName.indexOf(String str, int fromIndex)
:从字符串规定下标索引fromIndex处开始检索(返回:int类型);
package day12;
public class IndexOfDemo {
public static void main(String[] args) {
// 从索引3开始搜索字符串,在字符串中查找第一个"in"的位置
index = string.indexOf("in", 3);
// 输出找到的位置
System.out.println(index);
}
}
strName.substring(int beginIndex, int endIndex)
:从下标beginIndex到endIndex结束,对字符串进行切片生成新字符串,注意含头不含尾;(返回:String类型)
package day12;
public class SubstringDemo {
public static void main(String[] args) {
// 定义一个字符串变量s,用于存储网址
String s = "www.tedu.com";
// 从字符串s中提取子字符串,从索引4开始(不包括索引4),到索引8结束(不包括索引8)
String sub = s.substring(4, 8);
// 输出提取的子字符串
System.out.println(sub);
}
}
strName.substring(int beginIndex)
:从下标beginIndex开始到字符串结尾进行切片,包含头部;(返回:String类型)
package day12;
public class SubstringDemo {
public static void main(String[] args) {
// 从字符串s中截取子字符串,起始位置为第5个字符,直到字符串末尾
sub = s.substring(4);
// 打印截取得到的子字符串
System.out.println(sub);
}
}
String trimName = strName.trim()
:去掉字符串前后出现的空格字符;(返回:String类型)
package day12;
public class TrimDemo {
public static void main(String[] args) {
// 定义一个字符串变量,初始值包含前后空格
String string = " hello world ";
// 使用trim方法移除字符串两端的空格
String trim = string.trim();
// 输出处理后的字符串,不包含前后空格
System.out.println(trim);
}
}
char charAtName = strName.charAt(int index)
:返回指定下标位置的字符;(返回:char类型)
package day12;
public class CharAtDemo {
public static void main(String[] args) {
// 定义一个字符串变量,用于存储字符串"thinking in Java!"
String string = "thinking in Java!";
// 获取字符串中索引为9的字符,并赋值给字符变量c
char c = string.charAt(9);
// 输出字符变量c的值
System.out.println(c);
}
}
boolean startsWithName = strName.startsWith(String str)
:判断当前字符串是否以"str"起始;(返回:boolean类型)
package day12;
public class StarsWithDemo {
public static void main(String[] args) {
// 定义一个字符串变量string,用于存储网址"tedu.cn"
String string = "tedu.cn";
// 检查字符串string是否以"tedu"开头,并将结果存储在布尔变量start中
boolean start = string.startsWith("tedu");
// 输出布尔变量start的值,用于验证字符串是否以"tedu"开头
System.out.println(start);
}
}
boolean endsWithName = strName.endsWith(String str)
:判断当前字符串是否以"str"结尾;(返回:boolean类型)
package day12;
public class StarsWithDemo {
public static void main(String[] args) {
// 检查字符串是否以“.cn”结尾
boolean end = string.endsWith(".cn");
// 输出检查结果
System.out.println(end);
}
}
String toUpperCaseName = strName.toUpperCase()
:将原字符串全部中的英文转换为大写;(返回:String类型)
package day12;
public class ToUpperCaseDemo {
public static void main(String[] args) {
// 定义一个字符串变量,用于存储"我爱Java"
String string = "我爱Java";
// 将字符串变量中的字符全部转换为大写
String upper = string.toUpperCase();
// 输出转换后的字符串,以全大写形式展示
System.out.println("全大写:" + upper);
}
}
String toLowerCaseName = strName.toLowerCase()
:将原字符串中的英文全部字符转换为小写;(返回:String类型)
package day12;
public class ToUpperCaseDemo {
public static void main(String[] args) {
// 将输入的字符串转换为全小写形式
String lower = string.toLowerCase();
// 输出全小写形式的字符串
System.out.println("全小写:" + lower);
}
}
String valueOfName = strName.valueOf()
:将其他类型数据转换为String类型;(返回:String类型)
package day12;
public class ValueOfDemo {
public static void main(String[] args) {
// 定义一个整数变量a,用于后续演示如何将整数转换为字符串
int a = 123;
// 使用String.valueOf方法将整数a转换为字符串
String s1 = String.valueOf(a);
// 输出转换后的字符串
System.out.println(s1);
// 定义一个双精度浮点数变量b,用于演示如何将浮点数转换为字符串
double b = 123.456;
// 使用String.valueOf方法将浮点数b转换为字符串
String s2 = String.valueOf(b);
// 输出转换后的字符串
System.out.println(s2);
// 将浮点数b与字符串"123"进行拼接,这里使用了字符串拼接的方式,效率较低
String s3 = b + "123";
// 输出拼接后的字符串
System.out.println(s3);
}
}