【從零開始學Java筆記】常用API

来源:https://www.cnblogs.com/zllk/archive/2020/04/07/12656936.html
-Advertisement-
Play Games

大家可以關註作者的賬號,關註從零開始學Java筆記文集。也可以根據目錄前往作者的博客園博客進行學習。本片文件將基於黑馬程式員就業班視頻進行學習以及資料的分享,並記錄筆記和自己的看法。歡迎大家一起學習和討論。 "【從零開始學Java筆記】目錄" Java本身為我們提供了很多已經封裝好的API,在開發中 ...


大家可以關註作者的賬號,關註從零開始學Java筆記文集。也可以根據目錄前往作者的博客園博客進行學習。本片文件將基於黑馬程式員就業班視頻進行學習以及資料的分享,並記錄筆記和自己的看法。歡迎大家一起學習和討論。

【從零開始學Java筆記】目錄

Java本身為我們提供了很多已經封裝好的API,在開發中直接調用即可,大大的提高了開發的效率。在本節主要會教大家如何查閱和使用API,以及一些常用的API

鏈接:https://pan.baidu.com/s/1fwlb0ilG7DEJwSnfCjSurg
提取碼:kt54
這是API文檔

Scanner類

就以Scanner類為例,交大家釣魚的方法
第一步:下載完成後打開API文檔

第二步:在索引處,輸入你想學習的類或者方法

第三步:點擊Scanner類會出個對話框,點第一個

第四步:進入查看你需要的內容

1:看包
java.lang包下的類在使用的時候是不需要導包的,可以看出Scanner類是在java.util包下,所以使用的時候需要導包
import java.util.Scanner;
2:看類的描述
一個可以使用正則表達式來解析基本類型和字元串的簡單文本掃描器。
以下代碼使用戶能夠從 System.in 中讀取一個數:

 Scanner sc = new Scanner(System.in);
 int i = sc.nextInt();

3:看構造方法
Scanner(InputStream source) : 構造一個新的 Scanner,它生成的值是從指定的輸入流掃描的。
Scanner sc = new Scanner(System.in);
4:看成員方法
String nextLine() :此掃描器執行當前行,並返回跳過的輸入信息。
String s = sc.nextLine();
調用方法:
看返回值類型:人家返回什麼類型,你就用什麼類型接收
看方法名:名字不要寫錯了
看形式參數:人家要幾個參數,你就給幾個,人家要什麼數據類型的,你就給什麼數據類型的
5:後期還需要主要這個類的子父類,介面,以及方法是否是抽象,靜態等

實例:

import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		
		System.out.println("請輸入:");
		Scanner sc = new Scanner(System.in);
		String s = sc.nextLine();
		System.out.println("------------------");
		System.out.println(s);
		
		
	}
}
輸出結果
請輸入:
123
------------------
123

String字元串類

由多個字元組成的一串數據,字元串其本質是一個字元數組

構造方法

String(String original) :把字元串數據封裝成字元串對象
String(char[] value) :把字元數組的數據封裝成字元串對象
String(char[] value, int index, int count ) :把字元數組中的一部分數據封裝成字元串對象

public class StringDemo {
	public static void main(String[] args) {
		// 方式1
		// String(String original) :把字元串數據封裝成字元串對象
		String s1 = new String("hello");
		System.out.println();
		System.out.println("s1: " + s1);
		System.out.println("---------");
		// 方式2
		// String(char[] value): 把字元數組的數據封裝成字元串對象
		char[] chs = { 'h', 'e', 'l', 'l', 'o' };
		String s2 = new String(chs);
		System.out.println("s2:" + s2);
		System.out.println("--------");
		// 方式3
		// String(char[] value, int index, int. count ) :把字元數組中的一部分數據封裝成字元串對象
		String s3 = new String(chs, 0, chs.length);
		String s4 = new String(chs, 1, 3);
		System.out.println("s3:" + s3);
		System.out.println("s4:" + s4);
	}

}
輸出結果
s1: hello
---------
s2:hello
--------
s3:hello
s4:ell

成員方法

都很簡單,大家可以自己去嘗試。

