首頁 > 軟體

Java中API的使用方法詳情

2022-04-06 19:00:39

1.API

1.1API概述

  • 什麼是API

API (Application Programming Interface) :應用程式程式設計介面

  • java中的API

指的就是 JDK 中提供的各種功能的 Java類,這些類將底層的實現封裝了起來,我們不需要關心這些類是如何實現的,只需要學習這些類如何使用即可,我們可以通過幫助檔案來學習這些API如何使用。

1.2API幫助檔案的具體使用

  • ​​開啟幫助檔案​​

  • ​​找到索引索引標籤中的輸入框​​

  • ​​在輸入框中輸入Random​​

​看類在哪個包下​

  • ​​看類的描述​​

  • ​​看構造方法​​

  • ​​看成員方法​​

2.String類

2.1String類概述

String 類代表字串,Java 程式中的所有字串文字(例如“abc”)都被實現為此類的範例。即Java 程式中所有的雙引號字串,都是 String 類的物件。String 類在 java.lang 包下,所以使用的時候不需要導包!

2.2String類的特點

  • 字串不可變,它們的值在建立後不能被更改
  • 雖然 String 的值是不可變的,但是它們可以被共用
  • 字串效果上相當於字元陣列( char[] ),但是底層原理是位元組陣列( byte[] )

2.3String類的構造方法

  • 常用的構造方法

  • 範例程式碼
public class StringDemo01 {
public static void main(String[] args) {
//public String():建立一個空白字串物件,不含有任何內容
String s1 = new String();
System.out.println("s1:" + s1);

//public String(char[] chs):根據字元陣列的內容,來建立字串物件
char[] chs = {'a', 'b', 'c'};
String s2 = new String(chs);
System.out.println("s2:" + s2);

//public String(byte[] bys):根據位元組陣列的內容,來建立字串物件
byte[] bys = {97, 98, 99};
String s3 = new String(bys);
System.out.println("s3:" + s3);

//String s = 「abc」; 直接賦值的方式建立字串物件,內容就是abc
String s4 = "abc";
System.out.println("s4:" + s4);
}
}

具體執行結果如下:

2.4建立字串物件兩種方式的區別

  • 通過構造方法建立

通過 new 建立的字串物件,每一次 new 都會申請一個記憶體空間,雖然內容相同,但是地址值不同

  • 直接賦值方式建立

以“”方式給出的字串,只要字元序列相同(順序和大小寫),無論在程式程式碼中出現幾次,JVM 都只會建立一個 String 物件,並在字串池中維護

2.5字串的比較

2.5.1==號的作用

  • 比較基本資料型別:比較的是具體的值
  • 比較參照資料型別:比較的是物件地址值

2.5.2equals方法的作用

  • 方法介紹

public boolean equals(String s) 比較兩個字串內容是否相同、區分大小

  • 範例程式碼
public class StringDemo02 {
public static void main(String[] args) {
//構造方法的方式得到物件
char[] chs = {'a', 'b', 'c'};
String s1 = new String(chs);
String s2 = new String(chs);

//直接賦值的方式得到物件
String s3 = "abc";
String s4 = "abc";

//比較字串物件地址是否相同
System.out.println(s1 == s2);
System.out.println(s1 == s3);
System.out.println(s3 == s4);
System.out.println("--------");

//比較字串內容是否相同
System.out.println(s1.equals(s2));
System.out.println(s1.equals(s3));
System.out.println(s3.equals(s4));
}
}

具體執行結果如下:

2.6使用者登入案例

2.6.1案例需求

已知使用者名稱和密碼,請用程式實現模擬使用者登入。總共給三次機會,登入之後,給出相應的提示

2.6.2程式碼實現

/*
思路:
1:已知使用者名稱和密碼,定義兩個字串表示即可
2:鍵盤錄入要登入的使用者名稱和密碼,用 Scanner 實現
3:拿鍵盤錄入的使用者名稱、密碼和已知的使用者名稱、密碼進行比較,給出相應的提示。字串的內容比較,用equals() 方法實現
4:用迴圈實現多次機會,這裡的次數明確,採用for迴圈實現,並在登入成功的時候,使用break結束迴圈
*/
public class StringTest01 {
public static void main(String[] args) {
//已知使用者名稱和密碼,定義兩個字串表示即可
String username = "itheima";
String password = "czbk";

//用迴圈實現多次機會,這裡的次數明確,採用for迴圈實現,並在登入成功的時候,使用break結束迴圈
for(int i=0; i<3; i++) {

//鍵盤錄入要登入的使用者名稱和密碼,用 Scanner 實現
Scanner sc = new Scanner(System.in);

System.out.println("請輸入使用者名稱:");
String name = sc.nextLine();

System.out.println("請輸入密碼:");
String pwd = sc.nextLine();

//拿鍵盤錄入的使用者名稱、密碼和已知的使用者名稱、密碼進行比較,給出相應的提示。字串的內容比較,用equals() 方法實現
if (name.equals(username) && pwd.equals(password)) {
System.out.println("登入成功");
break;
} else {
if(2-i == 0) {
System.out.println("你的賬戶被鎖定,請與管理員聯絡");
} else {
//2,1,0
//i,0,1,2
System.out.println("登入失敗,你還有" + (2 - i) + "次機會");
}
}
}
}
}

