程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> [JAVA · 初級]:16.常用類

[JAVA · 初級]:16.常用類

編輯:JAVA綜合教程

[JAVA · 初級]:16.常用類


基本類型包裝

為什麼需要包裝類?

JAVA並不是純面向對象的語言。Java語言是一個面向對象的語言,但是Java中的基本數據類型卻是不面向對象的。但是我們在實際使用中經常需要將基本數據轉化成對象,便於操作。比如:集合的操作中。 這時,我們就需要將基本類型數據轉化成對象!

均位於java.lang包,包裝類和基本數據類型的對應關系:

\

 

包裝類的作用:

提供:字符串、基本類型數據、對象之間互相轉化的方式!

包含每種基本數據類型的相關屬性如最大值、最小值等

所有的包裝類(Wrapper Class)都有類似的方法,掌握一個其他都類似!

自動裝箱

基本類型就自動地封裝到與它相同類型的包裝中,如:

Integer i = 100;

本質上是,編譯器編譯時為我們添加了:

Integer i = new Integer(100);

自動拆箱

包裝類對象自動轉換成基本類型數據。如:

int a = newInteger(100);

本質上,編譯器編譯時為我們添加了:

int a = newInteger(100).intValue();

字符串

特性:

1)它必須使用一對雙引號括起來。例如:"ABC""A" "6" ""

2)它不變。不怎麼針對字符串操作,該串本身不變。

3)串中的每一個字符均有一個索引號。該索引號從 0 至 length()-1。

說明: length()方法,用來求串的長度。

4)串是一個對象,因此,它擁有屬性和方法。

5)相同的字符串是共享的。

String(不可變字符序列)

Java字符串就是Unicode字符序列,例如串“Java”就是4個Unicode字符J,a,v,a組成的。

Java字符串就是Unicode字符序列,例如串“Java”就是4個Unicode字符J,a,v,a組成的。

Java允許使用符號"+"把兩個字符串連接起來

– String s1 = “Hello”;String s2 = “World!”;

– String s = s1 + s2; //HelloWorld!

String類的常用方法:查看API文檔,不累述。

字符串相等的的判斷:一般使用equals()方法。

StringBuffer和StringBuilder 非常類似,均代表可變的字符序列,而且方法也一樣

 

字符串的選用

String:不可變字符序列

StringBuilder:可變字符序列、效率高、線程不安全

StringBuffer:可變字符序列、效率低、線程安全

 

String使用陷阱

string s="a"; //創建了一個字符串
s=s+"b"; //實際上原來的"a"字符串對象已經丟棄了,現在又產生了一個字符串s+"b"。如果多次執行這些改變串內容的操作,會導致大量副本字符串對象存留在內存中,降低效率。如果這樣的操作放到循環中,會極大影響程序的性能。

時間處理

\

 

在標准Java類庫中包含一個Date類。它的對象表示一個特定的瞬間,精確到毫秒。

Java中時間的表示說白了也是數字,是從:標准紀元1970.1.1 0點開始到某個時刻的毫秒數,類型是long。

DateFormat和SimpleDateFormat 完成字符串和時間對象的轉化!

 

DateFormat類

1) 它來源於 java.text.DateFormat類

2) 它的作用:

a) 用來實現日期時間的格式化;

b) 將 日期時間型字符串 轉換成Date類的對象。

 

SimpleDateFormat 類

1)它來源於 java.text.SimpleFormat類

2)它的作用:

a)用來實現 日期時間的格式化;

先創建對象,指格式;

再格式化Date對象,得到結果;

例如:SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");

String re = sdf.format( new Date() );

b)將 日期時間型字符串 轉換成 Date類的對象。

根據給定的字符串,來創建一個SimpleDateFormat的對象。

調用 parse( String )實現解析

例如:

 

String str = "===>>>2016年3月6號北京時間:15點23分21秒<<<===";
SimpleDateFormatsdf = new SimpleDateFormat("===>>>yyyy年MM月dd號北京時間:HH點mm分ss秒<<<===");
Dated1 = sdf.parse( str ); //解析

 

注意: SimpleDateFormat類是DateFormat類的子類。

注意: SimpleDateFormat類在格式化和轉換上均靈活。

 

Demo

 

/**
 *         SimpleDateFormat類的靈活性
 */
 
packagecom.hqg.oop.d311.a2;
 
import java.text.DateFormat;
importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.Date;
 
public classSimpleDateFormatTest {
       public static void main(String[] args)throws ParseException {
              Date d1 = new Date();
              String str1 = DateFormat.getDateInstance().format(d1 );
             
              SimpleDateFormat sdf = newSimpleDateFormat("\n★====^_^======★\nyyyy年MM月dd日\n★====^_^======★\n");
              String str2 = sdf.format( d1 );//將d1按照sdf對象的要求實現 格式化
             
              System.out.println("默認d1>>>> " + d1 );
              System.out.println("格式化str1>>>> " + str1 );
              System.out.println("格式化str2>>>> " + str2 );
             
              sdf = newSimpleDateFormat("HH點mm分ss秒");
              str2 = sdf.format( d1 ); //將d1按照sdf對象的要求實現 格式化
              System.out.println("\nst2>>>" + str2 );
             
              sdf = newSimpleDateFormat("D");
              str2= sdf.format( d1 );
              System.out.println("\nst2>>>" + str2 );
             
              str1 = "中國北京時間: 2008年08月08號20點8分8秒";
              SimpleDateFormat sdf2 = newSimpleDateFormat( "中國北京時間: yyyy年MM月dd號HH點mm分ss秒");
              Date dd = sdf2.parse( str1 ); //將str1 這個串按照 sdf2對象的格式進行解析
              System.out.println( dd );
             
              str1 = "中工期2016===03===11==";
              sdf2 = new SimpleDateFormat("中工期yyyy===MM===dd==" );
              Date dd2 = sdf2.parse( str1 );
              System.out.println( dd2 );
             
       }
}

Calendar日歷類

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved