常用類
阿新 • • 發佈:2020-07-01
Java常用類
一.String類
- 字串時常量,建立後不可改變
- 字串字面值儲存在字串池中,可以共享
字串的建立方式
- 使用String str="hello",產生一個物件,字串池中儲存
- 使用String str=new String("hello"),產生兩個物件,堆和字串池中個儲存一個;
常用方法
- public int length():返回字串的長度;
- public char charAt(int index):根據下標獲取字元
- public boolean contains(String str):判斷當前字串是否包含str
- public char[] toCharArray():將字串轉換成字元陣列
- public int indexOf(String str):查詢str首次出現的下標,存在,則返回下標;不存在,則返回-1;
- public int lastIndexOf(String str):查詢str最後一次出現的下標索引 ,不存在返回-1;
- public String tirm():去掉字串前後的空格
- public String toUpperCase()/toLowCase():將小寫轉換成大寫/將大寫轉換為小寫
- public boolean endsWith(String str):判斷字串是否以str結尾
- public String replace(char oldChar,char newChar):將舊字串替換成新字串
- public String[] split(String str):根據str拆分字串
package oop; import java.util.Arrays; public class Test { public static void main(String[] args) { String str=" dengwenxiong "; //length() int num1=str.length(); System.out.println(num1); //charAt() char a=str.charAt(0); System.out.println(a); //containas() boolean f=str.contains("wen"); System.out.println(f); //toCharArray() char[] b=str.toCharArray(); System.out.println(Arrays.toString(b)); //indexOf() int index1=str.indexOf("wn"); System.out.println(index1); //lastIndexOf() int index2=str.lastIndexOf("wn"); System.out.println(index2); //trim() String str2=str.trim(); System.out.println(str2); //toUpperCase() String str3=str.toUpperCase(); System.out.println(str3); //endsWith() boolean g=str.endsWith(" "); System.out.println(g); //replace() String str4=str.replace('n','o'); System.out.println(str4); //split() String[] str5=str.split("on"); System.out.println(Arrays.toString(str5)); } }
可變字串
- StringBuffer:可變長字串,執行效率慢,執行緒安全
- StringBuilder:可變長字串,執行效率快,執行緒不安全
效率比String高,也比String節省記憶體
package oop;
import java.util.Arrays;
public class Test {
//StringBulider與StringBuffer使用方法一樣
public static void main(String[] args) {
StringBuffer sb=new StringBuffer();
//append()追加
sb.append("deng");
System.out.println(sb);
//insert()插入
sb.insert(0,"shit ");
System.out.println(sb);
//replace()替換
sb.replace(0,5,"haha");
System.out.println(sb);
//delete()刪除;含頭不含尾
sb.delete(0,2);
System.out.println(sb);
}
}
二.BigDecimal類
double是近似儲存
位於java.math包中,用於精確計算浮點數。
建立方式:
BigDecimal bd=new BigDecimal("1.0");
package oop;
import java.beans.beancontext.BeanContext;
import java.math.BigDecimal;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
BigDecimal d1=new BigDecimal("1.0");
BigDecimal d2=new BigDecimal("0.9");
//減法subtract()
System.out.println(d1.subtract(d2));
//加法add()
System.out.println(d1.add(d2));
//乘法multiply()
System.out.println(d1.multiply(d2));
//除法divide()可設定精確值
System.out.println(d1.divide(d2,2, BigDecimal.ROUND_CEILING));
}
}
三.Date類(基本被Calendar取代)
package oop;
import java.util.Date;
public class Test {
public static void main(String[] args) {
//建立Date物件
//今天
Date date1=new Date();
System.out.println(date1.toLocaleString());
//昨天
Date date2=new Date(date1.getTime()-24*60*60*1000);
System.out.println(date2.toLocaleString());
//方法after,before
boolean f1=date2.after(date1);
System.out.println(f1);
//comareTo()
int d=date1.compareTo(date2);
System.out.println(d);
}
}
四.Calendar類
package oop;
import java.util.Calendar;
public class Test {
public static void main(String[] args) {
//建立calendar物件
Calendar calendar=Calendar.getInstance();
System.out.println(calendar.getTime().toLocaleString());
System.out.println(calendar.getTimeInMillis());
//獲取時間資訊
int year=calendar.get(Calendar.YEAR);
//月是從0-11
int month=calendar.get(Calendar.MONTH);
int day=calendar.get(Calendar.DAY_OF_MONTH);
int hour=calendar.get(Calendar.HOUR_OF_DAY);
int minute=calendar.get(Calendar.MINUTE);
int second=calendar.get(Calendar.SECOND);
//修改時間
Calendar calendar2=Calendar.getInstance();
calendar2.set(Calendar.YEAR,2009);
System.out.println(calendar2.getTime().toLocaleString());
//獲得最大值
int max=calendar2.getActualMaximum(Calendar.MONDAY);
System.out.println(max);
五.SimpleDateFormat類
package oop;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
public static void main(String[] args) throws Exception {
//建立SimpleDateFormat物件
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date date=new Date();
//格式化date,把日期轉成字串
String str=sdf.format(date);
System.out.println(str);
//解析,把字串轉成日期
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy/MM/dd");
Date date2=sdf2.parse("1998/01/02");
System.out.println(date2);
}
}
System類
package oop;
public class Test {
public static void main(String[] args) {
//陣列複製
//src:源陣列
//srcPos:從那個位置開始複製
//dest:目標陣列
//dest:目標陣列的位置
//length:複製的長度
int[] arr={1,2,3,4,5,6};
int[] dest=new int[8];
System.arraycopy(arr,0,dest,1,3);
for(int a:dest){
System.out.println(a);
}
//獲取當前系統時間
System.out.println(System.currentTimeMillis());
//退出jvm
System.exit(0);
}
}