日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Day14 常用API

發(fā)布時(shí)間:2024/3/13 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Day14 常用API 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. String

1.1 概述

java.lang.String :是字符串類 底層就是一個(gè)final修飾的char數(shù)組,所以String很多特性就是數(shù)組的特性,比如一旦確定,長(zhǎng)度 不能更改

1 字符串一旦創(chuàng)建,這個(gè)字符串對(duì)象不能再更改

2 為了提升字符串的訪問(wèn)和存儲(chǔ)效率,java虛擬機(jī)采用了一種緩存機(jī)制,把字符串都保存在了字符串常量池中

3 在程序執(zhí)行過(guò)程中,假如要用到一個(gè)字符串a(chǎn) String s1 = "a"; 先去字符串常量池中檢索,是否有a,如過(guò)沒(méi)有就創(chuàng)建一份

假如 有了 String s2 = "a"; 就不再創(chuàng)建,把已有的這個(gè)a 返回

所以 導(dǎo)致 String s1 = "a" String s2 = "a" 此時(shí) s1 == s2 他也是true,因?yàn)樗麄冎赶蛲粋€(gè)字符串對(duì)象 就是a

1.2 基本使用

// 第一部分 創(chuàng)建1個(gè)對(duì)象,因?yàn)樗麄兌贾赶虺A砍?/p>

String s1 = "a";

String s2 = "a";

// 比較值 true

System.out.println(s1.equals(s2));

// 比較地址 true

System.out.println(s1 == s2);

// String 一旦創(chuàng)建不能更改的意思,并不是這個(gè)s1變量不能更改,二十 變量指向的對(duì)象中的數(shù)據(jù)不能更改

s1 = "b";

// 第二部分,如果使用new的方式,那么會(huì)創(chuàng)建堆內(nèi)存對(duì)象,該字符串對(duì)象會(huì)保存在堆內(nèi)存中

String s3 = new String("a");

String s4 = new String("a");

// 因?yàn)閟3和s4不指向常量池,二十分別指向了堆內(nèi)存,所以地址不同,為false

System.out.println(s3 == s4);

// 但是String中覆寫(xiě)了equals方法.比較值,所以是true

System.out.println(s3.equals(s4));

1.3 不要頻繁拼接

?因?yàn)樽址畡?chuàng)建之后不能更改,如果頻繁拼接的話,效率很低,并且垃圾回收可能也會(huì)出現(xiàn)問(wèn)題

1.4 構(gòu)造方法

?// 1 字面量

String s1 = "asda";

// 2

String s2 = new String("xxx");

// 3 字節(jié)數(shù)組

byte[] bytes = {97,98,99,100,101,102};

String s3 = new String(bytes);

//abcdef

System.out.println(s3);

// 字節(jié)數(shù)組,只截取一部分,4表示起始下標(biāo)(包含),2表示個(gè)數(shù)

String s4 = new String(bytes,4,2):

// ef

System.out.println(s4);

// 5 字符數(shù)組

char[] chars = {'a','b','c','d'};

String s5 = new String(chars);

System.out.println(s5);

// 6 字符數(shù)組,只截取一部分,1表示起始下標(biāo)(包含),2表示個(gè)數(shù)

String s6 = newsString(char,1,2);

System.out.println(s6):

1.5 常用方法

學(xué)習(xí)API:

1 功能是什么

2 入?yún)⒑统鰠⑹鞘裁?/p>

3 怎么用

// 1 charAt(int index): 返回該字符串中,指定位置的字符

String s1 = "qweqweqwe";

char c1 = s1.charAt(2):

// e

System.out.println(c1);

// 2 boolean endsWith(String suffix) : 判斷該字符串是否以指定字符串結(jié)尾

// boolean startWith(String prefix) : 同上,判斷開(kāi)始

System.out.println("Hello.java".endWith(".java"));

// 注意空格 , 有空格就匹配不上了

System.out.println("Hello.java".endsWith(".java"));

