java-String及其常用API
阿新 • • 發佈:2019-01-23
package day_7_23;
/**
* String是不可變物件
* java.lang.String使用了final修飾,不能被繼承;
* 字串底層封裝了字元陣列及針對字元陣列的操作演算法;
* 字串一旦建立,物件永遠無法改變,但是字串引用可以重新賦值
* java字串在記憶體中採用Unicode編碼方式,任何一個字元對應兩個位元組的定長編碼
*
*int indexOf(String str):返回在字串中str第一次出現的位置,若沒有返回-1
*int indexOf(String str,int fromIndex):從字串的fromIndex中開始檢索
*int lastIndexOf(String str):str在字串上出現多次,則在最後一次出現的位置
*
*String substring(int strat):擷取從start(包括)下標開始到字串結尾的字串並返回
*String substring(int start,int end):擷取當前字串指定範圍內的字串並返回,在java api中通常使用兩個數字表示範圍時,都是“含頭不含尾”
*
*/
public class Str {
public static void main(String[] args) {
String s1="123a";
String s2="123a";
String s3="123b";
System.out.println(s1==s2);//true
System.out.println(s1==s3);//false
String s4=123+"a";//編譯器編譯程式時若發現一個計算表示式則所有內容都是直接量,就直接算成“123a”
System.out.println(s1==s4);//true
String s="123";
String s5=s+"a";//編譯器發現左邊為變數就重新分配地址值
System.out.println(s1==s5);//false
//字串的下標:012345678
String str="839756abc";
System.out.println(str.indexOf("756"));//3
System.out.println(str.indexOf("a" ,6));//6
System.out.println(str.substring(2));//9756abc
System.out.println(str.substring(0, 2));//83
System.out.println(str.charAt(8));//c
String a="http://www.baidu.com";
String b="http://www.jindong.com";
System.out.println(getHostName(a)+","+getHostName(b));
//char charAt(int index):返回當前字串中指定位置的字元-----檢視字串是否是迴文
String a1="上海自來水來自海上";
for(int i=0,j=a1.length()-1;i<a1.length()/2;i++,j--) {
if(a1.charAt(i)!=a1.charAt(j)) {
System.out.print("不");
break;
}
}
System.out.println("是迴文");
/**String trim():去除當前字元兩邊的空白字元**/
String use=" kkk KK ";
System.out.println(use.trim());
//boolean startsWith(String str):判斷字串是否以給定字串開始
//boolean endsWith(String str):判斷字串是否以給定字串結束
String us="學生.txt";
System.out.println("學生.txt "+us.endsWith(".txt"));
/**
* static String valueOf(...)
* String提供了一組過載的靜態方法valueOf
* 作用是將java其他型別轉換為字串
* 常用於
*/
int a3=123;
double a4=123456.65;
float a5=90.3f;
System.out.println(String.valueOf(a3)+";"+String.valueOf(a4)+";"+a5);
/**
* String toUpperCase():將當前字串中的英文部分轉換為全大寫
* String toLowerCase():將當前字串中的英文部分轉換為全小寫
*/
String tu="java我愛學習";
System.out.println(tu.toUpperCase());
}
public static String getHostName(String host) {
int start=host.indexOf(".")+1;//獲取第一次出現.的下個字元的下標
int end =host.indexOf(".",start);
return host.substring(start,end);
}
}