1. 程式人生 > >常用API二

常用API二

lis com ati 位置 exce 數組 方式 args tin

常用API二
一、Object
  成員方法:
    1、toString(): 重寫前,調用object類中的,打印的是全類名@16進制的地址值 。 重寫後打印具體對象的值
    2、equals():重寫前比較的是地址值 重寫後打印的是具體屬性值
    3、獲取字節碼對象3種方式(三個獲取的值相等)
      A:通過Object類中getClass()方法調用,Teacher t = new Teacher();t.getclass();
      B:類名點調用 Teacher.class();
      C:通過Class類的靜態方法format()類獲取 Class.forname("全類名");

例子:

package Apiss;

public class Zi {
    public static void main(String[] args) throws ClassNotFoundException {
        //創建老師對象
        Teacher t = new Teacher();
        //用對象調用的方法獲取字節碼
        Class cl = t.getClass();
        //打印字節碼
        System.out.println(cl);
        //用Teacher類點的方法獲取字節碼
        Class cl2 = Teacher.class
; System.out.println(cl2); //用forName()的靜態方法獲取字節碼 Class cl3 = Class.forName("字節碼.Teacher"); System.out.println(cl3==cl2); System.out.println(cl==cl2); } } //創建Teacher類 class Teacher{ String name; int age; }

結果:

技術分享



二、System
  A:static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) :
    從src源數組的srcPos索引開始,復制length個元素
    從destPost位置開始將這些元素放至到dest數組中

例子:

package Apiss;

public class Arraycopyss {
        public static void main(String[] args) {
            //創建源數組
            int[] arr1 = {1,2,3,4,5};
            //創建目標數組
            int[] arr2 = new int[5];
            //將源數組元素復制到目標數組中
            System.arraycopy(arr1, 0, arr2, 0, 5);
            //遍歷數組
            for(int i=0;i<arr2.length;i++){
                System.out.print(arr2[i]+" ");
            }
    }

}

結果:

技術分享

  B: System.exit(int i);//終止當前虛擬機
  C: System.currentTimeMillis();獲取當前系統毫秒時間

例子:

package Apiss;

public class Systemss {
    public static void main(String[] args) {
        // 創建起始時間
        long start = System.currentTimeMillis();
        // 循環輸出數
        for (int i = 0; i < 1000; i++) {
            System.out.println(i);
            // 判斷第100個數時
            if (i == 100) {
                // 記錄結束時間
                long end = System.currentTimeMillis();
                // 打印時間差
                System.out.println(end - start);
                // 終止當前虛擬機
                System.exit(0);
            }
        }
    }
}

結果:

技術分享



三、Date
  1、構造方法
    Date(); 返回的就是從1970-1-1 8:00:00到當前的時間毫秒值
    Date(毫秒值); 返回的就是具體傳入毫秒值日期對象
  2、成員方法
    setTime();
    setTime();

例子:

package Apiss;

import java.util.Date;

public class Datess {
    public static void main(String[] args) {
        //創建日期對象
        Date d = new Date();
        //打印日期
        System.out.println(d.toLocaleString());
        //獲取當前時間的毫秒值
        System.out.println(d.getTime());//1510149157189
        //設置時間毫秒值 , 據1970-1-1 8:00:00的毫秒值
        d.setTime(1510149157189L);
        System.out.println(d.toLocaleString());
        System.out.println("1970年至今"+1510149335204L/1000/60/60/24/365+"年");
    }
}

結果:

技術分享

四、SimpleDateFormat
  1、構造方法:SimpleDateFormat() :使用默認的模式進行對象的構建
        SimpleDateFormat(String pattern) :使用的指定的模式進行對象的構建
    例子:SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
  2、成員方法:String format(Date d);將日期對象轉換成一個字符串
        Date parse(String s); 將字符串轉成一個日期對象

例子:

package Apiss;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Formate {
    public static void main(String[] args) throws ParseException {
        //指定一個日期格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        
        Date date = new Date();
        //格式化日期,將日期對象轉化為一個字符串
        String s = sdf.format(date);
        System.out.println(s);
        //將字符串解析為一個日期對象
        Date d = sdf.parse("2017年11月08日 10:00:00");
        System.out.println(d.toLocaleString());
        
    }
}

結果:

技術分享

計算出生到現在的小時案例:

package Apiss;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class BirthDays {

    public static void main(String[] args) throws ParseException {
        //寫入出生,現在的時間
        String birthday = "2000-11-26";
        String now = "2017-11-08";
        //設置日期格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        //將兩個字符串轉化成日期對象
        Date d1 = sdf.parse(birthday);
        Date d2 = sdf.parse(now);
        //獲取日期對應的毫秒時間
        long l = d1.getTime();
        long ll = d2.getTime();
        //計算出生到現在的小時
        System.out.println("出生到現在經過了"+(ll-l)/1000/60/60/24+"個小時");
    }

}

結果:

技術分享

五、Calendar日歷類
1、static Calendar getInstance();使用默認時區和語言環境獲得一個日歷
Calendar c = Calendar.getInstance();//返回當前時間
2、獲取get();
3、修改set();
4、添加add();

例子:

package Apiss;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class GetTimes {
    public static void main(String[] args) throws ParseException {
        // 給一個時間字符串
        String s = "2017-11-08";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        // 將字符創轉成日期對象,獲取從1970年1月1日至今的毫秒值
        Date d = sdf.parse(s);
        // 創建日歷對象
        Calendar c = Calendar.getInstance();
        // 將毫秒值設置到日歷對象
        c.setTime(d);
        // 獲取年
        int year = c.get(Calendar.YEAR);
        // 獲取月(記錄月的索引從0開始)
        int month = c.get(Calendar.MONTH) + 1;
        // 獲取日
        int day = c.get(Calendar.DAY_OF_MONTH);
        // 今天是一年中的第幾天
        int dayOfYear = c.get(Calendar.DAY_OF_YEAR);
        System.out.println(s + "是" + year + "年。" + month + "月。" + day + "日。是這一年中的第:" + dayOfYear + "天");
        // 獲取周
        int week = c.get(Calendar.DAY_OF_WEEK);
        System.out.println(getWeek(week));

    }

    private static String getWeek(int week) {
        String[] arr = { "", "周日", "周一", "周二", "周三", "周四", "周五", "周六" };
        return arr[week];
    }
}

結果:

技術分享


常用API二