字串相關操作——java
阿新 • • 發佈:2018-12-11
字串相關操作
1.字串變數
String s;
//String首字母大寫,所以其是一個類,String的變數是物件的管理者而非所有者。
String首字母大寫,所以其是一個類,String的變數是物件的管理者而非所有者。
2.物件的建立與初始化
String s ; //給s分配了空間,類名+變數名 s = new String(“a string”); //生成了s物件,初始化了s的例項變數 //兩步合併為一步 String s = new String(“a string”);//上面兩種為對類的建立及初始化 //或者 String s="a string";
步驟:
a.建立了一個String的物件
b.用“a string”初始化這個物件
c.建立管理這個物件的變數s,讓s來管理這個變數
3.字串連線
演示程式碼:
package spoc; import java.util.Scanner; public class print_out { public static void main(String[] args) { String s="hi"; System.out.println(24+12+s); //36hi System.out.println(s+24+12); //hi2412 System.out.println(s+(24+12)); //hi36 } }
結果輸出:
注意:
a.按優先順序,先遇到數字+數字+字串,則數字相加+字串輸出
String s="hi";
System.out.println(24+12+s); //36hi
b.遇到字串+數字+數字,則全部按字串輸出(因為按優先順序先遇到字串,所以後面的數字按字串處理)
String s="hi";
System.out.println(s+24+12); //hi2412
c.若在字串後的數字想以數值輸出,則給數字加括號,改變優先順序。
String s="hi"; System.out.println(s+(24+12)); //hi36
4.輸入字串
Scanner in=new Scanner(System.in );
String a = in.next(); //讀入遇到空格,回車,tab結束
in.nextLine(); //讀入一整行
5.判斷兩字串內容是否相等
注意:
a. 判斷兩字串是否為同一個字串. System.out.println(a=="iii");
b.若要比較兩字串的內容是否相等要用,a.equals("iii"));(a為字串變數)
package spoc;
import java.util.Scanner;
public class print_out {
public static void main(String[] args) {
//判斷輸入內容是否相等
Scanner in=new Scanner(System.in );
String a = in.next();
System.out.println(a=="iii"); //判斷兩字串是否為同一個字串
System.out.println(a.equals("iii"));//判斷兩字串內容是否相等
}
}
若鍵入 iii輸出結果為:
6.字串運算
a.字串比較大小
注意:若第二,三位都不同,只返回第二位差值
s1.compareTo(s2);
/*s1<s2,結果為負;
s1==s2,結果為0;
s1>s2,結果為正
*/
//compareToIgnoreCase可以不區分大小寫的比較大寫
b.獲得字串長度
s.length()
c.訪問String中的字元
s.charAt(2)//訪問s字串中的第二號字元,從0開始編號
d.得到字串
s.substring(2);//擷取2號位置以後(包括2號)的字串,
s.substring(2,5);//擷取2到5之前(即到第四位);
e.尋找字元
s.indexOf("4");//輸出所在位置,若不存在輸出-1;
s.indexOf("微笑");//輸出第一個元素所在位置,若不存在輸出-1;
//需返回字串中第二次出現a的位置,需設定變數loc標記第一次出現的位置
int loc=s.indexOf("a");
s.indexOf("a",loc+1);//尋找從loc+1開始,下一個字元"a"的位置
f.其他String操作
s.toUpperCase();//全部轉大寫
s.toLowerCase();//全部轉小寫
s.replace("a","cj");//把所以的a替換成cj
s.trim();//刪掉兩邊的字串
s.startsWith("a");//字母是否以"a"開頭
s.endsWith("h");//字母是否以"h"結尾
程式碼: 第a.b.c段程式碼:
package spoc;
import java.util.Scanner;
public class str2 {
public static void main(String[] args) {
//都不能修改字串本身
String s="abaa";
String k="Abvca";
String m="01234微笑";
//a.比較大小
System.out.println("abbb".compareTo(s));//值為1
//"abc"與s的差值,若第二,三位都不同,只返回第二位差值
System.out.println(k.compareTo(s));
//b.獲得字串長度
//c.訪問String中的字元
System.out.println(k.charAt(2));//輸出第二號元素(從0開始編號)
for(int i=0;i<s.length();i++)//遍歷s中的元素
{
System.out.print(s.charAt(i));
}
}
}
輸出結果:
第d.e.f段程式碼:
package spoc;
import java.util.Scanner;
public class str2 {
public static void main(String[] args) {
String s="abaa";
String k="AbvcA";
String m="01234微笑";
//d.得到字串
System.out.println(m.substring(2));//擷取2號位置以後(包括2號)的字串;234微笑
System.out.println(m.substring(2,5));//擷取2到5之前()即到第四位;234,
//e.尋找字元
System.out.println(s.indexOf("4"));//輸出所在位置,若不存在輸出-1;
System.out.println(m.indexOf("微笑"));//輸出第一個元素所在位置,若不存在輸出-1;
//尋找第二次出現的位置
int loc=k.indexOf("A");
System.out.println(k.indexOf("A",loc+1));//尋找從loc+1開始,下一個字元"a"的位置
//f.其他String操作
System.out.println(s.toUpperCase());//全部轉大寫
System.out.println(s.toLowerCase());//全部轉小寫
System.out.println(s.replace("a","cj"));//把所以的a替換成cj
s.trim();//刪掉兩邊的字串
System.out.println(s.startsWith("a"));//字母是否以"a"開頭
System.out.println(s.endsWith("h"));//字母是否以"h"結尾
}
}
輸出結果: