java 类数组_Java常用类-字符串、日期类、算法及数组工具类等
大家好,樂字節的小樂又和大家見面了。這次要給大家講述的是Java常用類。
主要有以下知識點:
? 字符串相關類(String 、StringBuffer、StringBuilder)
? 算法及數組工具類(Arrays)
? 日期類
? 基本數據類型包裝類
? Math類
? File類
? 枚舉類
一、 字符串相關類(String、 StringBuffer 、 StringBuilder)
java.lang.String:不可變的字符序列
java.lang.StringBuffer:可變字符序列,并且線程安全,但是效率低
StringBuilder :可變字符序列,線程 不安全,但是效率高 (一般用他!)
“xxxx”為該類的一個對象
String類的常見構造方法:
String()
創建一個空字符的String對象
String(String original)
創建一個String對象為original的拷貝
String(char[] value)
用一個字符數組創建一個String對象
String(char[] value, int offset, int count)
用一個字符數組從offset項開始的count個字符序列創建一個String對象
String(byte[] bytes)
用一個byte數組創建一個String對象
String(byte[] bytes,int offset,int length)
用一個byte數組從offset項開始的length個字符序列創建一個String對象
二、 String類常用方法
public static String valueOf(….)系列,可以將基本類型數據轉換為字符串
例如:
public static String valueOf(double d)
public static String valueOf(int i)
….
public String[] split(String regex)
將一個字符串按照指定的分隔符進行分割,返回分割后的字符串數組。
StringBuffer類和StringBuilder類方法類似
1、字符串緩沖區類,StringBuffer
用字符串做拼接,比較耗時并且也耗內存,而這種拼接操作又是比較常見的,為了解決這個問題,Java就提供了 一個字符串緩沖區類,StringBuffer供我們使用。
StringBuffer和String類似,但StringBuffer可以對其字符串進行改變。
2、String和StringBuffer相互轉換
String -- StringBuffer
構造方法
StringBuffer -- String
toString()方法
3、StringBuffer的構造方法
A:StringBuffer()
創建一個不包含字符序列的空的StringBuffer對象
B:StringBuffer(int size)
構造一個不帶字符,但具有指定初始容量的字符串緩沖區
C:StringBuffer(String str)
創建一個StringBuffer對象,包含與String對象str相同的字符序列
4、StringBuffer的常見功能(自己補齊方法的聲明和方法的解釋)
A:添加功能 append()
B:刪除功能 delete(int start,int end) 開始位置,結束位置(end-1)
C:替換功能
D:反轉功能
E:截取功能(注意這個返回值)
F:在指定位置插入字符序列 insert(index,字符串)
5、與String類含義類似的方法
6、字符串的案例
A:模擬用戶登錄
B:字符串遍歷
C:統計字符串中大寫,小寫及數字字符的個數
D:把字符串的首字母轉成大寫,其他小寫
F:字符串反轉
G:統計大串中小串出現的次數
H: 判斷一個字符串是否對稱
三、 算法及Arrays工具類
1、排序
A:冒泡排序
相鄰元素兩兩比較,大的往后放,第一次完畢,最大值出現在了最大索引處。同理,其他的元素就可以排好。
public static void bubbleSort(int[] arr) {for(int x=0; x<arr.length-1; x++) {for(int y=0; y<arr.length-1-x; y++) {if(arr[y] > arr[y+1]) {int temp = arr[y];arr[y] = arr[y+1];arr[y+1] = temp;}} } }B:選擇排序
把0索引的元素,和索引1以后的元素都進行比較,第一次完畢,最小值出現在了0索引。同理,其他的元素就可以排好。
public static void selectSort(int[] arr) {for(int x=0; x<arr.length-1; x++) {for(int y=x+1; y<arr.length; y++) {if(arr[y] < arr[x]) {int temp = arr[x];arr[x] = arr[y];arr[y] = temp;}}} }2、查找
A:基本查找
針對數組無序的情況
public static int getIndex(int[] arr,int value) {int index = -1;for(int x=0; x<arr.length; x++) {if(arr[x] == value) {index = x;break;}}return index; }B:二分查找(折半查找)
針對數組有序的情況(千萬要先排序,在查找)
public static int binarySearch(int[] arr,int value) {int min = 0;int max = arr.length-1;int mid = (min+max)/2;while(arr[mid] != value) {if(arr[mid] > value) {max = mid - 1;}else if(arr[mid] < value) {min = mid + 1;}if(min > max) {return -1;}mid = (min+max)/2;}return mid; }3、Arrays工具類
A:是針對數組進行操作的工具類。包括排序和查找等功能。
B:要掌握的方法(自己補齊方法)
把數組轉成字符串:
排序:
二分查找:
4、把字符串中的字符進行排序
舉例:
"edacbgf" String []
得到結果
"abcdefg"
四、 時間處理相關類
1、java.util.Date
Date() 當前時間毫秒數
Date(long date) 指定日期毫秒數
⑴與字符串轉換
toString()
⑵日期比較
①equals()
②compareTo(Date anotherDate)
③after(Date when) before(Date when)
⑶與數字 Long 轉換(重要)
getTime() ->獲取數字
setTime() -->變成另外一個日期
2 、 DateFormat 類和 SimpleDateFormat 類
作用:把時間對象轉化成 指定格式的字符串。反之,把 指定格式的字符串轉化成時間對象。
DateFormat 是一個抽象類。一般使用 SimpleDateFormat 類。
日期<-->字符串
DateFormat
1、format(Date date) -->日期格式化為字符串
2、parse(符合格式字符串) -->字符串 轉為日期
子類
SimpleDateFormat(String pattern)
模板:區分大小寫
* y:年
* M:月
* d:日
* H:24 進制 [0,23]
* k:24 進制 [1,24]
* h:12 進制 [0,11]
* K:12 進制 [1,12]
* m:分鐘
* s:秒
* S:毫秒
五、 基本數據類型的包裝類
(1)為了讓基本類型的數據進行更多的操作,Java就為每種基本類型提供了對應的包裝類類型
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
(2)Integer的構造方法
A:Integer i = new Integer(100);
B:Integer i = new Integer("100");
注意:這里的字符串必須是由數字字符組成
(3)String和int的相互轉換
A:String -- int
Integer.parseInt("100");
B:int -- String
String.valueOf(100);
(4)JDK5的新特性
自動裝箱 基本類型--引用類型
自動拆箱 引用類型--基本類型
把下面的這個代碼理解即可:
Integer i = 100;
在賦值之前,先進行了自動裝箱
Integer i =Integer.valueOf(100);
i += 200;
計算之前,先進行了自動拆箱:i.intValue(),將對象轉換為int基本數據類型
(5)包裝類常見方法
Math類
java.lang.Math提供了一系列靜態方法用于科學計算;其方法的參數和返回值類型一般為double型
總結
以上是生活随笔為你收集整理的java 类数组_Java常用类-字符串、日期类、算法及数组工具类等的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java Dictionary get(
- 下一篇: setdefault_Java语言环境s