1. API
1.1 API概述
API(Application Programming Interface):应用程序编程接口
Java API:JDK中提供的各种功能的Java类
注意:调用方法的时候,如果方法有明确的返回值,用变量接收,可以手动完成,也可使用快捷键(Ctrl+Alt+V)
2. String
2.1 String概述
String类在Java.lang包下,使用的时候不需要导包;
String类代表字符串,Java程序中的所有字符串文字都被实现为此类的实例,即Java程序中所有的双引号字符串,都是String类的对象。
字符串的特点:
(1)字符串不可变,它们的值在创建后不能被更改
(2)虽然String的值是不可变的,但是可以被共享
(3)字符串在效果上相当于字符串数组(char[]),但是底层原理是字节数组(byte[])
2.2 String构造方法
推荐使用直接赋值的方式得到字符串对象。
packageString; publicclassStringDemo1 { publicstaticvoidmain(String[] args) { //public String();创建一个空白字符串对象,不含有任何内容Strings1=newString(); System.out.println("s1"+s1); //public String(char[] chs);根据字符数组的内容,来创建字符串对象char[] chs= {'a','b','c'}; Strings2=newString(chs); System.out.println("s2"+s2); //public String(byte[] bys);根据字符数组的内容,来创建字符串对象byte[] bys= {87,88,89}; Strings3=newString(bys); System.out.println("s3"+s3); //String s = "abc";直接赋值的方式创建字符串对象,内容为abcStrings4="abc"; System.out.println("s4"+s4); } }
s1s2abcs3WXYs4abc
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构造方法:
代码演示:
packageStringBuilder; publicclassStringBuilder1 { publicstaticvoidmain(String[] args) { //无参StringBuildersb=newStringBuilder(); System.out.println("sb"+sb); System.out.println("sb.length():"+sb.length()); //带参StringBuildersb2=newStringBuilder("hello"); System.out.println("sb2"+sb2); System.out.println("sb2.length():"+sb2.length()); } }
运行结果:
sbsb.length():0sb2hellosb2.length():5
3.3 StringBuilder的添加和反转方法
代码演示:
packageStringBuilder; publicclassStringBuilder2 { publicstaticvoidmain(String[] args) { StringBuildersb=newStringBuilder(); /*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); } }
运行结果:
hellowjava100001avajwolleh
3.4 StringBuilder和String相互转换
(1)StringBuilder转换为String
(2)String转换为StringBuilder
代码演示:
packageStringBuilder; publicclassStringBuilder3 { publicstaticvoidmain(String[] args) { //StringBuilder-String/*StringBuilder sb = new StringBuilder();sb.append("hellow");String s = sb.toString();System.out.println(s);*///String- StringBuilderStrings="he"; StringBuildersb=newStringBuilder(s); System.out.println(sb); } }
运行结果:
hellow
he
3.5 通过帮助文档查看StringBuilder中的方法