當前位置:
首頁 > 知識 > JAVA中常見使用的代碼

JAVA中常見使用的代碼

//1.獲取環境變數

System.getenv("PATH");

System.getenv("JAVA_HOME");

//2.獲取系統屬性

System.getProperty("pencil color"); // 得到屬性值

java -Dpencil color=green

System.getProperty("java.specification.version"); // 得到Java版本號

Properties p = System.getProperties(); // 得到所有屬性值

p.list(System.out);

//3.String Tokenizer

// 能夠同時識別, 和 |

StringTokenizer st = new StringTokenizer("Hello, World|of|Java", ", |");

while (st.hasMoreElements()) {

st.nextToken();

}

// 把分隔符視為token

StringTokenizer st = new StringTokenizer("Hello, World|of|Java", ", |", true);

//4.StringBuffer(同步)和StringBuilder(非同步)

StringBuilder sb = new StringBuilder();

sb.append("Hello");

sb.append("World");

sb.toString();

new StringBuffer(a).reverse();// 反轉字元串

//5.數字

// 數字與對象之間互相轉換 - Integer轉int

Integer.intValue();

// 浮點數的舍入

Math.round()

// 數字格式化

NumberFormat

// 整數 -> 二進位字元串

toBinaryString()或valueOf()

// 整數 -> 八進位字元串

toOctalString()

// 整數 -> 十六進位字元串

toHexString()

// 數字格式化為羅馬數字

RomanNumberFormat()

// 隨機數

Random r = new Random();

r.nextDouble();

r.nextInt();

//6.日期和時間

// 查看當前日期

Date today = new Date();

Calendar.getInstance().getTime();

// 格式化默認區域日期輸出

DateFormat df = DateFormat.getInstance();

df.format(today);

// 格式化制定區域日期輸出

DateFormat df_cn = DateFormat.getDateInstance(DateFormat.FULL, Locale.CHINA);

String now = df_cn.format(today);

// 按要求格式列印日期

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

sdf.format(today);

// 設置具體日期

GregorianCalendar d1 = new GregorianCalendar(2009, 05, 06); // 6月6日

GregorianCalendar d2 = new GregorianCalendar(); // 今天

Calendar d3 = Calendar.getInstance(); // 今天

d1.getTime(); // Calendar或GregorianCalendar轉成Date格式

d3.set(Calendar.YEAR, 1999);

d3.set(Calendar.MONTH, Calendar.APRIL);

d3.set(Calendar.DAY_OF_MONTH, 12);

// 字元串轉日期

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

Date now = sdf.parse(String);

// 日期加減

Date now = new Date();

long t = now.getTime();

t += 700*24*60*60*1000;

Date then = new Date(t);

Calendar now = Calendar.getInstance();

now.add(Calendar.YEAR, -2);

// 計算日期間隔(轉換成long來計算)

today.getTime() - old.getTime();

// 比較日期

Date類型,就使用equals(), before(), after()來計算

long類型,就使用==, 來計算

// 第幾日

使用Calendar的get()方法

Calendar c = Calendar.getInstance();

c.get(Calendar.YEAR);

// 記錄耗時

long start = System.currentTimeMillis();

long end = System.currentTimeMillis();

long elapsed = end - start;

System.nanoTime(); //毫秒

// 長整形轉換成秒

Double.toString(t/1000D);

//7.結構化數據

// 數組拷貝

System.arrayCopy(oldArray, 0, newArray, 0, oldArray.length);

// ArrayList

add(Object o) // 在末尾添加給定元素

add(int i, Object o) // 在指定位置插入給定元素

clear() // 從集合中刪除全部元素

Contains(Object o) // 如果Vector包含給定元素,返回真值

get(int i) // 返回指定位置的對象句柄

indexOf(Object o) // 如果找到給定對象,則返回其索引值;否則,返回-1

remove(Object o) // 根據引用刪除對象

remove(int i) // 根據位置刪除對象

toArray() // 返回包含集合對象的數組

// Iterator

List list = new ArrayList();

Iterator it = list.iterator();

while (it.hasNext())

Object o = it.next();

// 鏈表

LinkedList list = new LinkedList();

ListIterator it = list.listIterator();

while (it.hasNext())

Object o = it.next();

// HashMap

HashMap hm = new HashMap();

hm.get(key); // 通過key得到value

hm.put("No1", "Hexinyu");

hm.put("No2", "Sean");

// 方法1: 獲取全部鍵值

Iterator it = hm.values().iterator();

while (it.hasNext()) {

String myKey = it.next();

String myValue = hm.get(myKey);

}

// 方法2: 獲取全部鍵值

for (String key : hm.keySet()) {

String myKey = key;

String myValue = hm.get(myKey);

}

// Preferences - 與系統相關的用戶設置,類似名-值對

Preferences prefs = Preferences.userNodeForPackage(ArrayDemo.class);

String text = prefs.get("textFontName", "lucida-bright");

String display = prefs.get("displayFontName", "lucida-balckletter");

// 用戶設置了新值,存儲回去

prefs.put("textFontName", "new-bright");

prefs.put("displayFontName", "new-balckletter");

