Java中API的使用方法詳情
1.API
1.1API概述
- 什么是API
API (Application Programming Interface) :應(yīng)用程序編程接口
- java中的API
指的就是 JDK 中提供的各種功能的 Java類,這些類將底層的實現(xiàn)封裝了起來,我們不需要關(guān)心這些類是如何實現(xiàn)的,只需要學習這些類如何使用即可,我們可以通過幫助文檔來學習這些API如何使用。
1.2API幫助文檔的具體使用
- ??打開幫助文檔??
- ??找到索引選項卡中的輸入框??
- ??在輸入框中輸入Random??
?看類在哪個包下?
- ??看類的描述??
- ??看構(gòu)造方法??
- ??看成員方法??
2.String類
2.1String類概述
String 類代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被實現(xiàn)為此類的實例。即Java 程序中所有的雙引號字符串,都是 String 類的對象。String 類在 java.lang 包下,所以使用的時候不需要導(dǎo)包!
2.2String類的特點
- 字符串不可變,它們的值在創(chuàng)建后不能被更改
- 雖然 String 的值是不可變的,但是它們可以被共享
- 字符串效果上相當于字符數(shù)組( char[] ),但是底層原理是字節(jié)數(shù)組( byte[] )
2.3String類的構(gòu)造方法
- 常用的構(gòu)造方法
- 示例代碼
public class StringDemo01 { public static void main(String[] args) { //public String():創(chuàng)建一個空白字符串對象,不含有任何內(nèi)容 String s1 = new String(); System.out.println("s1:" + s1); //public String(char[] chs):根據(jù)字符數(shù)組的內(nèi)容,來創(chuàng)建字符串對象 char[] chs = {'a', 'b', 'c'}; String s2 = new String(chs); System.out.println("s2:" + s2); //public String(byte[] bys):根據(jù)字節(jié)數(shù)組的內(nèi)容,來創(chuàng)建字符串對象 byte[] bys = {97, 98, 99}; String s3 = new String(bys); System.out.println("s3:" + s3); //String s = “abc”; 直接賦值的方式創(chuàng)建字符串對象,內(nèi)容就是abc String s4 = "abc"; System.out.println("s4:" + s4); } }
具體執(zhí)行結(jié)果如下:
2.4創(chuàng)建字符串對象兩種方式的區(qū)別
- 通過構(gòu)造方法創(chuàng)建
通過 new
創(chuàng)建的字符串對象,每一次 new 都會申請一個內(nèi)存空間,雖然內(nèi)容相同,但是地址值不同
- 直接賦值方式創(chuàng)建
以“”方式給出的字符串,只要字符序列相同(順序和大小寫),無論在程序代碼中出現(xiàn)幾次,JVM 都只會建立一個 String 對象,并在字符串池中維護
2.5字符串的比較
2.5.1==號的作用
- 比較基本數(shù)據(jù)類型:比較的是具體的值
- 比較引用數(shù)據(jù)類型:比較的是對象地址值
2.5.2equals方法的作用
- 方法介紹
public boolean equals
(String s) 比較兩個字符串內(nèi)容是否相同、區(qū)分大小
- 示例代碼
public class StringDemo02 { public static void main(String[] args) { //構(gòu)造方法的方式得到對象 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("--------"); //比較字符串內(nèi)容是否相同 System.out.println(s1.equals(s2)); System.out.println(s1.equals(s3)); System.out.println(s3.equals(s4)); } }
具體執(zhí)行結(jié)果如下:
2.6用戶登錄案例
2.6.1案例需求
已知用戶名和密碼,請用程序?qū)崿F(xiàn)模擬用戶登錄。總共給三次機會,登錄之后,給出相應(yīng)的提示
2.6.2代碼實現(xiàn)
/* 思路: 1:已知用戶名和密碼,定義兩個字符串表示即可 2:鍵盤錄入要登錄的用戶名和密碼,用 Scanner 實現(xiàn) 3:拿鍵盤錄入的用戶名、密碼和已知的用戶名、密碼進行比較,給出相應(yīng)的提示。字符串的內(nèi)容比較,用equals() 方法實現(xiàn) 4:用循環(huán)實現(xiàn)多次機會,這里的次數(shù)明確,采用for循環(huán)實現(xiàn),并在登錄成功的時候,使用break結(jié)束循環(huán) */ public class StringTest01 { public static void main(String[] args) { //已知用戶名和密碼,定義兩個字符串表示即可 String username = "itheima"; String password = "czbk"; //用循環(huán)實現(xiàn)多次機會,這里的次數(shù)明確,采用for循環(huán)實現(xiàn),并在登錄成功的時候,使用break結(jié)束循環(huán) for(int i=0; i<3; i++) { //鍵盤錄入要登錄的用戶名和密碼,用 Scanner 實現(xiàn) Scanner sc = new Scanner(System.in); System.out.println("請輸入用戶名:"); String name = sc.nextLine(); System.out.println("請輸入密碼:"); String pwd = sc.nextLine(); //拿鍵盤錄入的用戶名、密碼和已知的用戶名、密碼進行比較,給出相應(yīng)的提示。字符串的內(nèi)容比較,用equals() 方法實現(xiàn) if (name.equals(username) && pwd.equals(password)) { System.out.println("登錄成功"); break; } else { if(2-i == 0) { System.out.println("你的賬戶被鎖定,請與管理員聯(lián)系"); } else { //2,1,0 //i,0,1,2 System.out.println("登錄失敗,你還有" + (2 - i) + "次機會"); } } } } }
具體執(zhí)行結(jié)果如下:
2.8 幫助文檔查看String常用方法
方法名 | 說明 |
public boolean equals(Object anObject) | 比較字符串的內(nèi)容,嚴格區(qū)分大小寫(用戶名和密碼) |
public char charAt(int index) | 返回指定索引處的 char 值 |
public int length() | 返回此字符串的長度 |
3.StringBuilder類
3.1StringBuilder類概述
StringBuilder
是一個可變的字符串類,我們可以把它看成是一個容器,這里的可變指的是 StringBuilder 對象中的內(nèi)容是可變的
3.2StringBuilder類和String類的區(qū)別
- String類:內(nèi)容是不可變的
- StringBuilder類:內(nèi)容是可變的
3.3StringBuilder類的構(gòu)造方法
- 常用的構(gòu)造方法
方法名 | 說明 |
- 示例代碼
public class StringBuilderDemo01 { public static void main(String[] args) { //public StringBuilder():創(chuàng)建一個空白可變字符串對象,不含有任何內(nèi)容 StringBuilder sb = new StringBuilder(); System.out.println("sb:" + sb); System.out.println("sb.length():" + sb.length()); //public StringBuilder(String str):根據(jù)字符串的內(nèi)容,來創(chuàng)建可變字符串對象 StringBuilder sb2 = new StringBuilder("hello"); System.out.println("sb2:" + sb2); System.out.println("sb2.length():" + sb2.length()); } }
具體執(zhí)行結(jié)果如下:
3.4StringBuilder類添加和反轉(zhuǎn)方法
- 添加和反轉(zhuǎn)方法
- 示例代碼
public class StringBuilderDemo01 { public static void main(String[] args) { //創(chuàng)建對象 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); } }
具體執(zhí)行結(jié)果如下:
3.5StringBuilder和String相互轉(zhuǎn)換
StringBuilder
轉(zhuǎn)換為String
public String toString():通過 toString() 就可以實現(xiàn)把 StringBuilder 轉(zhuǎn)換為 String
- String轉(zhuǎn)換為StringBuilder
public StringBuilder(String s):通過構(gòu)造方法就可以實現(xiàn)把 String 轉(zhuǎn)換為 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); } }
具體執(zhí)行結(jié)果如下:
3.6字符串拼接升級版案例
3.6.1案例需求
定義一個方法,把 int 數(shù)組中的數(shù)據(jù)按照指定的格式拼接成一個字符串返回,調(diào)用該方法, 并在控制臺輸出結(jié)果。例如,數(shù)組為int[] arr = {1,2,3}; ,執(zhí)行方法后的輸出結(jié)果為:[1, 2, 3]
3.6.2代碼實現(xiàn)
/* 思路: 1:定義一個 int 類型的數(shù)組,用靜態(tài)初始化完成數(shù)組元素的初始化 2:定義一個方法,用于把 int 數(shù)組中的數(shù)據(jù)按照指定格式拼接成一個字符串返回。 返回值類型 String,參數(shù)列表 int[] arr 3:在方法中用 StringBuilder 按照要求進行拼接,并把結(jié)果轉(zhuǎn)成 String 返回 4:調(diào)用方法,用一個變量接收結(jié)果 5:輸出結(jié)果 */ public class StringBuilderTest01 { public static void main(String[] args) { //定義一個 int 類型的數(shù)組,用靜態(tài)初始化完成數(shù)組元素的初始化 int[] arr = {1, 2, 3}; //調(diào)用方法,用一個變量接收結(jié)果 String s = arrayToString(arr); //輸出結(jié)果 System.out.println("s:" + s); } //定義一個方法,用于把 int 數(shù)組中的數(shù)據(jù)按照指定格式拼接成一個字符串返回 /* 兩個明確: 返回值類型:String 參數(shù):int[] arr */ public static String arrayToString(int[] arr) { //在方法中用 StringBuilder 按照要求進行拼接,并把結(jié)果轉(zhuǎn)成 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; } }
具體執(zhí)行結(jié)果如下:
3.7幫助文檔查看StringBuilder常用方法
方法名 | 說明 |
public StringBuilder append (任意類型) | 添加數(shù)據(jù),并返回對象本身 |
public StringBuilder reverse() | 返回相反的字符序列 |
public int length() | 返回長度,實際存儲值 |
public String toString() | 通過toString()就可以實現(xiàn)把StringBuilder轉(zhuǎn)換為String |
4.總結(jié)
總之,希望大家認整掌握該API的使用,這個在于練習。當我們用到一定的程度就懂了,其實類似于一本字典,哪里不懂直接查即可。
到此這篇關(guān)于Java中API的使用方法詳情的文章就介紹到這了,更多相關(guān)Java中API使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java使用泛型實現(xiàn)棧結(jié)構(gòu)的示例代碼
泛型是JAVA重要的特性,使用泛型編程,可以使代碼復(fù)用率提高。本文將利用泛型實現(xiàn)簡單的棧結(jié)構(gòu),感興趣的小伙伴可以跟隨小編一起學習一下2022-08-08Java常見啟動命令-jar、-server和-cp詳細比較
這篇文章主要給大家介紹了關(guān)于Java常見啟動命令-jar、-server和-cp詳細比較的相關(guān)資料,該文總結(jié)了常歸的jar包的啟動方式,并分析各種啟動方式的區(qū)別,需要的朋友可以參考下2023-07-07Java中JVM的雙親委派、內(nèi)存溢出、垃圾回收和調(diào)優(yōu)詳解
這篇文章主要介紹了Java中JVM的雙親委派、內(nèi)存溢出、垃圾回收和調(diào)優(yōu)詳解,類加載器是Java虛擬機(JVM)的一個重要組成部分,它的主要作用是將類的字節(jié)碼加載到內(nèi)存中,并生成對應(yīng)的Class對象,需要的朋友可以參考下2023-07-07Java生成N個不重復(fù)的隨機數(shù)的三種方法總結(jié)
這篇文章主要為大家詳細介紹了三種Java生成N個不重復(fù)的隨機數(shù)的方法,文中的示例代碼講解詳細,具有一定的參考價值,有需要的可以了解下2023-10-10Java 實戰(zhàn)練手項目之酒店管理系統(tǒng)的實現(xiàn)流程
讀萬卷書不如行萬里路,只學書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實現(xiàn)一個酒店管理系統(tǒng),大家可以在過程中查缺補漏,提升水平2021-11-11java多線程之wait(),notify(),notifyAll()的詳解分析
本篇文章是對java多線程 wait(),notify(),notifyAll()進行了詳細的分析介紹,需要的朋友參考下2013-06-06如何基于Springboot完成新增員工功能并設(shè)置全局異常處理器
最近工作中遇到了做一個管理員工信息的功能,下面這篇文章主要給大家介紹了關(guān)于如何基于Springboot完成新增員工功能并設(shè)置全局異常處理器的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-11-11