String類課堂筆記(20,21)
1. == 和 equals 方法的區別
"=="比較的是引用(是否指向同一個記憶體塊),“equals”比較的是具體的內容
String name1="張三" //直接賦值方式
String name2=new String("張三"); //new物件方式
String name3=name2 ; //傳遞引用
name1==name2 false
name1==name3 false
name2==name3 true
name1.equals(name2) true
name1.equals(name3) true
name2.equals(name3) true
2.String 兩種實列化方式區別
直接賦值方式:建立的物件放在字串物件池裡,如果存在就不建立
new物件方式:每次都建立新的物件
3.字串特性:
不能改變字串的內容,要想改變,只能通過指向一個新的記憶體地址
4.String常見的方法:
4.1 charAt :返回指定索引處的char值,索引範圍為0-----length()-1
String name="張三"
char ming =name.charAt(1)
4.2 length():返回字串的長度
4.3 indexof:返回指定字串在此字串中第一次出現的處的索引
String str="sadasd";
str.indexof("d");
4.4 substring(int beginIndex int endIndex)
返回一個新字串,該字串從指定的beginIndex處開始,直達索引endIndex -1處的字元,其長度為endIndex-beginIndex
String str1="不開心每一天,不可能"
str.substring(1,6)
結果:開心每一天
4.5 toUpperCase() :全變成大寫
tolowercase(): 全變成小寫
4.6 Trim():去掉字串前後空格
4.7 問題 題統計newStr中出現的英文字元 空格 其他的個數
String str ="asdaf ddcxzcsd2312”
int kongge=0
int yingwen=0
int qita=0;
for(int i=0; i<newStr.length();i++){
char c=newStr.charAt(i);
if(( c>= ‘a’&&c<'z‘)||( c>= ‘A’&&c<'Z‘)
{ yingwen++
} else if(c== ‘’ ”){
kongge++
} else{
qita++
}
}