1. 程式人生 > >JAVA--核心類

JAVA--核心類

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());
         }
    }