1、API文档、字符串基本操作
1)JDK中包含大量的API类库
所谓API(Application Programming Interface,应用程序编程接口)就是一些已写好、可供直接调用的功能(在Java语言中,这些功能以类的形式封装)。
2)JDK API包含的类库功能强大
经常使用的有:字符串操作、集合操作、文件操作、输入输出操作、网络操作、多线程等等。
3)以/**开始,以*/结束
加在类和方法的开头,用于说明作者,时间,版本,要实现功能的详细描述等信息;通过javadoc工具,可以轻松的将此注释转换为HTML文档说明;学习者和程序员主要通过文档了解API的功能
4)String及其常用API
String是不可变对象、String常量池、内存编码及长度、使用indexOf实现检索、使用substring获取子串、trim(查阅API)、chaAt(查阅API)。
5)java.lang.String使用了final修饰
不能被继承;字符串底层封装了字符数组及针对字符数组的操作算法;字符串一旦创建,对象永远无法改变,但字符串引用可以重新赋值;java字符串中任何一个字符对应16位(两个字节)的定长Unicod编码。
6)java常量池
java为了提高性能,静态字符串(字面量/常量/常量连接的结果)在常量池中创建,并尽量使用同一个对象,重用静态字符串;对于重复出现的字符串直接量,JVM会首先在常量池中查找,如果存在即返回该对象。
7)内存编码及长度
String在内存中采用Unicode编码,每个字符16位占用两个字节;任何一个字符(无论中文还是英文)都算1个char字符长度,占用两个字节。
8)StringBuilder
StringBuilder的很多方法的返回值均为StringBuilder类型。这些方法的返回语句均为:return this。
2、package apidoc;
/**
*文档注释是功能级注释,只在三个地方使用:类,
*常量,方法。在类上使用时是用来说明当前类的作
*用,设计目的等等。
*/
public class APIDocDemo{
public static final String INFO="你好";
public String sayHello(String name){
return "你好"+name;
}
}
3、
package string;
/**
*char charAt(int index)
*返回当前字符串中指定位置的字符
*
*/
public class CharAtDemo{
public static void main(String[] args){
// 0123456789
String str = "helloword!";
char c = str.charAt(7);
System.out.println(c);
for(int i=0;i<str.length();i++){
System.out.println(str.charAt(i));
}
}
}
4、
package string;
/**
*int indexOf(String str)
*检索并返回给定字符串在当前字符串中的位置,如果当前
*字符不包含给定的内容时,返回值为-1
*/
public class IndexOfDemo{
public static void main(String[] args){
// 0123456789012345
String str = "thinking in java";
//检索in在str中第一次出现的位置
int index = str.indexOf("in");
System.out.println(index);
//检索in在str中从第四个字符开始后的第一次出现的位置
index = str.indexOf("in",3);
System.out.println(index);
//检索in在str中最后一次出现的位置
index = str.lastIndexOf("in");
System.out.println(index);
}
}