常用API
Object類
jvm啟動,預設匯入的是java.lang包中的內容,該包下的內容不需要import進行匯入。
概念
- 該類是java體系中的根類,所有物件都將該類作為直接或者間接父類
所有物件包括陣列都繼承了該類中的方法
構造方法:
- Object() :該方法中沒有super()語句了。
方法
-
boolean equals(Object obj)
-
比較兩個物件的地址值是否相同
-
該方法比較的是地址值,沒有實際意義,通常會將該方法進行重寫,比較有意義資料,通常是類中屬性的比較。
-
== 和 equals區別:
-
==
- 可以比較基本··型別也可以比較引用型別
- 比較基本型別: 比較是數值是否相同
- 比較引用型別: 比較是的地址值
-
equals
- 只能進行引用型別的比較,比較是地址值
- 通常會重寫,比較屬性
-
-
-
int hashCode() :返回物件的雜湊碼值
- 每建立一個物件,該物件都會有一個雜湊值存在,預設不同物件(object類中的equals)雜湊值不同,但是可以通過重寫hashCode方法,讓不同物件有相同的雜湊值。因此該方法是不能判斷是否是同一物件的。如果是同一物件的,雜湊值一定相同。
-
String toString() :返回物件的字串表示
String類
概述
-
1.該類是一個final類,不能有子類。
-
2.只要出現雙引號表示的字面值資料,都是該類的一個例項物件,如“abc”
說明建立字串物件,可以不適用關鍵字new。 -
3.字串是常量,建立後不能改變,能改變的是引用的指向
-
4.由於字串不能改變,因此被共享。
-
5.字串底層原理就是字元陣列
構造方法
-
使用new關鍵字建立物件時,呼叫的方法
-
單元測試:JUnit
- 定義方法: public void 方法名(){ ....}
- 需要在方法的上邊加入 @Test 註解,需要匯入對應的列庫。
- 注意:專案中不要出現以Test為類名的類。
-
-
String()
- 初始化一個新建立的String物件,使其表示一個空字元序列
-
String(byte[] bytes)
- 通過使用平臺的預設字符集解碼指定的byte陣列,構造一個新的String
-
String(byte[] bytes,int offsert,int length)
- 通過使用平臺的預設字符集解碼指定的byte子陣列,構造一個新的String
-
String(char[] value)
- 分配一個新的String,使其表示字元陣列引數中當前包含的字元序列
-
String(char[] value,int offsert,int count)
- 分配一個新的String,包含取自字元陣列引數一個子陣列的字元
-
String(String original)
- 初始化一個新建立的String物件,使其表示一個與引數相同的字元序列
- 新建立的字串是該引數字串的副本
方法
-
1、判斷
-
返回boolean
-
contains(CharSequence s)
- 當且僅當此字串包含指定的char值序列,返回true
-
endsWith(String suffix)
- 測試此字串是否以指定的字尾結束。
-
equals(Object anObject)
- 將此字串與指定物件比較
-
equalsIgnoreCase(String anotherString)
- 將此String與另一個String比較,不考慮大小寫
-
isEmpty()
- 當且僅當length()為0時返回true
-
startsWith(String prefix)
- 測試此字串是否以指定的字首開始
-
-
-
2、獲取
-
返回char
-
charAt(int index)
- 返回指定索引處的char值
-
-
返回int
-
找不到指定的字元或字串,則返回固定值-1
-
indexOf(int ch)
- 返回指定字元在次字串中第一次出現處的索引
-
indexOf(int ch,int fromIndex)
- 返回在次字串中第一次出現指定字元處的索引,從指定的索引開始搜尋
-
indexOf(String str)
- 返回指定字串在此字串中第一次出現處的索引
-
indexOf(String str,int fromIndex)
- 返回在次字串中第一次出現指定字串處的索引,從指定的索引開始搜尋
-
length()
- 返回此字串的長度
-
-
返回String
-
擷取字串
-
substring(int beginIndex)
- 返回一個新字串,它是此字串的一個子字串
-
substring(int beginIndex,int endIndex)
- 返回一個新字串,它是此字串的一個子字串
-
-
-
3、轉換
-
返回String
-
copyValueOf(char[] data)
- 返回指定陣列中表示該字元序列的String
-
copyValueOf(char[] data,int offset,int count)
- 返回指定陣列中表示該字元序列的String
-
將字元陣列轉換為字串
-
將任意型別轉換為字串
-
valueOf()
- 引數可為各種基本型別,返回該引數的字串形式
-
-
字母字串的大小寫轉換
-
toUpperCase()
- 將此String中的所有字元轉換為大寫
-
toLowerCase()
- 將此String中的所有字串轉換為小寫
-
-
-
返回char[]
-
toCharArray()
- 將此字串轉換為一個新的字元陣列
-
-
返回byte[]
-
getBytes()
- 使用平臺的預設字符集將此String編碼為byte序列,並將結果儲存到一個新的byte陣列中
-
-
-
4、其他
-
返回String
-
concat(String str)
- 將指定字串連線到此字串的結尾
-
replace(char oldChar,char newChar)
- 返回一個新的字串,它是通過用newChar替代此字串出現的所有ordChar得到的
-
trim()
- 返回字串的副本,忽略前面和尾部的空白
-
-
字串快取區物件
緩衝區:
- 看成一個容器,此容器的大小可以改變
字串緩衝區
- 操作過程中可以操作任意型別的資料,操作結束後,得到一個唯一的字元。
在操作的過程中,一直操作同意快取區
物件
-
StringBuffer和StringBuilder
-
區別
- StringBuffer jdk1.0版本的,多執行緒安全,效率慢
-
StringBuilder jdk5.0版本的,多執行緒不安全,效率快
-
特點
- 都是final類,即不能有子類,可變的字元序列
-
構造方法
- new StringBuilder() 常用
- new StringBuilder(指定容量)
- new StringBuilder(String str) 常用,將字串轉為字串緩衝區物件
-
字串和緩衝區物件之間的轉換問題:
-
String---->StringBuilder :
- new StringBuilder(String str)
-
StringBuilder ---->String
- new String(StringBuilder s)
- new StringBuilder().toString()
-
互轉的目的就是為了使用對方的功能或對方的特點
-
-
方法
-
增
- append(data) : 將data追加到原有資料的末尾
- insert(index,data) :將data插入到index位置上
-
刪
- delete(start ,end) :刪除[start,end)區間內的字元
- deleteCharAt(index):刪除index位置上的字元
-
改
- replace(start,end ,newStr):將[start,end)區間內的替換為newStr
- reverse(): 反轉
- setCharAt(index, newChar) :將index位置上的字元修改為newChar
-
查
- length(): 獲取字元長度
- capcity(): 獲取實際容量
- toString():返回字元序列
-
-
包裝類
java.lang包中的物件
- 基本型別僅僅是表示一個簡單的資料,需要能像物件一樣,進行方法和屬性的訪問操作。
基本型別
- byte short int long double float char boolean
包裝型別
- Byte Short Integer Long Double Float Character Boolean
構造方法
-
Integer(int value)
- 構造一個新分配的Integer物件,它表示指定的int值
-
Integer(String s)
- 構造一個新分配的Integer物件,它表示String引數所指示的int值
-
Character(char valuer)
- 構造一個新分配的Character物件,用以表示指定的char值
-
只有字元型別有一個構造方法,來建立物件,其他對是兩個與Integer類似。
-
注意:String引數一定要與被建立物件的格式是一致的,否則出現格式化異常。
方法
-
1、基本型別關鍵字+Value()
- 將包裝類物件轉為對應的基本型別
-
2、static parse+基本型別關鍵字(首字母大寫)(String s)
- 將s解析為對應的基本型別
總結
-
int 、String、 Integer三者間轉換:
-
int--->String :
- int+””
- String.valueOf(int)
- Integer.toString(int)
-
String---> int:
- Integer.parseInt(str)
-
int--->Integer
- new Integer(int)
- Integer.valurOf(int)
-
Integer---->int
- intValue()
-
String---->Integer
- new Integer(str)
- Integer.valueOf(str)
-
Integer---->String :
- new Integer().toString()
-
JDK5.0特性
-
自動裝箱和自動拆箱
-
裝箱
- 將基本型別轉為包裝類物件形式
-
拆箱
- 將包裝類物件轉為基本型別
-
自動裝箱
- 可以將基本型別資料直接賦值給包裝類物件
-
自動拆箱
- 可以將包裝類物件直接賦值給基本型別變數
-
好處
- 簡化程式碼的書寫
-
弊端
- 大量使用可能會對效能有損傷,不建議多使用
-
System類
java.lang包中,final類,系統類,類中成員是靜態的,該類不能例項化。
屬性
- out: 標準的輸出資料,預設輸出位置是控制檯,可以改。
- in :標準的輸入資料,預設是通過鍵盤進行輸入,可以改。
- err: 標準的錯誤資料輸出,用法out相同,輸出位置也是控制檯,輸出內容位置會移動。
方法
-
long currentTimeMillis():
- 獲取當前系統時間毫秒值,從1970-1-1 0:0:0開始計算的。
- 1s = 1000ms
-
void exit(int status)
- :jvm終止執行。status是狀態碼,非0數字代表異常退出
Math
java.lang包中,final類,類中封裝了常用的一些基本數學計算,如三角函式、對數等。
類中成員都是靜態的。
屬性
- PI:圓周率
- E:自然底數
方法
-
abs()
- 絕對值:引數型別float、double、int、long
-
cbrt()
- 開立方:引數型別double
-
sqrt()
- 開平方根:引數型別double
-
ceil()
- 大於引數的最小整數:引數型別 double
-
floor()
- 小於引數的最大整數:引數型別 double
-
max()
- 返回兩個整數中的大數:引數型別:double、int、long
-
min()
- 返回兩個整數中的小數:引數型別:double、int、long
-
pow()
- 計算2的3次冪:引數型別double
-
round()
- 四色五日:引數型別float--int double---long
-
random
- 隨機數 0.0~1.0
new Random()
-
nextInt(int n)
- 返回[0,n)之間的隨機整數
大資料型別
java.math包中
BigInteger:
-
基本型別:long型別8位元組
- 遇到的資料超出long型別,使用BigInteger來表示
-
構造方法
-
BIgInteger(String val)
- 將BigInteger的十進位制字串表示形式轉換為BigInteger
-
BIgInteger(String val,int radix)
- 將指定基數的BigInteger的字串表示形式轉換為BigInteger
-
-
方法
-
b1.add(b2)
- 加法
-
b1.subtract(b2)
- 減法
-
b1.multiply(b2)
- 乘
-
b1.divide(b2)
- 除
-
b1.abs()
- 絕對值
-
注:
- 方法的返回值型別是:BigInteger型別。
-
BigDecimal
-
double、float 應用領域:科學記數或工業領域,都是近似數。
該類是一個不可變的有精確的表示小數 -
構造方法
-
BigDecimal(String num) : 常用
-
BigDecimal(double num)
- 可能出現不可預知的結果,因此不建議使用
將double資料轉為字串,再封裝到BigDecimal物件中
- 可能出現不可預知的結果,因此不建議使用
-
日期物件
java.util包
Date
-
表示特定的瞬間,能精確到毫秒
-
構造方法()
-
Date()
- 分配Data物件並初始化此物件,以表示分配它的時間(精確到毫秒)
-
Date(long date)
- 放入long型別毫秒值,把毫秒值轉換為Date日期
-
-
方法
-
setTime(long time)
- 設定此Date物件,以表示1970年1月1日00:00:00GMT以後time毫秒的時間點
-
getTime()
- 返回1970年1月1日00:00:00GMT以來此Date物件表示的毫秒數
-
日期格式化
-
DateFormat
-
DateFormat類是一個抽象類,無法直接創造物件使用,可以使用DateFormat類的子類
-
構造方法
-
SimpleDateFormat(String pattern)
- 用給定的模式和預設語言環境的日期格式符號構造SimpleDateFormat
- 寫對應的模式,會把模式替換為對應的日期和時間
-
-
-
"yyyy-MM-dd HH:mm:ss" - 注:連線符號可以改,字母不能更改 - 模式: y 年 M 月 d 日 h/H 小時 m分鐘 s 秒 S毫秒 E 星期
-
成員方法
-
String format(Date date)
- 按照指定的模式,把指定的模式,把Date日期,格式化為符合模式的字串(文字)
-
Date parse(String source)
- 把符合模式的字串,解析為Date日期
-
-
日曆物件
在java.util包中
Calendar
-
該物件將Date類中的大部分方法替代了。該物件封裝有關係時間日期資訊很詳細
-
獲取Calendar物件
- static getInstance()
-
方法
-
public int get(int field)
- 返回給定日曆欄位的值
- 引數:傳遞指定的日曆欄位(YEAR,MONTH……)
-
public void set(int field,int value)
- 將給定的日曆欄位設定為給定值
- 引數:
-
int field:傳遞指定的日曆欄位(YEAR,MONTH)
-
int value:給指定欄位設定的值
-
public abstract void add(int field,int amount)
- 根據日曆的規則,為給定的日曆欄位新增或減去指定的時間量。
- 引數:
-
int filed傳遞指定的日曆欄位(YEAR,MONTH)
-
int amount:增加/減少指定的值
-
正數:增加
-
負數:減少
-
public Date getTime():
- 返回一個表示此Calendar時間值(從曆元到現在的毫秒偏移量)的Date物件
把日曆物件,轉換成日期物件
- 返回一個表示此Calendar時間值(從曆元到現在的毫秒偏移量)的Date物件
-
總結
- 1.Date和Calendar互轉
2.獲取毫秒值的方式
3.格式化日期或日曆對
NumberFormat
該類是用來格式化和解析數值資料的,該類是一個抽象類,類中提供靜態方法可以獲取物件
獲取NumberFormat物件
-
format()
- 格式化資料,將數值轉化為文字格式
-
parse()
- 解析資料,將文字轉為數值
-
setMaximumFractionDigits(int newValue)
- 設定數的小數部分所允許的最大位數
-
setMaximumIntegerDigits(int newValue)
- 設定數的整數部分所允許的最大位數