Java基礎 快速學習(二)
注意:本系列部落格是在作者已經有一年多的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 類。
三、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 略過
----------------------------------------------------------------
本系列文章:
相關文章
- Java基礎 快速學習(三)Java
- Java基礎 快速學習(四)Java
- C++ -> Java快速學習-基礎C++Java
- 大資料學習之路——java基礎(二)大資料Java
- Java基礎學習Java
- JAVA學習--JAVA基礎(一)Java
- 零基礎快速學習Java技術的方法整理Java
- java基礎的學習Java
- Spark學習(二)——RDD基礎Spark
- 流程控制與陣列—Java基礎學習(二)陣列Java
- 【Java 反射學習】Java 反射基礎Java反射
- [Java 反射學習] Java 反射基礎Java反射
- Kotlin 基礎學習+快速實踐Kotlin
- Oracle學習快速入門基礎教程Oracle
- java基礎學習(目錄)Java
- java語言基礎學習Java
- java基礎學習之--XMLJavaXML
- Java基礎學習筆記Java筆記
- Elasticsearch學習系列二(基礎操作)Elasticsearch
- shell基礎學習總結(二)
- 學習java需要什麼基礎Java
- java基礎學習:JavaWeb之ServletJavaWebServlet
- JAVA基礎學習篇之反射Java反射
- Java學習之基礎語法Java
- java webService 零基礎學習JavaWeb
- Java基礎-學習筆記05Java筆記
- Java基礎-學習筆記06Java筆記
- Java基礎-學習筆記07Java筆記
- Java基礎-學習筆記04Java筆記
- Java基礎-學習筆記17Java筆記
- Java 基礎學習系列一 —— Java 主要特性Java
- Java學習之基礎語法練習Java
- Java零基礎小白必看的學習路線圖,快速入門!Java
- 如何快速打好Java基礎?Java
- 零基礎輕鬆入門——JAVA基礎學習Java
- JAVA SE基礎(二)Java
- java基礎學習_io流之FileInputStreamJava
- java入門基礎學習----泛型Java泛型