// Properties - 類似名-值對,key和value之間,可以用"=",":"或空格分隔,用"#"和"!"注釋

Properties prop = new Properties();

prop.load(in);

in.close();

prop.setProperty(key, value);

prop.getProperty(key);

// 排序

1. 數組:Arrays.sort(strings);

2. List:Collections.sort(list);

3. 自定義類:class SubComp implements Comparator

然後使用Arrays.sort(strings, new SubComp())

// 兩個介面

1. java.lang.Comparable: 提供對象的自然排序,內置於類中

int compareTo(Object o);

boolean equals(Object o2);

2. java.util.Comparator: 提供特定的比較方法

int compare(Object o1, Object o2)

// 避免重複排序,可以使用TreeMap

TreeMap sorted = new TreeMap(unsortedHashMap);

// 排除重複元素

Hashset hs - new HashSet();

// 搜索對象

binarySearch(): 快速查詢 - Arrays, Collections

contains(): 線型搜索 - ArrayList, HashSet, Hashtable, linkedList, Properties, Vector

containsKey(): 檢查集合對象是否包含給定 - HashMap, Hashtable, Properties, TreeMap

containsValue(): 主鍵(或給定值) - HashMap, Hashtable, Properties, TreeMap

indexOf(): 若找到給定對象,返回其位置 - ArrayList, linkedList, List, Stack, Vector

search(): 線型搜素 - Stack

// 集合轉數組

toArray();

// 集合總結

Collection: Set - HashSet, TreeSet

Collection: List - ArrayList, Vector, LinkedList

Map: HashMap, HashTable, TreeMap

//8.泛型與foreach

// 泛型

List myList = new ArrayList();

// foreach

for (String s : myList) {

}

//9.面向對象

// toString()格式化

public class ToStringWith {

int x, y;

public ToStringWith(int anX, int aY) {

x = anX;

y = aY;

}

public String toString() {

return "ToStringWith[" + x + "," + y + "]";

}

public static void main(String[] args) {

}

}

// 覆蓋equals方法

public boolean equals(Object o) {

if (o == this) // 優化

return true;

if (!(o instanceof EqualsDemo)) // 可投射到這個類

return false;

EqualsDemo other = (EqualsDemo)o; // 類型轉換

if (int1 != other.int1) // 按欄位比較

return false;

if (!obj1.equals(other.obj1))

return false;

return true;

}

// 覆蓋hashcode方法

private volatile int hashCode = 0; //延遲初始化

public int hashCode() {

if (hashCode == 0) {

int result = 17;

result = 37 * result + areaCode;

}

return hashCode;

}

// Clone方法

要克隆對象,必須先做兩步: 1. 覆蓋對象的clone()方法; 2. 實現空的Cloneable介面

public class Clone1 implements Cloneable {

public Object clone() {

return super.clone();

}

}

// Finalize方法

Object f = new Object() {

public void finalize() {

}

};

Runtime.getRuntime().addShutdownHook(new Thread() {

public void run() {

}

});

在調用System.exit(0);的時候,這兩個方法將被執行

// Singleton模式

// 實現1

public class MySingleton() {

public static final MySingleton INSTANCE = new MySingleton();

private MySingleton() {}

}

// 實現2

public class MySingleton() {

public static MySingleton instance = new MySingleton();

private MySingleton() {}

public static MySingleton getInstance() {

return instance;

}

}

// 自定義異常

Exception: 編譯時檢查

RuntimeException: 運行時檢查

public class MyException extends RuntimeException {

public MyException() {

super();

}

public MyException(String msg) {

super(msg);

}

}

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 java學習吧 的精彩文章:

學習java的幾大理由,是不是因此這樣來學習?
Java的 發展前景
java初學者常見的問題

TAG:java學習吧 |

您可能感興趣

性能提升看的見 東芝CANVIO ADVANCE V9使用體驗
從小白變RSA大神,附常用工具使用方法及CTF中RSA典型例題
音箱也玩可穿戴?JBL SOUNDGEAR使用體驗
JSON 使用
BAIR提出MC-GAN,使用GAN實現字體風格遷移
Valve 使用深度學習識別 CSGO 的作弊者
深度 | BAIR提出MC-GAN,使用GAN實現字體風格遷移
NASA將在WRX火箭任務上使用全新的水回收系統
NEJM:廣泛中和抗體組合使用有望治療HIV感染?
旗測評/微光信使—GLO-TOOBGT-AAA PRO信號燈使用感受
隨遇而安的DAPP開發實踐教程(二)使用HTML作為DAPP前端
NAS與SAN的差異與使用案例
JPEG拍的好好的,為啥非要使用RAW格式?
蘋果正在研發AR/VR一體頭顯,使用8K屏+60GHz WiGig
陳天奇團隊 TVM 重磅更新:自動編譯代碼,直接在瀏覽器使用 GPU
汽車行業AUTOSAR的使用現狀和利弊分析
垃圾郵件活動使用XTRAT、DUNIHI和Adwind後門
使用SPSS、R和JASP計算效應量的置信區間
使用評測#FIIL CARAT 皮褲之父的耳機到底怎麼樣
使用Firebug查看和編輯HTML和CSS