课后作业及截屏
動手動腦一:查看其輸出結果。如何解釋這樣的輸出結果?從中你能總結出什么
public?class?StringPool?{
????????public?static?void?main(String?args[])
?????????{
??????????????String?s0="Hello";
??????????????String?s1="Hello";
??????????????String?s2="He"+"llo";
??????????????System.out.println(s0==s1);//true
??????????????System.out.println(s0==s2);//true
??????????????System.out.println(new?String("Hello")==new?String("Hello"));//false
??????????}
}
答案:因為字符串中,相同的變量處于相同的地址,而且“==”比較的是地址是否相同,“+”在字符串中代表的是連接。所以1、2個是正確的。而new是對對象分配空間,第三個是對兩個“Hello”分配了不同的存儲空間,所以兩個不相等。
動手動腦二:請查看String.equals()方法的實現(xiàn)代碼,注意學習其實現(xiàn)方法。
?
public?class?StringEquals?{
/**
?????*?@param?args?the?command?line?arguments
?????*/
???????public?static?void?main(String[]?args)?{
???????String?s1=new?String("Hello");
???????String?s2=new?String("Hello");
System.out.println(s1==s2);//false
???????System.out.println(s1.equals(s2));//true
String?s3="Hello";
???????String?s4="Hello";
System.out.println(s3==s4);//true
???????System.out.println(s3.equals(s4));//true
???????}
}
答案:在第一部分比較的是地址的相同,所以是false第二部分是比較s1和s2的大小不是存儲位置,所以相等,第三部分是直接復制對象,對象的比較是比較值的大小,所以第三和第四部分都相等。equals類型是取值,s3.equals(s4)是比較取值是否相等。
3、整理String類的Length()、charAt()、?getChars()、replace()、?toUpperCase()、?toLowerCase()、trim()、toCharArray()使用說明:
Length():計算字符串的長度;
計算字符串的長度;String?s?=?new?String(“abcdefghijklmn”);System.out.println(s.length());
?
charAt():獲取指定位置的字符;char?charAt(int?index)其中的參數(shù)index為字符串參數(shù),字符串的序數(shù)從0到length-1;例如:String?s?=?new?String(“abcdefghijklmn”);System.out.println(“s.charAt(5):”+s.charAt(5));結果為s.charAt(5):f。
getChars():獲取從指定位置起的子串復制到字符串數(shù)組中;void?getChars(int?scrBegin,int?scrEnd,char[]?dst,int?dstBegin);scrBegin拷貝起始的位置,scrEnd拷貝結束的位置,字符串數(shù)值dst為目標字符串數(shù)組,dstBegin為目標字符串數(shù)組的起始位置。例如:char[]s1?=?{‘i’,’?’,’l’,’o’,’v’,’e’,’?’,’m’,’e’,’!’};
String?s2?=?new?String?(“you!”);s2.getChar(0,3,s1,7);
System.out.println(s1);
結構為:i?love?you!
replace():子串替換;
toUpperCase():轉換為大寫;
String?s1=new?String(“abcd”)?;String?s2?=?s1.toUpperCase();
?
toLowerCase():轉換為小寫;
String?s1=new?String(“ABCD”)?;String?s2?=?s1.toUpperCase();
?
trim():去除頭尾空格;
toCharArray():將字符串轉換為字符數(shù)組;
4、課后作業(yè)
設計思想:
1,先輸入一段字符;
2、將字符轉換為字符串;
3、進行判斷是否為X、Y、Z;如果是。執(zhí)行4,不是,執(zhí)行5;
4、字符減23;
5、字符加3;
import?javax.swing.JOptionPane;
?
public?class?StringMiMa{
public?static?void?main(String[]?args){
String?s?=?JOptionPane.showInputDialog("請輸入字符串:");
char?charArray[]?=?s.toCharArray();//將字符串轉化為字符數(shù)組
for(int?i?=?0;i<charArray.length;i++)
{
?????if(charArray[i]=='X'||charArray[i]=='Y'||charArray[i]=='Z')
??????charArray[i]=(char)(charArray[i]-23);
?????
else
?????charArray[i]?=?(char)(charArray[i]+3);
}
JOptionPane.showMessageDialog(null,"加密后的字符串:"+String.valueOf(charArray));
}
}
轉載于:https://www.cnblogs.com/syhn/p/4899847.html
總結
- 上一篇: blog收藏
- 下一篇: 关于 微软必应词典客户端(pc) 的案例