1. 程式人生 > >String類課堂筆記(20,21)

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++

}

}