1. 程式人生 > >String型別常用方法

String型別常用方法

int length()

該方法可以返回當前字串的長度(字元個數)

		String str = "我愛java!";
		int len = str.length();
		System.out.println("length:"+len);//7

char charAt(int index)

返回當前字串中指定位置處對應的字元

		//            0123456789012345
		String str = "thinking in java";
		char c = str.charAt(9); //返回下標9對應的字元
		System.out.println(c); //i
		
		/*
		 * 檢測迴文
		 * 上海自來水來自海上
		 * 
		 * 規則:正數位置上的字元與倒數位置上的字元都
		 * 一樣的則是迴文
		 */
		
		String line = "上海自來水來自海上";
		for(int i=0;i<line.length()/2;i++){
			char c1 = line.charAt(i);
			char c2 = line.charAt(line.length()-1-i);
			if(c1!=c2){
				System.out.println("不是迴文數");
				return;
			}
		}
		System.out.println("是迴文數");

int indexOf(String str)

查詢給定字串在當前字串中的位置。
若當前字串不包含給定內容,則返回值為-1

		//            0123456789
		String str = "thinking in java";
		int index = str.indexOf("in");
		System.out.println("index:"+index); //2
		
		/*
		 * 過載方法允許從指定位置開始查詢第一次出現的位置
		 */
		index = str.indexOf("in",3);//從指定下標開始查詢
		System.out.println("index:"+index);//5
		
		/*
		 * 查詢給定字串在當前字串中最後一次出現的位置
		 */
		index = str.lastIndexOf("in");
		System.out.println("index:"+index);//9   
		
		//如何判斷字串只出現一次 
		// indexOf與lastIndexOf返回值相等,則只出現一次

String substring(int start,int end)

擷取當前字串中指定範圍內的字串,在API中有一個
特點,凡是使用兩個數字表示範圍時,通常都是 "含頭不含尾"的

		//            0123456789012
		String str = "www.baidu.com";
		//擷取域名
		String sub = str.substring(4,9);//包含4的下標開始擷取 ,不包含9下標的字元
		System.out.println(sub);//baidu
		
		//一個引數的則是從指定位置擷取到末尾
		sub = str.substring(4);
		System.out.println(sub);//baidu.com

String startsWith(String str)

判斷當前字串是否是以給定的字串開始的

String endsWith(String str)

判斷當前字串是否是以給定的字串結尾的
返回值都為boolean型別

		String line = "thinking in java";
		
		boolean starts = line.startsWith("th");
		System.out.println("starts:"+starts);//true
		
		boolean ends = line.endsWith("va");
		System.out.println("ends:"+ends);//true

字串提供了可以將當前字串中的英文部分轉換為全大寫或全小寫

String toUpperCase() 轉大寫

String toLowerCase() 轉小寫

		String str = "我愛Java";
		String upper = str.toUpperCase();
		System.out.println("upper:"+upper);//我愛JAVA
		String lower = str.toLowerCase();
		System.out.println("lower:"+lower);//我愛java

String trim()

去除一個字串兩邊的空白字元

		String string = "   he llo			";
		System.out.println(string);
		
		String trim = string.trim();  //只能去掉兩邊的空白
		System.out.println(trim);//he llo

String.valueOf()

字串提供了一組靜態的方法:String.valueOf()
可以將其他型別轉換為字串。常用的是將基本型別轉換為字串

		int i = 123;
		String iString = String.valueOf(i);
		System.out.println(i+4); //127
		System.out.println(iString+4);//1234
		
		iString = i+""; //任何內容與字串連線結果還是字串
		
		double d = 123.123;
		String dString = String.valueOf(d);
		System.out.println(dString);

String方法test

		//length()
		String s1 = "我我1234";
		int length = s1.length();
		System.out.println("length="+length);//6
		
		/*indexOf(String str) 
		 * 查詢給定字串在當前字串中的位置,若無則返回值為-1
		 */ 
		String s2 = "thinking";
		int index = s2.indexOf("in");
		System.out.println("index="+index);//2,在下標2
		
		/*charAt(int index)
		 * 返回當前字串對應位置的字元
		 */
		String s3 = "thing";
		char c = s3.charAt(2);
		System.out.println("c="+c);//i,下標2對應的字元為i
		
		/*
		 * String substring(int start,int end)
		 * 擷取當前字串中指定範圍內的字串,在API中有一個
		 * 特點,凡是使用兩個數字表示範圍時,通常都是 "含頭不含尾"的
		 */
		
		String s4 = "thinkinginjava";
		String ss = s4.substring(4,9); //不包含9下標的字元
		System.out.println("ss="+ss);//kingi
		
		//只有一個引數是從指定位置擷取到末尾
		String ss1 = s4.substring(7);
		System.out.println("ss1="+ss1);//ginjava
		
		/*String trim()
		 * 去除字串兩邊空白字元
		 */
		String s5 = "  hello     	";
		System.out.println("s5="+s5);//  hello
		s5 = s5.trim();
		System.out.println("s5="+s5);//hello
		
		/*String startsWith(String str)
		 * 判斷當前字串是否是以給定的字串開始的
		 * String endsWith(String str)
		 * 判斷當前字串是否是以給定的字串結尾的
		 * 返回值 boolean
		 */
		String s6 = "thinking java";
		boolean start = s6.startsWith("th");
		System.out.println("start="+start);//true
		boolean end = s6.endsWith("aa");
		System.out.println("end="+end);//false
		
		/*String toUpperCase() 將字串中的英文部分轉換成大寫
		 * String toLowerCase()                   小寫
		 */
		String s7 = "我愛Java";
		String upper = s7.toUpperCase();
		System.out.println("upper="+upper); //我愛JAVA
		String lower = s7.toLowerCase();
		System.out.println("lower="+lower); //我愛java
		
		/*
		 * 靜態方法 valueOf()  類名.  訪問
		 * 將其他型別轉換成字串
		 */
		int i = 123;
		String istr = String.valueOf(i);
		System.out.println(i+4);//127
		System.out.println(istr+4); //1234