Java基礎 快速學習(二)

路人暴脾氣發表於2017-06-07

注意:本系列部落格是在作者已經有一年多的C++經驗的基礎上學習Java的個人總結,可能並不適合所有看到這篇部落格的人。

一、字串String

在Java中 沒有單獨的字元這一說,字串 全部用String來表示 ,當然 String也是 類 型別。用法和C++中的string 類大致一致,不過還是要注意以下區別:Java中 String是定長的,在建立完成後是不可修改的,至於擷取,替換,拼接這些操作其實是把結果另外產生一個物件,本身是不會改變的;C++中string字串的擷取,替換,拼接等操作返回的是一個物件的引用,也就是說本質上只是多一個源物件的指向本身是改變的。可以測試以下程式碼:

/******java測試*******/
		str_a.replace("1", "ss");
		System.out.println(str_a);    //結果為123

/******c++******/
string a = "ddddd";
a.replace(0,1,"aaa");
cout << a << endl;

下面貼一點Java基本示例

public class Hello
{

	public static void main(String[] args)
	{
		//建立物件
		String text="hello world";
		String text2=new String("hello world");
		
		//長度
		int len=text.length();  //java 不管是中文還是英文  每個字元都是按1計數的
		System.out.println(len);
		
		//擷取
		String text_sub=text.substring(1,4);
		System.out.println(text_sub);
		
		//替換
		String text_rep=text.replace("world", "china");
		System.out.println(text_rep);
		
		//數值->字元
		int a=123;
		String str_a=String.valueOf(a);
		System.err.println(str_a);
		
		//格式化字串  
		String text_str=String.format("a=%d,%s", a,text_rep);
		System.err.println(text_str);
		
	}

}

另外java當然也支援 + 操作 直接將字元相加拼接起來(不過這種方法最好少用,因為在拼接的過程中會產生大量垃圾物件 增加垃圾回收的負擔)


二、StringBuffer 和 StringBuilder 類

1.當對字串進行修改的時候,需要使用 StringBuffer 和 StringBuilder 類。

2.和 String 類不同的是,StringBuffer 和 StringBuilder 類的物件能夠被多次的修改,並且不產生新的未使用物件。

3.StringBuilder 類和 StringBuffer 之間的最大不同在於 StringBuilder 的方法不是執行緒安全的(不能同步訪問)。

4.由於 StringBuilder 相較於 StringBuffer 有速度優勢,所以多數情況下建議使用 StringBuilder 類。然而在應用程式要求執行緒安全的情況下,則必須使用 StringBuffer 類。


這兩個類的成員函式與String 類似 詳情可以參考一下這裡

三、static 基本用法 Java的全域性變數和全域性函式
在java中被static修飾的成員變數、函式就成為全域性的變數和函式。因為Java中變數、函式都在類中,所以並沒有     “c式” 的全域性變數、函式,用法和c++中的用法很類似,不同之處在使用時用 ClassName.variable/function  ,不像c++使用:: 
舉個例子:
public class Example
{
	static public int a=555;
	static public int func1()
	{
		return 2;
	}
}

System.out.println(Example.func1());   //列印2
System.out.println(Example.a+7);   //列印562

四、final 
基本含義與用法同c++ const    略過

----------------------------------------------------------------
本系列文章:

相關文章