java几个常用类
引用類型String和StringBuffer
String類型的賦值理解
Int a=3;
a = 5;
這段代碼的含義是:首先申請內存單元,命名為a 同時將3這個值存儲內存單元中,然后又將5這只存入內存單元中,這個內存單元的之前的只在被賦值后就被修改了。
?
String str =new String(“abc”)
Str = “123”;
對于引用而言 賦值并不是改變與原來的引用對象的值 而只是調整了引用的關系 所以在使用“==”符號進行比較時 需要特別的注意
??? publicstatic void main(String[] args) {
??????? String str=newString("abc");
??????? String str1=newString("abc");
??????? System.out.println(str ==str1);//比較地址
??????? System.out.println(str.equals(str1));//比較值
}
}
因為str和str1 引用的事不同的對象,所以str==str1
因為str和str1 引用的字符串內容是相同的所以 str.equals(str1)為真。
?
String類常用的方法:eaquals,length,charAt(取字符串里面的一個字符),format(把字符串格式化)substring(切割字符串)indexof(找指定字符)lastindexof(返回最后一次出現在指定字符在此字符串的索引)replace(新的字符代替老的字符所有)
截取,trim(去除頭部尾部空白)
StringBuffer:append(在字符串后面添加字符),insert(指定字符串一個位置,然后插入字符串),deleteCharAt(刪除一個字符),delete(從字符串里面刪除一節字符串),replace(把字符串的其中一節替換為傳入新的字符串),setCharAt(找字符串里面的一個下標然后改變這個下標代表的值),reverse(字符串反向排列)
1.2數組對象
Arrays提供了數組的常見操作,比如查找,排序等,且他的方法都是靜態的,所以實際上他是一個工具類提供方法,方便編程。
Fill(把數組內所有數改為你想改的數)sort(數組排序 從小到大)
MATH類
靜態的常量e π
Abs絕對值,sprt平方根,Max最大,pow返回第一個參數的第二個參數次冪的值,min最小,floor向下取整,round(四舍五入,random(隨機生成)
1.3日期類
?? public static void main(String[]args) {
?????? Calendar calendar =Calendar.getInstance();//獲取當前時間的所有信息
?????? /*?System.out.println(calendar);
???????System.out.println(calendar.get(Calendar.YEAR));
???????System.out.println(calendar.get(Calendar.MARCH));
???????System.out.println(calendar.get(Calendar.DATE));
???????System.out.println(calendar.get(Calendar.HOUR));
???????System.out.println(calendar.get(Calendar.MINUTE));
???????System.out.println(calendar.get(Calendar.SECOND));*/
?????? calendar.setLenient(false);//關閉默認模式如果設置方法會報錯
??????? System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
??????? System.out.println(calendar.get(Calendar.WEEK_OF_MONTH));
??????? System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));
??????? System.out.println(calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
??? }
}
日期格式化輸出
??? public staticvoid main(String[] args) {
??????? SimpleDateFormat simpleDateFormat= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//格式化排列時間
??????? Datedate = new Date();
??????? System.out.println(date);
??????? System.out.println(simpleDateFormat.format(date));
??? }
}
1.4包裝類
為什么要用包裝類,因為基礎類型和其他類型處理是有不同的
基礎類型的賦值,是直接修改變量里面的值,準確的說,是修改了內存單元里面的內容。
其他類型的賦值,是改變了引用的指向。
很多地方統一(尤其是范形),系統就提供了我們基本類型所對應的包裝類。
int-Integer
char-Character
其他六個類型首字母大寫就是包裝類
集合框架
2.1vector
Vector(向量):動態數組
為什么需要動態數組很多時候 我們無法事先去確定數組的元素個數 如果使用了靜態數組,小了不夠用 大了會造成內存空間的浪費 這個時候我們就需要動態的數組,可以按照一定增量來增加容量。
Vecton 的初始默認容量和增量都是10,可以通過他的構造方法來設置容量和增量,所謂的增量,就是在容量不夠時,增加的量。
Size、capacity、add
Remove<Int index>刪除指定位置的元素
Remove<Int object o>刪除指定元素 (第一個)
Contains 輸入一個數查找是否有 有了返回true 沒有false
indexOf通過元素找下標 get通過下標找元素 trimToSize將容量調至最小?
幾個常用方法
、
2.2棧stack
棧的特點:先進先出,后進后出
Push 增加
Peek??棧頂
Search 查找
Pop 刪除棧頂
???Stack<Integer> stack = new Stack<>();
??????????? stack.push(1);//增加
??????????? stack.push(2);
??????????? stack.push(3);
??????????? stack.push(4);
??????????? stack.push(5);
??????????? stack.push(6);
??? System.out.println(stack.peek());
?? /*stack.pop();
??? System.out.println(stack.peek());*/
??? System.out.println(stack.search(6));
}
2.3List
List : 是一個接口 繼承自collection接口,常用的實現類:ArrayList、LinkList
?
public static void main(String[] args) {
??? List<Integer> list = new ArrayList<>();
??? list.add(1);
??? list.add(2);
??? list.add(3);
??? list.add(4);
??? list.add(5);//添加
??? list.add(8);
??? System.out.println(list.size());//返回列表中的元素數
??? System.out.println(list.contains(5));//如果有輸入的元素則輸出true
??? System.out.println(list.get(4));//返回列表指定位置的元素
??? System.out.println(list.isEmpty());//如果列表不包含元素則返回false
}
2.4Set
Set也是一個接口,它表示一個無重復元素的集合,無序,唯一(它是通過判斷hashcode來判斷是否重復,如果得不到我們想要的結果,那就重寫equals 方法)
Set 的實現類:hashSet
總結
- 上一篇: PX4/APM/飞控的学习笔记前言-Cx
- 下一篇: 2023新疆师范大学计算机考研信息汇总