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

3 常用API

程序 計算 時間格式 string 字節數組 obj 表示 int 數據類型

1.scanner類 import java.util.*;


// 創建一個掃描對象 傳入一個標準輸入流
// System.in:用戶點擊的按鍵就是一個標準輸入流 
Scanner san = new Scanner(System.in);
String str = san.next();  // 開始掃描

System.out.print("開始掃描整數:");
int it = san.nextInt();   //  java.util.InputMismatchException(輸入不匹配異常)
System.out.println("掃描到:"+it);

2.random類 Random random = new Random();


OUT:
    // 循環十次,數據不能重復
    for (int i = 0; i < datas.length; i++) {
        // 生成隨機數 10 10
        int data = random.nextInt(20);

3.包裝類 8個包裝類:

java面向對象的編程語言

基本數據類型 引用類型


 Java有8個基本類型:Java認為一切都是對象,但這8個基本類型是例外。

 為了將8個基本類型也可以當成對象使用,Java提供了包裝類。

 byte    ->   Byte      (包裝成對象)
 short   ->   Short
 int     ->   Integer
 long    ->   Long
 float   ->   Float
 double  ->   Double
 char    ->   Character
 boolean ->   Boolean

 基本數據類型變成包裝類以後:實際上包裝類就變成了引用類型了,默認值是null  

 自動裝箱: Java會自動把基本類型的值包裝成對應包裝類的實例。
              基本類型,可以自動轉對應的包裝類

 自動拆箱: Java會自動把包裝類的實例拆裝成對應基本類型的值
             包裝類,可以自動轉對應的基本類型

                     自動
 基本類型  <-------> 包裝類

4.Date ,SimpleDateformat 當前時間: 類 Date 表示特定的瞬間,精確到毫秒。


// 創建一個Date對象 
    Date date = new Date();
    System.out.println(date);  // 系統標準時間刻度
    long dt1 = date.getTime();  // 將標準系統時間轉換成毫秒時間

    long dt = System.currentTimeMillis(); // 當前時間刻度的毫秒時間 從格林時間到現在為止的總毫秒數
    System.out.println(dt-dt1);

    // 得到程序開始執行的時間
    long startTimer = new Date().getTime();
    for(int i =0 ; i < 100000 ; i++){
        //System.out.println("-------------");
    }
    long endTimer = System.currentTimeMillis();

    System.out.println((endTimer - startTimer)/1000.0);

    // 如果把毫秒轉換轉換成標準時間 
    Date dt2 = new Date(endTimer);
    System.out.println(dt2);
//  System.out.println(dt2.toLocaleString() );  // 2016-7-29 15:51:56  這個方法過時了 

    // 將標準時間轉換成想要的時間格式  
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH時mm分ss秒");
    System.out.println(format.format(new Date()));

    long ll = System.currentTimeMillis();
    System.out.println(format.format(ll));
    //將字符串轉為時間
    format.parse("");

5.System類 任何一個類默認就會自動導入 java.lang 包。 error in


out

gc() 調用 gc 就是通知 Java 虛擬機回收未用對象,以便能夠快速地重用這些對象當前占用的內存

  記住:currentTimeMillis() 返回以毫秒為單位的當前時間。

6.Math類 Math類(專門用於數學計算的)


abs 絕對值 floor(double a) 最接近a的整數 並且 小於等於a。 pow(double a, double b) 返回第一個參數的第二個參數次冪的值。 random() 返回帶正號的 double 值,該值大於等於 0.0 且小於 1.0。 rint(double a) 返回最接近參數並等於某一整數的 double 值。 round(double a) 返回最接近參數的 long。 sqrt(double a) 返回正確舍入的 double 值的正平方根。

7.String,StringBuffer,StringBuilder


常量池:存放字符串常量和基本類型常量(public static final) 直接用雙引號定義的存儲在常量池中,new出來的就直接放在堆中 直接new字符串,先在常量池找是否存在這個字符串,沒有就直接在常量池創建一個 String s="s"+"tring";只創建一個String對象 Stirng中的equals方法:比較字符串的內容

String常用的方法:
        字符串長度:length()
      截取一個字符:charAt(索引)
      getChars() 截取多個字符
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart) 例:String s="this is a demo of the getChars method.";      char buf[]=new char[20];      s.getChars(10,14,buf,0); getBytes()    替代getChars()的一種方法是將字符存儲在字節數組中,該方法即getBytes()。 equals()和equalsIgnoreCase() 比較兩個字符串 substring()  它有兩種形式,第一種是:String substring(int startIndex)          第二種是:String substring(int startIndex,int endIndex) trim() 去掉起始和結尾的空格 基本類型轉換成字符串時,例如,static String valueOf(int i) 把字符串轉換成基本類型時,例如,int,integer.praseInt(String s) 

8.HashSet(ArrayList比HashSet多一種for循環遍歷)


Set set = new HashSet(); set.add(30);//Integer //遍歷set集合的第一種方法 forEach

for(Object obj : set){
        //System.out.println(obj);
    }

    //set集合不可以通過for循環進行遍歷,原因:Set集合中沒有提供根據索引獲取對應元素的方法
    /*for(int i=0;i<set.size();i++){

    }*/

    //遍歷set集合的第二種方案
     Iterator  it = set.iterator();//調用iterator()方案。底層會將set集合中所有的數據存放在Iterator實例中

     //通過while遍歷 叠代器Iterator 獲取叠代器中的元素
     //it.hasNext():如果叠代器中還有元素 則返回 true沒有則返回false   it.next():獲取數據並讓指針下移

     while(it.hasNext()){ 
         //獲取叠代器中的元素
        Object obj =  it.next();//取數據
     }

9.HashMap


Map<Integer,Article> maps = new HashMap<Integer, Article>();

//往集合中存放數據   
    maps.put(5, article);
    //System.out.println("map集合中元素的個數:"+maps.size()+" 集合是否為空:"+maps.isEmpty()+"=="+(maps==null));

    if(maps.containsKey(5)){
        //System.out.println("此商品已經購買過");
    }else{
        //System.out.println("此商品不存在與購物車中");

    }

    //遍歷map集合  的第一種方式
    Set<Integer> keys = maps.keySet();//返回map集合中所有的key

    for(Integer key : keys){
        //System.out.println(key);

        //根據map集合中的key值,獲取對應的value的值
        Article ar = maps.get(key);
        System.out.println(key+"=="+ar);

    }
    //遍歷map集合  的第二種方式  獲取map集合中所有的value值
    Collection<Article> values =  maps.values();
    for(Article ar : values){
        //System.out.println(ar);
    }

    //遍歷map集合  的第三種方式  
    Set<Entry<Integer, Article>> sets =  maps.entrySet();

    for(Entry<Integer, Article> entry : sets){

        //獲取集合中的key值
        Integer key = entry.getKey();

        //獲取集合中的value值
        Article ar = entry.getValue();
        //System.out.println("key:"+key+"==value:"+ar);
    }

3 常用API