1. 程式人生 > >Java語言中的---字符串

Java語言中的---字符串

java語言中的---string類

day09 Java語言中的---字符串

一、字符串概述:

字符串在程序中是一個非常重要的知識點,在處理一系列程序的時候都會定義一些字符串來使用。下面我們就來看看如何定義和使用一個字符串。


二、字符串(String):

1、字符串的分類:字符串根據能否可以改變被分為常用的三種,

(1)“String”類:這個類是Java本身自帶的一個類,無需定義。可以直接使用,但是當你在操作這個類的時候你就可以直接創建實例。同時這也是一個不可變的類,也就是說你對某個字符串新增或者刪除時,原來的這個字符串是不會受到影響的。

(2)“StringBuffer”類:這個是線程安全的類,這個類也是可以直接通過創建對象來創建實現,同時它是一個可變類,也就是說這個類你對他進行增刪字符串的時候就可以直接改變原來的字符串。

(3)“StringBuilder”類:這個是非線程安全的類,這個類的使用方式和方法與StringBuffer類一樣的。直接就可以掉方法使用。


2、實例一“String”類的一些使用:

    package www.com.c2;
    public class StringA {
        public static void main(String[] args) {
		
	//String類、是不可變類
	//定義字符串
	    String a = "zs";//創建方式一
	    String b = new String("ls");//創建方式二
	    	
	//判斷兩個字符串是否相等。
	    System.out.println(a.equals(b)?"yes":"no");
		
/*	註意:
            使用第一中方式創建字符串時,會先去堆裏面查找是否有相應的字符串。
        如果有就不會在堆裏面創建。而會在棧裏面創建出相應的名字指向同一個堆。
	如果沒有就會創建出來。
            使用第二中方式創建字符串的時候,不管你堆裏面是否有相應的字符串,
        都會被再一次的創建,而不受任何影響。只要new就會創建新的內存。
*/
		
	//字符長度
	    String C = new String("abcdefg");
	    int len = C.length();
	    System.out.println("字符串的長度是:"+len);
	//查看某一個位置上的字符
            char e = C.charAt(1);
	    System.out.println("你查看的是:"+e+"這個字符!");
		
	//具體操作某一個字符串	
            String path = "中華路"+"延安路"+"寶山路"+"北京路";
	    System.out.println(path);
	    System.out.println("字符串的長度為:"+path.length());
	    System.out.println("判斷字符是否是中華路開頭的:"+path.startsWith("中華路"));
	    System.out.println("判斷字符是否是寶山路結尾的:"+path.endsWith("寶山路"));
	    System.out.println("這個是截取中間的某一個字段:"+path.substring(4,11));
	    System.out.println("這是將字符串中的北京路替換成中山路:"+path.replaceAll("北京路", "中山路"));
			
	//然而我們的操作了path字符串,但是path這個字符串的本身是沒有改變的。
	//判斷兩個字符串是否相等
	    String zs = "student";
	    String ls = new String("STUDENT");
	    System.out.println(zs==ls);//輸出不相等
	    System.out.println(zs.equals(ls));//輸出不相等。是因為大小寫不一樣
	    System.out.println(zs.equalsIgnoreCase(ls));//不區分大小寫的判斷
	//所以說:在判斷字符串是否相等請使用“.equals”來判斷。
		
	//將字符串轉成字符數組
	    String wmz = "abcdefghigk";
	    char[] ABC = wmz.toCharArray();
	    System.out.println(ABC);
			
	}
}

3、實例二“StringBuider”類

    package www.com.c2;
    public class StringBuiderB {
        public static void main(String[] args) {
	
	//StringBuilder:非線程安全的string類。是可變類。
		StringBuilder zs = new StringBuilder("abcdefg");
		
		System.out.println("字符串的長度:"+zs.length());
		System.out.println("追加功能:"+zs.append("--這是追加的字符!"));
		System.out.println("刪除指定位置間的字符:"+zs.delete(2, 4));
		System.out.println("顛倒字符串的順序:"+zs.reverse());
		
	//Stringbuffer:是線程安全的。避免多線程的競爭。是可變類
		StringBuffer ls = new StringBuffer("ABCDEFG");
		System.out.println("字符串的長度:"+ls.length());
		System.out.println("追加功能"+ls.append("、ok!這是追加的哦!"));	
		
	}
}


三、結束語:

到這兒我就想說一點,StringBuider類和StringBuffer類的使用時一樣的,所以說實例二是兩個知識點的實例。這些也知識一些基礎的東西。了解一下吧!


本文出自 “程序猿” 博客,轉載請與作者聯系!

Java語言中的---字符串