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