溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android_Log_3_Java基礎(chǔ)API

發(fā)布時間:2020-07-07 09:08:22 來源:網(wǎng)絡(luò) 閱讀:401 作者:一劍圍城 欄目:移動開發(fā)

1.字符串相關(guān)

String

   使用String str1 = “abc”;的創(chuàng)建方式。第一次用到一個字符串字面值時,會在字符串常量池中創(chuàng)建字符串實例。再次使用相同的字面值時,會優(yōu)先從字符串常量池獲取已經(jīng)存在的字符串實例。

String str2 = “abc”。str1str2獲取的是同一個實例,所以str1==str2true.

字符串連接一次必定會創(chuàng)建一個新的String變量,效率低。

 

常用方法:

 1、charAt(int index)

  2、toUpperCase()/toLowerCase()

  3、length()

  4、compareTo(String anotherString)

  5、compareToIgnoreCase(String str): 按字符編碼表順序比較

  6、startsWith(String str): str開頭,返回boolean

  7、endsWith():

  8、equals(Object obj):

  9、equalsIgnoreCase(String str):

  10、indexOf(String s):

  11、lastIndexOf(String s):

  12、indexOf(String s, int fromIndex): 從指定位置開始向后找

 13、replace(char oldChar, char newChar);

  14、substring(int beginIndex): 從指定下標(biāo)開始截取后面字符串(包含)

 15、substring(int beginIndex, int endIndex): 截取指定范圍字符串

 16、trim():去除兩端空白字符。

 17、getBytes(): 將字符串轉(zhuǎn)為默認(rèn)編碼的byte數(shù)組并返回byte[]

  18、getbytes(編碼): unicode(默認(rèn))轉(zhuǎn)為指定編碼格式的字節(jié)數(shù)組

 19、toCharArray(): 字符串轉(zhuǎn)為char[]數(shù)組

 20、String.valueOf(各種數(shù)據(jù)):將任何數(shù)據(jù)轉(zhuǎn)為字符串

 21、matches(regex): 判斷當(dāng)前字符串能否與正則表達(dá)式匹配

 22、replaceAll(regex, 子串):將所有找到的匹配子串,替換為新的子串  23、replaceFirst(regex, 子串):替換第一個找到的匹配子串

 24、split(regex): 用匹配的子串,拆分字符串。

 