具體執行結果如下:

2.8 幫助檔案檢視String常用方法

方法名

說明

public boolean equals(Object anObject)

比較字串的內容,嚴格區分大小寫(使用者名稱和密碼)

public char charAt(int index)

返回指定索引處的 char 值

public int length()

返回此字串的長度

3.StringBuilder類

3.1StringBuilder類概述

StringBuilder 是一個可變的字串類,我們可以把它看成是一個容器,這裡的可變指的是 StringBuilder 物件中的內容是可變的

3.2StringBuilder類和String類的區別

  • String類:內容是不可變的
  • StringBuilder類:內容是可變的

3.3StringBuilder類的構造方法

  • 常用的構造方法

方法名

說明

  • 範例程式碼
public class StringBuilderDemo01 {
public static void main(String[] args) {
//public StringBuilder():建立一個空白可變字串物件,不含有任何內容
StringBuilder sb = new StringBuilder();
System.out.println("sb:" + sb);
System.out.println("sb.length():" + sb.length());

//public StringBuilder(String str):根據字串的內容,來建立可變字串物件
StringBuilder sb2 = new StringBuilder("hello");
System.out.println("sb2:" + sb2);
System.out.println("sb2.length():" + sb2.length());
}
}

具體執行結果如下:

3.4StringBuilder類新增和反轉方法

  • 新增和反轉方法

  • 範例程式碼
public class StringBuilderDemo01 {
public static void main(String[] args) {
//建立物件
StringBuilder sb = new StringBuilder();
//鏈式程式設計
sb.append("hello").append("world").append("java").append(100);

System.out.println("sb:" + sb);

//public StringBuilder reverse():返回相反的字元序列
sb.reverse();
System.out.println("sb:" + sb);
}
}

具體執行結果如下:

3.5StringBuilder和String相互轉換

  • StringBuilder轉換為String

public String toString():通過 toString() 就可以實現把 StringBuilder 轉換為 String

  • String轉換為StringBuilder

public StringBuilder(String s):通過構造方法就可以實現把 String 轉換為 StringBuilder

  • 範例程式碼
public class StringBuilderDemo02 {
public static void main(String[] args) {
String s = sb.toString();
System.out.println(s);
String s = "hello";
StringBuilder sb = new StringBuilder(s);
System.out.println(sb);
}
}

具體執行結果如下:

3.6字串拼接升級版案例

3.6.1案例需求

定義一個方法,把 int 陣列中的資料按照指定的格式拼接成一個字串返回,呼叫該方法, 並在控制檯輸出結果。例如,陣列為int[] arr = {1,2,3}; ,執行方法後的輸出結果為:[1, 2, 3]

3.6.2程式碼實現

/*
思路:
1:定義一個 int 型別的陣列,用靜態初始化完成陣列元素的初始化
2:定義一個方法,用於把 int 陣列中的資料按照指定格式拼接成一個字串返回。
返回值型別 String,參數列 int[] arr
3:在方法中用 StringBuilder 按照要求進行拼接,並把結果轉成 String 返回
4:呼叫方法,用一個變數接收結果
5:輸出結果
*/
public class StringBuilderTest01 {
public static void main(String[] args) {
//定義一個 int 型別的陣列,用靜態初始化完成陣列元素的初始化
int[] arr = {1, 2, 3};

//呼叫方法,用一個變數接收結果
String s = arrayToString(arr);

//輸出結果
System.out.println("s:" + s);

}

//定義一個方法,用於把 int 陣列中的資料按照指定格式拼接成一個字串返回
/*
兩個明確: 返回值型別:String
引數:int[] arr
*/
public static String arrayToString(int[] arr) {
//在方法中用 StringBuilder 按照要求進行拼接,並把結果轉成 String 返回
StringBuilder sb = new StringBuilder();

sb.append("[");

for(int i=0; i<arr.length; i++) {
if(i == arr.length-1) {
sb.append(arr[i]);
} else {
sb.append(arr[i]).append(", ");
}
}

sb.append("]");

String s = sb.toString();

return s;
}
}

具體執行結果如下:

3.7幫助檔案檢視StringBuilder常用方法

方法名

說明

public StringBuilder append (任意型別)

新增資料,並返回物件本身

public StringBuilder reverse()

返回相反的字元序列

public int length()

返回長度,實際儲存值

public String toString()

通過toString()就可以實現把StringBuilder轉換為String

4.總結

總之,希望大家認整掌握該API的使用,這個在於練習。當我們用到一定的程度就懂了,其實類似於一本字典,哪裡不懂直接查即可。

到此這篇關於Java中API的使用方法詳情的文章就介紹到這了,更多相關Java中API使用內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com