首先介紹一個概念Object :是類層次結構中的根類,所有的類都直接或者間接的繼承自該類。
如果一個方法的形式參數是0bject,那麼這裡我們就可以傳遞它的任意的子類對象。

String類的判斷功能

boolean equals(Object obj) :比較字元串的內容是否相同
boolean equalsIgnoreCase(String str) :比較字元串的內容是否相同,忽略大小寫
boolean startsWith(String str) :判斷字元串對象是否以指定的str開頭
boolean endsWith(String str) :判斷字元串對象是否以指定的str結尾

String類的獲取功能

int length() :獲取字元串的長度,其實也就是字元個數
char charAt(int index) :獲取指定索引處的字元
int indexOf(String str) :獲取str在字元串對象中第一次出現的索引
String substring(int start):從start開始截取字元串
String substring(int start, int end):從start開始, 到end結束截取字元串

String類的轉換功能

char[] toCharArray( ) :把字元串轉換為字元數組
String tolowerCase() :把字元串轉換為小寫字元串
String toUpperCase() :把字元串轉換為大寫字元串

String類的其他功能

String trim():去除字元串兩端空格
String[] split(String str):按照指定符號分割字元串

StringBuilder類

我們如果對字元串進行拼接操作,每次拼接,都會構建一個新的String對象,既耗時,又浪費空間。而StringBuilder就可以解決這個問題。但其實StringBuilder類也不常用,以後會介紹一個更方便,更符合面向對象思想的集合類AarryList類,所以StringBuilder類,大家瞭解一下即可。

object類

String toString() : 返回該對像的字元串表示

return getClass().getName() + "@" + Integer.toHexString(hashCode());

  • getClass():返回一個位元組碼對象
    Integer.toHexString():返回指定參數的十六進位字元串形式
    hashCode():返回該對象的哈希碼值(內部地址)
public class ObjectDemo {
	public static void main(String[] args) {
		People s = new People();
		s.name = "曹操";
		s.age = 44;
		System.out.println(s.toString());
		System.out.println(s);//輸出一個對象,預設輸出toString方法

	}

}

class People {
	String name;
	int age;

	@Override
	public String toString() {
		return "People [name=" + name + ", age=" + age + "]";
	}

}
輸出結果
People [name=曹操, age=44]
People [name=曹操, age=44]

boolean equals(Object obi ):使用==來比較兩個對象是否相等,則比較地址值是否相等

重寫此方法使方法更有效,目的就是比較對象的內容而不是地址值

public boolean equals(Object obj) {
		//提高效率,如果是同一個對象,地址值一樣,不需要比較
		if (this == obj)
			return true;
		//如果傳參是空,不需要比較
		if (obj == null)
			return false;
		//提高健壯性,如果傳參不是一個類型,即class類不一樣不需要比較
		if (getClass() != obj.getClass())
			return false;
		//向下轉型
		People other = (People) obj;
		//判斷對象所有屬性是不是相同
		if (age != other.age)
			return false;
		if (name == null) {
			if (other.name != null)
				return false;
		} else if (!name.equals(other.name))
			return false;
		return true;
	}

System類

System:包含一些有用的類欄位和方法。它不能被實例化
static void arraycopx.(Object src, int srcPos, object dest, int destPos, int length)
static long currentTimeMillis()
static void exit(int status)

public class SystemDemo {
	public static void main(String[] args) {
//		想測試那個方法就可以取消註釋
//		method();
//		method2();
//		method3();
		
	
	}

	private static void method3() {
		//static void exit(int status) :終止虛擬機
		
		for (int i = 0; i < 100000; i++) {
			System.out.println(i);
			if(i == 100) {
				System.exit(0);
			}
		}
	}

	private static void method2() {
		/*
		 *  static long currentTimeMillis() :以毫秒值返回當前系統時間
		 *  這個毫秒的時間是相對時間,相對於1970-1-1 00:00:00 : 0
		 *  1970-1-1 00:00:01 : 1000
		 *  1970-1-1 00:01:00: 1000 * 60
		 *  1970-1-1 01:00:00: 1000 * 60 * 60
		 *  1000毫秒 = 1秒
		 *  
		 */
		//System.out.println(System.currentTimeMillis());
		
		
		long start = System.currentTimeMillis();
		for (int i = 0; i < 100000; i++) {
			System.out.println(i);
		}
		long end = System.currentTimeMillis();
		System.out.println(end - start);
	}

