java基础知识—字符串

1.声明字符串的方法:

String s ="你好"

String s=new String("你好");

2.字符串的长度:

字符串.length();

3. equals比较的是值,一般用于字符串比较

==比较的是地址 一般用于数字比较

4. equalslgnoreCase 比较时忽略大小写

toLowerCase()转换成小写,例:name.toLowerCase();

toUpperCase()转换成大写,例:naem.toupperCase();

5.\转义符

6.拼接字符串时用“+”或concat()方法,当原字符串是有效字符串时,在其后拼接新的字符串时,会创建副本。

例如:String str = "你好"; str = str + "北京";

String str = new String (“你好”); str . concat ("北京");

特点:使用“+”和concat()方法,会造成内存浪费,性能比较差,但是线程安全。

7. index(参数);获取第一个字符或字符串的下标。

indexOf(int ch); 例如: str.indexOf('你');

indexOf(String s); 例如: str.indexOf(".java");

8. lastIndexOf(参数);获得最后一个字符或字符串的下标。

lastIndexOf(int ch); 例如: str.lastIndexOf('你');

lastIndexOf(String ch); 例如: str.lastIndexOf(".java");

9. subString(参数); 截取字符串。

subString(int index); 下标从0开始数,从index开始截取到最后结束。

subString(int beginIndex,int endIndex);

下标从0开始数,从beginIndex开始,包括beginIndex位置。

到endIndex结束,不包括endIndex位置。

10.trim()方法,去字符串前后空格。

11.spilt(参数)方法,分割字符串,返回数组。

例如: String str = "长亭外-古道边-芳草碧连天-哈哈";

String[] word = str.spilt("-");

for(int i = 0;i<word.length;i++){

System.out.println(word[i]);

}

12.StringBuffer类,频繁拼接字符串时使用

例如: StringBuffer sbuf = new StringBuffer("你");

abuf.append("好吗?");

abuf.insert(1,"们");

String str=sbuf.toString();

System.out.println(str);//你们好吗?

特点:在自身上追加字符串,不会产生副本,所以节省内存,性能高,线程安全。

 

String、StringBuffer、StringBuilder 三者区别:

1)原理:String 频繁拼接时产生大量对象(副本)。

StringBuffer和StringBuilder都是在当前对象上操作的,所以不会产生大量的对象。

2)性能:String<StringBuffer<StringBuilder

3) 线程:String、StringBuffer 线程安全
StringBuilder非线程安全

总结:if (操作的数据较少){
String

} else{

if(多线程){

StringBuffer
} else {

StringBuilder
}
}

11.num=num++;
在计算时,在java虚拟机中的执行顺序
//1.num的值保存在栈中;
//2.num++;
//3.从栈中拿出值赋给num。

posted on 2017-01-31 22:52  小宁子!  阅读(138)  评论(0编辑  收藏  举报

导航