// 3 boolean equalsIgnoreCas(String str): 不區(qū)分大小寫(xiě)比較兩個(gè)字符串是否相等

System.out.println("abc".equalsIgnoreCase("aBc"));

// 4 byte[] getBytes(): 把字符串轉(zhuǎn)換為字節(jié)數(shù)組并返回

byte[] bytes = "abc".getBytes();

for(int i = 0;i<bytes.length;i++){

System.out.println(bytes[i]);

}

// 5 char[] toCharArray(); 把字符串轉(zhuǎn)換為字符數(shù)組并返回

char[] chars = "abc".toCharArray();

for(int i = 0;i<char.length;i++){

System.out.println(char[i]);

}

// 6 int indexOf(String str): 獲取該字符串中指定字符串的起始索引,找不到返回-1

System.out.println("dasdsa".indexOf("sd"));// 2?

System.out.println("asdasdas".indexOf("kda")); //-1

// 7 int indexOf(Sting str,int index);

// 從指定位置開(kāi)始查找(包含),獲取該字符串中指定字符串的起始索引,找不到返回-1

System.out.println("askasdasd".indexOf("a",5));// -1

// 8 index lastIndexOf(String str): 同上,最后一次出現(xiàn)的索引 找不到返回-1

System.out.println("asdasd".lastindexOf("a"));// 3

// 9 int length(): 返回該字符串的長(zhǎng)度

System.out.println("abc".length());

// 10 String replaceAll(String regex . String replacement);

// 替換指定字符,支持正則表達(dá)式

// String replace (String str . String replacement); 不支持正則表達(dá)式

// 用 1 把 a 替換了并返回新的字符串

// 支持正則表達(dá)式,但是沒(méi)有寫(xiě)正則表達(dá)式 是沒(méi)有區(qū)別的

System.out.println("hucgasdqweasd".replaceAll("a", "1"));

System.out.println("dhiasdhias",replace("a","1"));

// 因?yàn)?. 在正則表達(dá)式中,代表任意字符

System.out.println("qwe.tre.nfoia.dasnm".replaceAll(".","."));

// 可以使用 \ 轉(zhuǎn)義

System.out.println("qwe.try.yui.uio".replaceAll("\\",","));

System.out.println("qwe.try.yui.uio".replace(".",","));

// 11 String[] split(String regex): 分割字符串,返回字符串?dāng)?shù)組,支持正則表達(dá)式,注意.....

// 點(diǎn),需要轉(zhuǎn)義

String s2 = "2022.1.14";

String[] arr = s2.split("\\.");

for(int i = 0;i<arr.length;i++){

System.out.println(arr[i]);

}

// 12 String substring(int begin); 獲取該字符串中,以某下標(biāo)起始的子字符串(包含)

System.out.println("abcdef".substring(2));// cdef

// 13 String substring(int begin , int end );

// 獲取 該字符串中,以某個(gè)下標(biāo)起始(包含)到某個(gè)下標(biāo)結(jié)束的子字符串(不包含)

System.out.println("abcdef",substring(2,4));// cd

// 14 String trim(): 去除字符串兩邊的空格

System.out.println("? ? ? ?a? ? ? ?dsadas? ? ? ? ? ");

System.out.println("? ? ? ? ? ?a? ? ? ? d? ?asdas? ? ? ? ?.trim()");

// 15 String toUpperCase(): 轉(zhuǎn)大寫(xiě)

// String toLowerCase(); 轉(zhuǎn)小寫(xiě)

System.out.println("asd".toUpperCase());

// 16 static String valueOf(Object obj);

// 調(diào)用該對(duì)象的toString 方法 , 如果為null, 則不再調(diào)用 toString 而是返回字符串null?

String_05 s = null;

// 打印一個(gè)引用類型的時(shí)候,會(huì)自動(dòng)調(diào)用 String 的valueOf 所有 會(huì)自動(dòng)調(diào)用toString方法

System.out.println(s);

1.6 注意

// 1

