目錄
 有一點要注意,String 在取某個字元的時候,會用到字元的索引(陣列下標索引),當存取字串中的字元的時候,如果字元的索引不存在,則會發生StringIndexOutOfBoundsException(字串下標越界異常) " > 有一點要注意,String 在取某個字元的時候,會用到字元的索引(陣列下標索引),當存取字串中的字元的時候,如果字元的索引不存在,則會發生StringIndexOutOfBoundsException(字串下標越界異常)
基本数据类型包装类:
首頁 Java java教程 Java API的詳細介紹(附範例)

Java API的詳細介紹(附範例)

Sep 26, 2018 pm 03:35 PM
api java

這篇文章帶給大家的內容是關於Java API的詳細介紹(附例子),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

簡介 :  

所謂API就是一些已寫好、可供直接呼叫的類別庫。 Java 具有強大功能的API, 並且仍在繼續發展中。

## 先在網路上取得Java 說明文件  , 然後解壓縮,找到對應的API 。

 Java 常用套件介紹 :
  • # java.lang  提供利用java程式語言進行程式設計的基礎類別。
  • java  until  包含集合框架,遺留的collection類,事件模型,日期和時間設施,國際化和各種實用工具類。
  • java io 透過資料流,序列化和檔案系統提供系統輸入和輸出。
  • java applet 提供建立applet 所必須的的類別和applet 用來和其他applet 上下文通訊的類別、
  • #java awt 包含用於建立使用者介面和繪製圖形影像的所有的類別。
  • java beans  包含與開發beans 相關的類,即 基於javaBeans 架構的元件。
  • java math 提供用於執行任意精確度整數演算法(BigInteger)和任意精確度小數位演算法(BigDecimal)的類別。

  • java net 為實作網路應用程式提供的類別。
  • java sql  提供使用java 程式語言存取並處理儲存在資料來源(通常指關係型資料庫)中的資料API。

String 類別:

String 類別的初始化運算:  java 提供兩個初始化String類別的方式, 

  1   利用字串常數直接初始化一個String對象,例如  String  name = "張三" ; 

  2   採用String的建構方法初始化字串對象, ##方法String ()Stirng ( String value)String (char[] value)
意義
建立一個內容為空的字串
根據指定的字串內容建立物件
根據指定的字元陣列建立物件# ###########

舉栗子: 

public static void main(String[] args){
    String s1 =new String();//创建空字符串
    String s2 = new String("张三")//创建一个内容为张三的字符串
    char[] charArray = new char[]{'A','B','C'};
    String s3 = new String(charArray);
    System.out.println(s1);
    System.out.println(s2);
    System.out.println(s3);

}
登入後複製

 Sring類別的常用方法:

字串基本操作:

public static void main(String[] args) {
String s ="abcdefhckoj";//声明字符串
System.out.println("字符串的长度为:"+s.length());//获取字符串长度, 即字符个数
System.out.println("字符串第一个字符:"+s.charAt(0));
System.out.println("字符c第一次出现的位置:"+s.indexOf('c'));
System.out.println("字符c最后一次出现的位置:"+s.lastIndexOf('c'));
}
登入後複製

 

#字串與陣列的轉換:

public class Demo{
    public static void main(String[] args){
    String s = "abcdesgs";//声明一个字符串
    System.out.println("将此字符串装换为数组");
    char [] charArray = s.toCharArray();//字符串转换为字符数组。
    System.out.println("[);
    for(int i=0;i,charArray.length;i++){
          if(i !=charArray.length-1);
         Syetem.out.println(charArray[i]+",");
             //判断是否是数组最后一个元素,如果不是则在后面添逗号码
    }else{
        //否则 数组最后一个元素不加逗号。
 
       Syetem.out.println(charArray[i]+"]");
}
}
        Syetem.out.println("将Int 类型转换为String 类型:" +String.valueOf(20));
}
}
登入後複製


字串判斷運算:

public static void main(String[] args) {
String str1 = "abcdsg";//声明一个字符串
String str2 = "adc";
System.out.println("判断是否以字符串abc开头:"+str1.startsWith("abc"));
System.out.println("判断是否以字符串sg结尾:"+str1.endsWith("sg"));
System.out.println("判断是否包含字符串ds:"+str2.contains("ds"));
System.out.println("判断是否为空:"+str1.isEmpty());
System.out.println("判断两个字符串是否相等"+str1.equals(str2));
登入後複製

#字串的截取與分割

String類別對字串的截取與分割提供了兩個方法, 其中, substring()方法用於截取字串的一部分, split()方法可以將字串依照某個字元進行分割。

package com.project.demo;

public class Test {
         public static void main(String[] args) {
            String string = "张三-李四-王五"; 
            //截取字符串
            System.out.println("从第4个字符截取到最后:"+string.substring(3));
            System.out.println("从第3个字符截取到第6:"+string.substring(2,6));
            // 字符串分割
            System.out.println("分割后的字符串数组元素依次是: ");
            String[] stringArray =string.split("-");//通过- 字符为标志,将其分割为字符串数组
            for(int i =0;i<stringArray.length;i++) {
                if(i != stringArray.length-1 ) {
                    System.out.println(stringArray[i]+",");
                    
                }else {
                    System.out.println(stringArray[i]);
                    System.out.println(string.length());
                }
                
            }
            
        }
}
登入後複製
 去空格與替換操作:
package com.project.demo;
public class Test {
         public static void main(String[] args) {
             String string = "    hello     word   ";
             //字符串替换操作
             System.out.println("将word 替换成java :"+string.replace("word", "java"));
             //字符串去空操作
             System.out.println("去除字符串两端的空格:"+ string.trim());
             System.out.println("去除字符串中所有空格: "+string.replace(" ", ""));
             System.out.println("将小写转换为大写 : " + string.toUpperCase());
         }
}
登入後複製

 有一點要注意,String 在取某個字元的時候,會用到字元的索引(陣列下標索引),當存取字串中的字元的時候,如果字元的索引不存在,則會發生StringIndexOutOfBoundsException(字串下標越界異常)

StringBuffer:

##為了方便字串的修改,JDK提供了一個StringBuffer類別(也稱為字元緩衝區)StringBuffer類別和String 類別最大的差別就是他的長度和內容都是可變的, StringBuffer類似於一個字串容器,當在其中新增或刪除字元時,並不會產生新的StringBuffer物件。

讓我們來看看API 中StringBuffer的常用方法:

面試的時候我們常常會被問到 String,StringBuffer與StringBuilder的差別??

簡單的說

,String 字串常數StringBuffer 字串變數(線程安全) StringBuilder 字串變數(非線程安全)###  String 類型和StringBuffer 類型的主要效能區別其實在於String 是不可變的對象, 因此在每次對String 類型進行改變的時候其實都等同於生成了一個新的String 對象,然後將指針指向新的String 對象,所以經常改變內容的字符串最好不要用String ,因為每次生成物件都會對系統效能產生影響,特別當記憶體中無引用物件多了以後, JVM 的GC 就會開始運作,那速度是一定會相當慢的。 ######如果是使用 StringBuffer 類別 每次結果都會對 StringBuffer 物件本身進行操作,而不是產生新的對象,再改變物件參考。所以在一般情況下我們推薦使用 StringBuffer ,特別是字串物件經常改變的情況下。而在某些特別情況下, String 物件的字串拼接其實是被JVM 解釋成了StringBuffer 物件的拼接,所以這些時候String 物件的速度不會比StringBuffer 物件慢,而特別是以下的字串物件生成中, String 效率是遠要比StringBuffer 快的:###
 String S1 = “This is only a” + “ simple” + “ test”;
登入後複製
###StringBuffer Sb = new StringBuilder(“This is only a”).append(“ simple”).append(“ test”);  你會很驚訝的發現,生成String S1 物件的速度簡直太快,而這個時候StringBuffer 居然速度上根本一點都不佔優勢。其實這是JVM 的把戲,在JVM 眼裡,這個 String S1 = “This is only a” “ simple” “test”; 其實就是:  String S1 = “This is only a simple test”; 所以當然不需要太多的時間了。 ######但這裡要注意的是,如果你的字串是來自另外的 String 物件的話,速度就沒那麼快了,譬如:###
String S2 = “This is only a”; String S3 = “ simple”;
String S4 = “ test”;
String S1 = S2 +S3 + S4;
登入後複製

这时候 JVM 会规规矩矩的按照原来的方式去做 在大部分情况下 StringBuffer > String StringBuffer Java.lang.StringBuffer线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。 可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。 StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。append 方法始终将这些字符添加到缓冲区的末端;而 insert 方法则在指定的点添加字符。

例如,如果 z 引用一个当前内容是“start”的字符串缓冲区对象,则此方法调用 z.append("le") 会使字符串缓冲区包含“startle”,而 z.insert(4, "le") 将更改字符串缓冲区,使之包含“starlet”。

在大部分情况下 StringBuilder > StringBuffer java.lang.StringBuilde java.lang.StringBuilder一个可变的字符序列是5.0新增的。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。两者的方法基本相同。

基本数据类型包装类:

何为包装类?

java.lang包中有各种原生类相对应的类, 称作数值包装类。 这些类的名称, 大部分均以各原生类类型第一个字母换成大写的方式来命。简单的说就是将数据装换为对象,来应用更多的方法。

booleanBoolean
byteByte
shortShort
intInteger
longLong
charChracter
floatFloat
doubleDouble

包装类和基本数据类型在进行转换时,引入了装箱和拆箱的概念,其中装箱是指将基本数据类型的值转为引用数据类型, 反之, 拆箱是指将引用数据类型的对象转为基本数据类型。

举个栗子:

方式一: 通过new关键字
Integer in = new Integer(5);
方式二: 直接赋值
Integer in = 5;
登入後複製

构造函数可将原生数据类型数值或代表数值的字符串转换成一数值包装对象。

如: 在Double类中的构造函数
Double(double value)
Double(String s)
例:

Double tax=Double(8332349823.234);
登入後複製

 在数值包装类中所定义的方法, 最常用到的就是一些用来做字符串与数值间转换的方法。比如:

static float parseFloat(String s)
static Float valueof(String s)
static String toString(float f)
在使用包装类的时候我们需要注意一些问题.

1、 包装类都重写了Object类中的toString()方法,以字符串的形式返回被包装的基本数据类型的值;
2、 除了Character外, 包装类都有parseXXX(String s)的静态方法,将字符串转换为对应的基本类型的数据。 参数s不能为null, 而且同样必须是可以解析为相应基本类型的数据,否则虽然编译通过,但运行时会报错;
3、 除了Character外,包装类都有valueOf(String s)方法,可以根据String类型的参数创建包装类对象, 但参数字符串s不能为null,而且字符串必须是可以解析为相应基本类型的数据,否则虽然编译通过, 但运行时也会报错

以上是Java API的詳細介紹(附範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

突破或從Java 8流返回? 突破或從Java 8流返回? Feb 07, 2025 pm 12:09 PM

Java 8引入了Stream API,提供了一種強大且表達力豐富的處理數據集合的方式。然而,使用Stream時,一個常見問題是:如何從forEach操作中中斷或返回? 傳統循環允許提前中斷或返回,但Stream的forEach方法並不直接支持這種方式。本文將解釋原因,並探討在Stream處理系統中實現提前終止的替代方法。 延伸閱讀: Java Stream API改進 理解Stream forEach forEach方法是一個終端操作,它對Stream中的每個元素執行一個操作。它的設計意圖是處

PHP:網絡開發的關鍵語言 PHP:網絡開發的關鍵語言 Apr 13, 2025 am 12:08 AM

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP與Python:了解差異 PHP與Python:了解差異 Apr 11, 2025 am 12:15 AM

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP與其他語言:比較 PHP與其他語言:比較 Apr 13, 2025 am 12:19 AM

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

Java程序查找膠囊的體積 Java程序查找膠囊的體積 Feb 07, 2025 am 11:37 AM

膠囊是一種三維幾何圖形,由一個圓柱體和兩端各一個半球體組成。膠囊的體積可以通過將圓柱體的體積和兩端半球體的體積相加來計算。本教程將討論如何使用不同的方法在Java中計算給定膠囊的體積。 膠囊體積公式 膠囊體積的公式如下: 膠囊體積 = 圓柱體體積 兩個半球體體積 其中, r: 半球體的半徑。 h: 圓柱體的高度(不包括半球體)。 例子 1 輸入 半徑 = 5 單位 高度 = 10 單位 輸出 體積 = 1570.8 立方單位 解釋 使用公式計算體積: 體積 = π × r2 × h (4

PHP與Python:核心功能 PHP與Python:核心功能 Apr 13, 2025 am 12:16 AM

PHP和Python各有優勢,適合不同場景。 1.PHP適用於web開發,提供內置web服務器和豐富函數庫。 2.Python適合數據科學和機器學習,語法簡潔且有強大標準庫。選擇時應根據項目需求決定。

創造未來:零基礎的 Java 編程 創造未來:零基礎的 Java 編程 Oct 13, 2024 pm 01:32 PM

Java是熱門程式語言,適合初學者和經驗豐富的開發者學習。本教學從基礎概念出發,逐步深入解說進階主題。安裝Java開發工具包後,可透過建立簡單的「Hello,World!」程式來實踐程式設計。理解程式碼後,使用命令提示字元編譯並執行程序,控制台上將輸出「Hello,World!」。學習Java開啟了程式設計之旅,隨著掌握程度加深,可創建更複雜的應用程式。

PHP:許多網站的基礎 PHP:許多網站的基礎 Apr 13, 2025 am 12:07 AM

PHP成為許多網站首選技術棧的原因包括其易用性、強大社區支持和廣泛應用。 1)易於學習和使用,適合初學者。 2)擁有龐大的開發者社區,資源豐富。 3)廣泛應用於WordPress、Drupal等平台。 4)與Web服務器緊密集成,簡化開發部署。

See all articles