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

2020-04-07 16:07:05來源:博客園 閱讀 ()

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

【從零開始學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類

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


原文鏈接:https://www.cnblogs.com/zllk/p/12656936.html
如有疑問請與原作者聯系

標簽:操作for解決常用生成時間

版權申明:本站文章部分自網絡,如有侵權,請聯系:west999com@outlook.com
特別注意:本站所有轉載文章言論不代表本站觀點,本站所提供的攝影照片,插畫,設計作品,如需使用,請與原作者聯系,版權歸原作者所有

上一篇:【從零開始學Java筆記】異常處理

下一篇:【從零開始學Java筆記】多態

韩国三级在线看免费