-
API
1.1 API概述
API(Application Programming Interface):应用程序编程接口
Java API:JDK中提供的各种功能的Java类
注意:调用方法的时候,如果方法有明确的返回值,用变量接收,可以手动完成,也可使用快捷键(Ctrl+Alt+V) -
String
2.1 String概述
String类在Java.lang包下,使用的时候不需要导包;
String类代表字符串,Java程序中的所有字符串文字都被实现为此类的实例,即Java程序中所有的双引号字符串,都是String类的对象。
字符串的特点:
(1)字符串不可变,它们的值在创建后不能被更改
(2)虽然String的值是不可变的,但是可以被共享
(3)字符串在效果上相当于字符串数组(char[]),但是底层原理是字节数组(byte[])
2.2 String构造方法
推荐使用直接赋值的方式得到字符串对象。
package String;
public class StringDemo1 {
public static void main(String[] args) {
//public String();创建一个空白字符串对象,不含有任何内容
String s1 = new String();
System.out.println("s1"+s1);
//public String(char[] chs);根据字符数组的内容,来创建字符串对象
char[] chs = {'a','b','c'};
String s2 = new String(chs);
System.out.println("s2"+s2);
//public String(byte[] bys);根据字符数组的内容,来创建字符串对象
byte[] bys = {87,88,89};
String s3 = new String(bys);
System.out.println("s3"+s3);
//String s = "abc";直接赋值的方式创建字符串对象,内容为abc
String s4 = "abc";
System.out.println("s4"+s4);
}
}
s1
s2abc
s3WXY
s4abc
2.3 String对象的特点
(1)通过new创建的字符串对象,每一次new都会重新申请一个内存空间,虽然内容相同,但是地址值不同
(2)以“ ”方式给出的字符串,只要字符串序列相同(顺序和大小写),无论在程序代码中出现几次,JVM都只会建立一个String对象,并在字符串池中维护
2.4 字符串的比较
使用==作比较:
(1)基本类型:比较的是数据值是否相同
(2)引用类型:比较的是地址值是否相同
字符串是对象,他比较内容是否相同,是通过一个方法来实现的:equals()
public boolean equals(Object anObject):将此字符串与指定对象进行比较,由于比较的是字符串对象,所以参数直接传递一个字符串。
2.5 通过帮助文档查看String中的方法
3. StringBuilder
3.1 StringBuilder概述
如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,即耗时,又浪费内存空间,而这种操作还不可避免。可以通过Java提供的StringBuilder来解决问题。
StringBuilder是一个可变的字符串类,把它看作一个容器(可变的指的是StringBuilder对象中的内容可变)
String、StringBuilder的区别:
String:内容是不可变的;
StringBuilder:内容是可变的
3.2 StringBuilder构造方法:
代码演示:
package StringBuilder;
public class StringBuilder1 {
public static void main(String[] args) {
//无参
StringBuilder sb = new StringBuilder();
System.out.println("sb"+sb);
System.out.println("sb.length():"+sb.length());
//带参
StringBuilder sb2 = new StringBuilder("hello");
System.out.println("sb2"+sb2);
System.out.println("sb2.length():"+sb2.length());
}
}
运行结果:
sb
sb.length():0
sb2hello
sb2.length():5
3.3 StringBuilder的添加和反转方法
代码演示:
package StringBuilder;
public class StringBuilder2 {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
/*
StringBuilder sb2 = sb.append("hellow");
System.out.println("sb"+sb);
System.out.println("sb2"+sb2);
System.out.println(sb==sb2);
*/
/*
sb.append("hellow");
sb.append("java");
sb.append(100);
System.out.println(sb);
//hellowjava100
*/
//链式编程
sb.append("hellow").append("java").append(100);
System.out.println(sb);
//反转
sb.reverse();
System.out.println(sb);
}
}
运行结果:
hellowjava100
001avajwolleh
3.4 StringBuilder和String相互转换
(1)StringBuilder转换为String
(2)String转换为StringBuilder
代码演示:
package StringBuilder;
public class StringBuilder3 {
public static void main(String[] args) {
//StringBuilder-String
/*
StringBuilder sb = new StringBuilder();
sb.append("hellow");
String s = sb.toString();
System.out.println(s);
*/
//String- StringBuilder
String s ="he";
StringBuilder sb = new StringBuilder(s);
System.out.println(sb);
}
}
运行结果:
hellow
he
3.5 通过帮助文档查看StringBuilder中的方法