String a = "a";

String b = "b";

String str = "ab";

// 字面量相加 在編譯階段,就把+去掉了

String d = "a" + "d";

//true

System.out.println(d == str);

//true

System.out.println(d.equals(str));

//變量相加,因?yàn)樽兞康闹凳强勺兊?運(yùn)算之前沒(méi)有辦法確定變量的值,

//所以沒(méi)有辦法優(yōu)化,只能轉(zhuǎn)換為new的方式,重新創(chuàng)建并拼接字串符

String c = a + b ;

String e = a + "b";

//false

System.out.println(c==str);

//true

System.out.println(c.equals(str));

// 上面相加 因?yàn)樽兞康闹?無(wú)法確定 , 如果聲明為常量,則可以優(yōu)化

String str1 = "ab";

final String a1 = "a";

final String b1 = "b";

String c1 = a1 + b1;

System.out.println(c1 == str1);

?// 創(chuàng)建幾個(gè)對(duì)象? 1個(gè)

String xx = "a"+"b"+"c"+"d";

2 StringBuffer和StringBuilder

2.1 概述

?

2.2 基本使用

?2.3 常用方法

?3. 包裝類

3.1 概述

1. 裝箱就是自動(dòng)將基本數(shù)據(jù)類型轉(zhuǎn)換為包裝器類型?

2. 拆箱就是自動(dòng)將包裝器類型轉(zhuǎn)換為基本數(shù)據(jù)類型

?3.2 使用

?3.3 Integer

3.3.1 基本使用

?3.3.2

?3.3.3 常用方法

?3.3.4 自動(dòng)裝箱和自動(dòng)拆箱

?

?3.3.5 深入整型常量池

?

// 判斷當(dāng)前這個(gè)數(shù)值 是否在 -128~127之間

如果不再范圍內(nèi)? 就直接new對(duì)象

?

?

?

?3.3.6 總結(jié)

?

?4. System

4.1 概述

System類提供的public static long currentTimeMillis()用來(lái)返回當(dāng)前時(shí) 間與1970年1月1日0時(shí)0分0秒之間以毫秒為單位的時(shí)間差。

此方法適于計(jì)算時(shí)間差。

?System類代表系統(tǒng),系統(tǒng)級(jí)的很多屬性和控制方法都放置在該類的內(nèi)部。 該類位于java.lang包。

?由于該類的構(gòu)造器是private的,所以無(wú)法創(chuàng)建該類的對(duì)象,也就是無(wú)法實(shí) 例化該類。其內(nèi)部的成員變量和成員方法都是static的,所以也可以很方便 的進(jìn)行調(diào)用。

?成員變量

?System類內(nèi)部包含in、out和err三個(gè)成員變量,分別代表標(biāo)準(zhǔn)輸入流

(鍵盤(pán)輸入),標(biāo)準(zhǔn)輸出流(顯示器)和標(biāo)準(zhǔn)錯(cuò)誤輸出流(顯示器)。

?成員方法

?native long currentTimeMillis():

該方法的作用是返回當(dāng)前的計(jì)算機(jī)時(shí)間,時(shí)間的表達(dá)格式為當(dāng)前計(jì)算機(jī)時(shí)

間和GMT時(shí)間(格林威治時(shí)間)1970年1月1號(hào)0時(shí)0分0秒所差的毫秒數(shù)。

?void exit(int status):

該方法的作用是退出程序。其中status的值為0代表正常退出,非零代表

異常退出。使用該方法可以在圖形界面編程中實(shí)現(xiàn)程序的退出功能等。

4.2 常用方法

?5. Date?

5.1 概述

獲取時(shí)間和時(shí)間操作

5.2 構(gòu)造方法

5.3 常用方法

?

5.4 格式化?

?5.5 Calendar

6. Random

6.1 概述

隨機(jī)數(shù) 從 0 開(kāi)始

6.2 使用

?

總結(jié)

以上是生活随笔為你收集整理的Day14 常用API的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。