	private static void method() {
		/*
		 * static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)  
		 * 複製數組
		 * 參數1:源數組
		 * 參數2:源數組的起始索引位置
		 * 參數3:目標數組
		 * 參數4:目標數組的起始索引位置
		 * 參數5:指定接受的元素個數
		 */
		int[] src = {1,2,3,4,5};
		int[] dest = new int[5];
		System.arraycopy(src, 0, dest, 0, 5);
		
		for (int i = 0; i < dest.length; i++) {
			System.out.print(dest[i]);
		}
	}
}

Date類、SimpleFormat類和Calender類

這三個類都是和系統時間有關的,有興趣的可以瞭解一下


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 2019python之年: 2019是個挫折之年,但又是幸運之年,這一年創業遭遇滑鐵盧,幾與破產,充滿著迷茫,路在何方?? 開始接觸python是在微信朋友圈,結緣於廣告,覺得很有意思,但一直沒有深入接觸,後來在機緣巧合下,在各方壓迫之下,於8月份決心開始學習python, 萬事開頭難,但決心已定, ...
  • 隊列 隊列是用數組或鏈表實現的,遵循先進先出規則的一個有序列表 使用數組模擬隊列 分析:雖然隊列中的元素已經全部出隊,但是由於我們的隊列是使用數組模擬的,而且每次入隊的時候,頭指定都後移,當我們入隊次數增加,總有一時刻,頭指針指向數組最大下標,儘管我們有出隊,但是任然不能入隊元素,我們可以使用數組模 ...
  • 大家可以關註作者的賬號,關註從零開始學Java筆記文集。也可以根據目錄前往作者的博客園博客進行學習。本片文件將基於黑馬程式員就業班視頻進行學習以及資料的分享,並記錄筆記和自己的看法。歡迎大家一起學習和討論。 "【從零開始學Java筆記】目錄" 首先要聲明一點,無論什麼語言都沒有高低貴賤之分,語言只是 ...
  • 大家可以關註作者的賬號,關註從零開始學Java筆記文集。也可以根據目錄前往作者的博客園博客進行學習。本片文件將基於黑馬程式員就業班視頻進行學習以及資料的分享,並記錄筆記和自己的看法。歡迎大家一起學習和討論。 "【從零開始學Java筆記】目錄" 這裡的Java基礎並不是真正的Java基礎,而是一些無法 ...
  • 大家可以關註作者的賬號,關註從零開始學Java筆記文集。也可以根據目錄前往作者的博客園博客進行學習。本片文件將基於黑馬程式員就業班視頻進行學習以及資料的分享,並記錄筆記和自己的看法。歡迎大家一起學習和討論。 "【從零開始學Java筆記】目錄" Java語言是一種面向對象的程式設計語言,而面向對象思想 ...
  • 大家可以關註作者的賬號,關註從零開始學Java筆記文集。也可以根據目錄前往作者的博客園博客進行學習。本片文件將基於黑馬程式員就業班視頻進行學習以及資料的分享,並記錄筆記和自己的看法。歡迎大家一起學習和討論。 "【從零開始學Java筆記】目錄" 封裝概述 面向對象三大特征之一。 面向對象編程語言對客觀 ...
  • 大家可以關註作者的賬號,關註從零開始學Java筆記文集。也可以根據目錄前往作者的博客園博客進行學習。本片文件將基於黑馬程式員就業班視頻進行學習以及資料的分享,並記錄筆記和自己的看法。歡迎大家一起學習和討論。 "【從零開始學Java筆記】目錄" 什麼是繼承? 繼承就是子類繼承父類的特征和行為,使得子類 ...
  • 大家可以關註作者的賬號,關註從零開始學Java筆記文集。也可以根據目錄前往作者的博客園博客進行學習。本片文件將基於黑馬程式員就業班視頻進行學習以及資料的分享,並記錄筆記和自己的看法。歡迎大家一起學習和討論。 "【從零開始學Java筆記】目錄" 什麼是多態? 編程其實就是一個將具體世界進行抽象化的過程 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...