Java 常用類
字符串相關類
String類:構造字符串對象
常量對象:字符串常量對象是用雙引號括起的字符序列。
例如:”你好”、”12.97”、”boy”等。
字符串的字符使用Unicode字符編碼,一個字符占兩個字節
String類較常用構造方法:
String s1 = new String();
String s2 = new String(String original);
String s3 = new String(char[] a);
String s4 = new String(char[] a,int startIndex,int count)
字符串與基本數據的相互轉化
字符串轉換為基本數據類型
Integer包裝類的publicstatic intparseInt(String s):可以將由“數字”字符組成的字符串轉換為整型。
類似地,使用java.lang包中的Byte、Short、Long、Float、Double類調相應的類方法可以將由“數字”字符組成的字符串,轉化為相應的基本數據類型。
基本數據類型轉換為字符串
調用String類的publicString valueOf(int n)可將int型轉換為字符串
相應的valueOf(byteb)、valueOf(longl)、valueOf(floatf)、valueOf(doubled)、valueOf(booleanb)可由參數的相應類到字符串的轉換
字符串與字符數組
String類的構造方法:String(char[]) 和 String(char[],int offset,int length) 分別用字符數組中的全部字符和部分字符創建字符串對象
String類提供了將字符串存放到數組中的方法:
public void getChars(int srcBegin, int srcEnd, char[] dst,int dstBegin)
將字符串中的全部字符存放在一個字符數組中的方法:
public char[] toCharArray()
字符串與字節數組
String(byte[])用指定的字節數組構造一個字符串對象。String(byte[],int offset,int length) 用指定的字節數組的一部分,即從數組起始位置offset開始取length個字節構造一個字符串對象。
public byte[] getBytes() 方法使用平臺默認的字符編碼,將當前字符串轉化為一個字節數組。
public byte[] getBytes(String charsetName) 使用參數指定字符編碼,將當前字符串轉化為一個字節數組。
StringBuffer類
java.lang.StringBuffer代表可變的字符序列,可以對字符串內容進行增刪。
很多方法與String相同,但StingBuffer是可變長度的。
StringBuffer是一個容器。
StringBuffer類有三個構造方法:
StringBuffer()初始容量為16的字符串緩沖區
StringBuffer(int size)構造指定容量的字符串緩沖區
StringBuffer(String str)將內容初始化為指定字符串內容
StringBuilder類
StringBuilder和StringBuffer非常類似,均代表可變的字符序列,而且方法也一樣
String:不可變字符序列
StringBuffer:可變字符序列、效率低、線程安全
StringBuilder(JDK1.5):可變字符序列、效率高、線程不安全
String使用陷阱:
string s=”a”; //創建了一個字符串
s=s+”b”; //實際上原來的”a”字符串對象已經丟棄了,現在又產生了一個字符串s+”b”(也就是”ab”)。如果多次執行這些改變串內容的操作,會導致大量副本字符串對象存留在內存中,降低效率。如果這樣的操作放到循環中,會極大影響程序的性能。
日期類
1.java.lang.System類
System類提供的public static long currentTimeMillis()用來返回當前時間與1970年1月1日0時0分0秒之間以毫秒為單位的時間差。
此方法適于計算時間差。
計算世界時間的主要標準有:
? UTC(Universal Time Coordinated)
? GMT(Greenwich Mean Time)
? ST(CentralStandard Time)
2.java.util.Date類
表示特定的瞬間,精確到毫秒
構造方法:
Date( )使用Date類的無參數構造方法創建的對象可以獲取本地當前時間。
Date(long date)
常用方法:
getTime():返回自1970年 1 月 1 日 00:00:00GMT 以來此Date對象表示的毫秒數。
toString():把此Date對象轉換為以下形式的String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天(Sun,Mon, Tue, Wed, Thu, Fri, Sat),zzz是時間標準。
3.Date類的API不易于國際化,大部分被廢棄了,java.text.SimpleDateFormat類是一個不與語言環境有關的方式來格式化和解析日期的具體類。
它允許進行格式化(日期->文本)、解析(文本->日期)
格式化:
SimpleDateFormat() :默認的模式和語言環境創建對象
public SimpleDateFormat(String pattern):該構造方法可以用參數pattern指定的格式創建一個對象,該對象調用:
public String format(Date date):方法格式化時間對象date
解析:
public Date parse(String source):從給定字符串的開始解析文本,以生成一個日期。
Math類
java.lang.Math提供了一系列靜態方法用于科學計算;其方法的參數和返回值類型一般為double型。
BigInteger類
Integer類作為int的包裝類,能存儲的最大整型值為2^31-1,BigInteger類的數字范圍較Integer類的數字范圍要大得多,可以支持任意精度的整數。
BigDecimal類
一般的Float類和Double類可以用來做科學計算或工程計算,但在商業計算中,要求數字精度比較高,故用到java.math.BigDecimal類。BigDecimal類支持任何精度的定點數。