可變的字符序列:(兩者有兼容的API

StringBuilder:單線程情況下使用這個更高效率

StringBuffer:多線程下使用這個,安全(多了線程安全保護(hù))

 

  1、append(內(nèi)容): 末尾追加字符,高效的字符串連接

 2、delete(int start, int end): 刪除[start, end),通常都是左閉右開區(qū)間  3、deleteCharAt(int index): 刪除單個字符

 4、insert(int index, 子串):在index位置,插入一個子串。

 5、replace(int start, int end, String s):[start, end)替換為指定字符串s.

  6、reverse(): 翻轉(zhuǎn)字符串

 7、setCharAt(int index, char ch): index位置替換為字符ch

 8、toString(): 轉(zhuǎn)為String類型

 

2. 正則表達(dá)式

java.util.regex.Pattern

java.util.regex.Matcher

 

創(chuàng)建實例:

   Pattern p = Pattern.compile(“正則表達(dá)式”);

   //表示一個正則表達(dá)式實例

   Matcher m = p.mathcer(待匹配字符串);

   //包裝正則表達(dá)式和待匹配的字符串

 

Matcher方法:

find();尋找下一個匹配的子串,返回boolean值,表示是否找到匹配子串。

find(int form):從指定位置向后尋找

group() 獲得剛剛找到的子串

start():獲得剛剛子串的起始位置

end() 獲得剛剛子串的結(jié)束位置


  正則表達(dá)式      匹配的字符

  -------------   --------------------

  a               a

  z               z

  abc             abc

  [abc]           a, b, c

  [a-z]           a, z, k, r, q

  [a-z_A-Z0-9]    a, z, A, Z, 0, 5, 9, _

  [^a-zA-Z]       排除英文字母, 0, _, &, *, #

  [\u4e00-\u9fa5]

 

  \w              單詞字符, [a-zA-Z_0-9]

  \W              排除單詞字符

  \s              空白字符

  \S              排除空白字符

  \d              數(shù)字[0-9]

  \D              排除數(shù)字 [^0-9]

  .               任意字符

 

  [abc]?          ? 0個或1

                  a,b,c,,

 

  [abc]+          + 1到多個

                  a, c, aa, bbb, cccc, abcabcabcabcabc

                 

  [abc]*          * 0到多個

                  ,,a, c, aa, bbb, cccc, abcabcabcabcabc

 

  [abc]{3}        aaa, bbb, ccc, abc, cba, aab, cca, bbc

  [abc]{2,4}      ab, abc, abcc

  [abc]{2,}       ab, bc, abcabcabcabcaabcabcabc

 

  |               匹配兩側(cè)任意一個表達(dá)式即可

 

3. 數(shù)字運算相關(guān)

3.1 Number是數(shù)據(jù)包裝類的抽象父類

Byte、Short、IntegerLong、Float、Double

 

3.2 自動裝箱,自動拆箱

代碼的語法簡化

自動裝箱:

Integer a = 56;

編譯為:Integer a = Integer.valueOf(56);

自動拆箱:

int  i = a;

編譯為:int I = a.intValue();

a = a + I;

編譯為:a = Integer.valueOf(a.intValue() + 1);

自動拆箱當(dāng)心null值的情況,會拋空指針錯誤。

 

注意:Integer底層有一個實例緩存區(qū),緩存-128127的包裝對象

       Integer a = Integer.valueOf(128);

       Integer b = Integer.valueOf(128);

       System.out.println(a == b);//false

      

       Integer c = Integer.valueOf(127);

       Integer d = Integer.valueOf(127);

       System.out.println(c == d);//true

 

3.3 大數(shù)字

java.math.BigDecimal:做精確的浮點數(shù)運算

java.math.BigInteger:做超出長×××范圍的整數(shù)運算。

 

創(chuàng)建實例:

BigDecimal bd = BigDecimal.valueOf(3.14);

 

方法:

    add(BigDecimal bd)

    subtract(BigDecimal bd)

    multiply(BigDecimal bd)

divide(BigDecimal bd)

 

通常divide()方法需要同時指定scale,即舍入方式。如若不然,當(dāng)除不盡的時候,會拋出算術(shù)異常。通常使用:ROUND_HALF_UP。四舍五入

 

數(shù)字格式工具:

java.text.DecimalFormat

將數(shù)字轉(zhuǎn)為格式字符串

數(shù)字格式的字符串,轉(zhuǎn)為數(shù)字類型

 

創(chuàng)建實例:

DecimalFormat f = new DecimalFormat(格式字符串);

格式字符串:$###,###,###.000

 

方法:

format(數(shù)字):將數(shù)字格式化為格式字符串

parse(格式化字符串):將格式化后的字符串還原為數(shù)字

 

4. 日期日歷相關(guān)

4.1  java.util.Date

表示一個時間點

內(nèi)部包含一個長×××毫秒值

 

創(chuàng)建實例:

   Date d = new Date();

Date d = new Date(365L*24*60*60*1000);指定一個毫秒值時間點

 

方法:

getTime(Long l):獲取內(nèi)部毫秒值

setTime();

 

4.2  java.text.SimpleDateFormat

日期格式化工具

 

創(chuàng)建實例:

  SimpleDateFormat df = new SimpleDateFormat(格式化字符串);

格式化字符串舉例:

   yyyy-MM-dd HH:mm:ss

   yy/MM/dd

   yyyyMMdd

 

方法:

   format(Date d) 將實例轉(zhuǎn)為日期格式字符串

   parse(日期格式化字符串):將該字符串解析為Date實例

 

4.3  java.util.Calendar

日歷的抽象父類

表示一個時間點

提供日期運算方法

 

創(chuàng)建實例:

   Calendar c = Calendar.getInstance();

   Calendar cc = new GregorianCalendar();

 

方法:

get(字段):獲得指定字段的值,Calendar.YEAR

set(字段,值):自改指定字段的值。

set(int year, int month, int date, int hourOfDay, int minute, int second)

add(字段,值):在指定字段上增加一個值c.add(Calendar.YEAR,1);

compareTo(Calendar cc):與另一個日期時間比較,大返回正數(shù)。

getActualMaximum(字段):獲得指定字段的最大值。

setFirstDayOfWeek(): 設(shè)置一周的第一天

getFirstDayOfWeek():獲得一周的第一天

getTime():獲得表示相同時間的Date類型實例

setTime(Date date):將時間設(shè)置為指定Date實例所表示的時間

getTimeInMillis():

setTimeInMillis(long millis)

 

 


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI