目录
1.API(application programming interface):应用程序编程接口。
2.String 是java.lang包下的,不需要导包 。
1.API(application programming interface):应用程序编程接口。
使用jdk说明书。Random是java.util包下 的。java.lang包不需要导入。
sc.nextLine();按 ctrl + alt + v可快捷生成左边 String s = sc.nextLine();
2.String
是java.lang包下的,不需要导包 。
-
String
类代表字符串。 Java程序中的所有字符串文字(例如"abc"
)都被实现为此类的实例。java中所有的双引号字符串,都是String类的对象。 -
字符串特点:
-
(1)字符串不可变,它们的值在创建后不能被更改
-
(2)虽然String的值是不可变的,但是它们可以被共享
-
(3)字符串效果上相当于字符数组(char[]),但是底层原理是字节数组(byte[])。
String 构造方法:
方法名 | 说明 |
public String() | 创建一个空白字符串对象,不含任何内容 |
public String(char[] chs) | 根据字符数组的内容,来创建字符串对象 |
public String(byte[] bys) | 根据字节数组的内容,来创建字符串对象 |
String s = "abc"; | 直接赋值的方式创建字符串对象,内容就是abc |
字符串的比较
用==比较 : 基本类型:比较的是数据值是否相同
引用类型:比较的是地址值是否相同
字符串是对象,它比较内容是否相同,是通过一个方法来实现的,这个方法叫:equals()
public boolean equals(Object anObject):将此字符串与指定对象进行比较。因为比较的是字符串对象,所以参数直接传递一个字符串
例如:s1.equals(s2);
获取功能的方法:
使用:
例如 s1 = "abcd" s2="abc"
s1.length的结果:4 s1.concat(s2)结果:"abcdabc" s1.charAt(2)结果: c s1.indexOf(cd)的结果:2 s1.substring(2)的结果:cd s1.substring(0,2)结果:ab
3.StringBuilder
字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时又浪费内存空间,而这种操作还不可避免。那么有没有一种比较好的方式可以解决这个问题呢?答案肯定是有的,我们可以通过Java提供 的StringBuilder类来解决这个问题。
查看帮助手册。StringBuilder是java.lang包下的,不需要导包。是一个可变的字符串。
String:内容不可变。StringBuidler:内容可变
StringBuilder构造方法:
StringBuilder xx = new StringBuilder();//初始化一个空的xx
StringBuilder xx =new StringBuilder("helloworld");//初始化xx的值为helloworld
StringBuilder添加和反转方法
xx.append("hello").append("world").append(100) ;//直接在原字符串的后面添加
xx.reverse() ; //会直接反转xx,并替代原来的顺序
String和StringBuilder相互转换:
String转为StringBuilder:new StringBuilder(xx);//初始化为指定内容为xxd的一个对象
StringBuilder转为String:xx.toString();
可以匿名对象调用:
public static void main(String[] args) {
//从键盘录入一个字符串
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String line = sc.nextLine();
System.out.println(getReversal(line));
}
public static String getReversal(String s){
//-------
String str = new StringBuilder(s).reverse().toString();
//------
return str;
}
String----(new StringBuilder(s))---->StringBuilder----(reverse())--->StringBuilder---(toString())--->String