JAVA--核心類
阿新 • • 發佈:2018-11-06
object 類
** object類是所有類的父類,任何一個類都繼承了object 類 **
object 類常用方法:
toString(); 返回一個字串用於描述該物件。
equals(object obj); 用於比較兩個物件的記憶體地址,判斷是否為同一物件
hashCode(); 返回該類的hash值。
注意:重寫一個類的equals方法後,我們都會重寫hashCode方法。
樣例程式碼:
package cn.itast.object;
class Person
{
int id;
String name;
public Person(int id,String name)
{
this.id = id;
this.name = name;
}
public Person()
{
}
public String toString()
{
return "編號" + this.id +"姓名" + this.name;
}
public boolean equals(Object obj)
{
Person p = (Person)obj;
return this.id == p.id;
}
public int hashCode()
{
return this.id;
}
}
public class Demo1 {
public static void main(String[] args) {
Person p1 = new Person(100,"狗娃");
System.out.println(p1);
Person p2 = new Person(100,"狗娃");
System.out.println(p1.equals(p2));
System.out .println(p1.hashCode());
System.out.println(p2.hashCode());
}
}
String 類
String 的構造方法:
1.String() 建立一個空字串物件
2.String(byte[] bytes) 使用一個位元組陣列來建立一個字串的物件。
3.String(byte[] bytes,int offset, int length) 解碼陣列中指定部分
4.String(char[] value) 使用一個字元陣列建立一個字串物件。
5.String(char[] value,int offset, int length) 解碼陣列中指定部分
6.String(int[] codePoints,int offset,int length) 解碼陣列中指定部分
7.String(String original)
樣例程式碼:
public class Demo2 {
public static void main(String[] args) {
/*byte[] buf= {97,98,99};
String hh = new String(buf);
String dd = new String(buf,1,2);
System.out.println( hh );
System.out.println( dd );*/
/*char[] arr ={'a','b','c'};
String ss = new String(arr);
String bb = new String(arr,2,1);
System.out.println(ss);
System.out.println(bb);*/
/*int[] arr={97,98,99};
String aa = new String(arr,1,1);
System.out.println(aa);*/
/*String gg = new String("sssss");
System.out.println(gg);*/
}
}
StringBuffer
定義:
由於String的內容是不可變的,一旦修改馬上會建立一個物件,所以為了
避免導致String物件氾濫,在頻繁改變字串物件的應用中,需要使用可
變的字串緩衝區類。
實質:
StringBuffer底層是一個字串陣列,預設緩衝區的容量是16。如果字元
串的長度不夠,記憶體將自動 ** 增長一倍 **,執行緒安全的所有的緩衝區操
作方法都是同步的。效率很低。
方法:
1.reverse( ) 把字串反序輸出
2.delete(int star,int end)
3.deleteCharAt(int index)
4.replace(int star,int end,String str)
5.toString()
6.indexOf(String str)
7.substring(int star)
8.append()
9.insert(int cur,String str)
10.lastIndexOf(String str)
System
作用:
獲取系統屬性。
常用的方法:
1.arraycopy(Object src,int srcPro,Object dest,int destPro,int length)
(源陣列,源陣列中的起始位置,目標陣列,目標陣列的起始位置,要複製陣列的長度)
2.currentTimesMillis() 獲取系統時間
3.exit(int status) 0:正常退出jvm 1:異常退出
4.gc() 建議jvm啟動垃圾回收器回收垃圾
5.getenv(String name) 根據環境變數名獲取環境變數
6.String getProperty(String name) 獲取某個系統屬性
樣例程式碼:
public class Demo2 {
public static void main(String[] args)
{
int[] arr = {13,13,14,15,15};
int[] arr1 = new int[4];
System.arraycopy(arr,0,arr1,0,4);
System.out.println(Arrays.toString(arr1));
//System.exit(1);
System.out.println(System.getenv("path"));
System.out.println(System.currentTimeMillis());
Properties dd = System.getProperties();
//dd.list(System.out);
String ss = System.getProperty("os.name");
System.out.println(ss);
}
}
Runtime
作用:
該類描述當前應用程式的執行環境,一個應用程式只有一個執行環境
方法:
1.getRuntime() 返回當前應用程式的執行環境物件。
2.exec(String command) 根據指定的路徑執行對應的執行檔案。
3.freeMemory() 返回jvm中的空閒記憶體。(以位元組為單位)
4.maxMemory() 返回jvm中試圖管理的最大記憶體
5.totalMemory() 返回jvm中記憶體總量
樣例程式碼:
import java.io.IOException;
import java.io.PrintStream;
import java.util.Arrays;
import java.util.Properties;
public class Demo2 {
public static void main(String[] args) throws IOException, InterruptedException
{
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("C:\\Windows\\notepad.exe");
//Thread.sleep(3000);
process.destroy();
System.out.println(runtime.freeMemory());
System.out.println(runtime.maxMemory());
System.out.println(runtime.totalMemory());
}
}
Date
作用:
Date 類封裝的是系統的當前時間。但是Date已經過時了,sun推薦使用Calendar類。
Calendar: 該類是一個日曆的類,封裝了年月日時分秒時區。
日期格式化類:SimpleDateFormat
樣例程式碼:
public static void main(String[] args) throws ParseException {
/*Date date = new Date();
System.out.println(date);*/
/*Calendar calendar = Calendar.getInstance();
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH)+1);
System.out.println(calendar.get(Calendar.DATE));
System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
System.out.println(calendar.get(Calendar.MINUTE));
System.out.println(calendar.get(Calendar.SECOND));*/
Date date = new Date();
SimpleDateFormat dateformat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); //使用了預設的格式
String time = dateformat.format(date);
System.out.println(time);
String bir = "1999年01月02日 12:13:65";
Date date1= dateformat.parse(bir);
System.out.println(date1);
}
Math
方法:
1.abs(double num) 取絕對值
2.ceil(double num) 向上取整
3.floor(double num) 向下取整
4.round(double num) 四捨五入
5.random() 產生大於等於0.0 小於1.0的隨機數
Random 類可產生各種隨機數
樣例程式碼:
// 產生驗證碼。。。
public class Demo1{
public static void main(String[] args) {
Random random = new Random();
StringBuilder str = new StringBuilder();
char arr[] = {'z','g','f','c','b'};
for(int i=0; i<4; i++){
int index = random.nextInt(arr.length);
str.append(arr[index]);
}
System.out.println(str.toString());
}
}