行內(nèi)注釋 //
多行注釋 /**/
文檔注釋 /** */ - javadoc 生成幫助文檔
關(guān)鍵字
整數(shù)
byte - 1byte
short - 2byte
int【默認(rèn)】 - 4byte
long - 8byte
(拓展:進(jìn)制轉(zhuǎn)換 二進(jìn)制 - 0b -、十六進(jìn)制 - 0x 、8進(jìn)制 - 0)
浮點(diǎn)數(shù)
float - 4byte
double【默認(rèn)】- 8byte
(拓展 - 金融計(jì)算不能使用 float和double ,要使用 BigDecimal)
字符
\b
\n
\r
\t
\\
\"
\'
char - 2byte
(拓展 ASCII編碼-1字節(jié)、UTF-8編碼-3字節(jié)、Unicode-2字節(jié))
(拓展:\u0000
轉(zhuǎn)義字符)
布爾值
boolen- 1位(0或1)
(拓展 if(a) )
類
接口
數(shù)組
自動(dòng)類型轉(zhuǎn)換
低轉(zhuǎn)高(子類轉(zhuǎn)父類)
強(qiáng)制類型轉(zhuǎn)換
高轉(zhuǎn)低(父類轉(zhuǎn)子類) - 格式:(低)高 - (int)long
高低的概念在數(shù)字里面就是字節(jié)數(shù),在類里面就是 子類 - 父類
類變量 - static 修飾變量(靜態(tài)變量)
實(shí)例變量 - static去掉 (在類內(nèi)方法外)-全局變量
局部變量(成員變量)- 方法內(nèi)
final MAX_A = 10;常量必須全部大寫,單詞隔開用下劃線
見名知意
駝峰命名 - 用在變量和方法上
類命名 - 是首字母大寫+駝峰命名
常量 - 大寫+下劃線
不要使用拼音和中文
javadoc
生成文檔@author 作者
@Version 版本
@Since 最早支持哪個(gè)java版本
@param 參數(shù)
@return 返回值
@throws 拋出的異常
if 單選擇結(jié)構(gòu)
if - else 雙選擇結(jié)構(gòu)
if - else if - else 多選擇結(jié)構(gòu)
switch
(JDK7 支持了String類型)
case穿透現(xiàn)象
break
default
while:盡量避免死循環(huán)
do... while
for - 可計(jì)次數(shù)一般用for循環(huán) ,不可計(jì)次數(shù)一般用while 循環(huán)
for(int i=0;i<100;i++)
經(jīng)典案例 - 99 乘法表
增強(qiáng)for循環(huán)
break & continue
(帶標(biāo)簽的continue 廢棄的)
break 跳出循環(huán)
continue 終止當(dāng)此循環(huán),繼續(xù)下次循環(huán)
return 結(jié)束方法的運(yùn)行;
修飾符 返回值 方法名(參數(shù)名){ return 返回值;}
類名.方法
對(duì)象.方法
名字相同,方法形參列表不同;
main 方法是自帶了參數(shù)的,可以通過命令行的方式傳遞參數(shù)進(jìn)運(yùn)行程序;
new int[5]
{1,2,3,4,5}
數(shù)組必須是同一個(gè)類型
通過下標(biāo)拿到值
ArrayIndexoutofBounds - 數(shù)組下標(biāo)越界異常
通過增強(qiáng)for循環(huán)遍歷
int[ ] [ ]
冒泡排序
選擇排序
插入排序
快速排序
歸并排序
希爾排序
堆排序
桶排序(基數(shù)排序)
如果手動(dòng)定義了有參構(gòu)造,就必須要手動(dòng)加一個(gè)無參構(gòu)造;
單例模式,需要構(gòu)造器私有;
extends 繼承關(guān)鍵字
Object 是所有類的老祖宗
子類擁有父類的特性
方法重寫
this
super
Java 是單繼承,只能繼承一個(gè)父類,但是可以實(shí)現(xiàn)多個(gè)接口;
父類的引用指向子類的對(duì)象 Person person = new Student();
instanceof 關(guān)鍵字,如果匹配,可以進(jìn)行類型之間的轉(zhuǎn)換;
約束,只能定義方法名;
子類實(shí)現(xiàn)接口必須重寫其中的方法;
抽象類里可以有具體的實(shí)現(xiàn),接口不能有方法的具體實(shí)現(xiàn),實(shí)現(xiàn)交給實(shí)現(xiàn)類進(jìn)行;
運(yùn)行時(shí)異常(一般處理運(yùn)行時(shí)異常)
1/0
ClassNotFound
NullPoint
UnKnwoType
下標(biāo)越界異常
編譯時(shí)異常(檢查型異常)
AWT錯(cuò)誤
JVM錯(cuò)誤
StackOverFlow 棧溢出
OutOfMeory 內(nèi)存溢出
bufferInputStream
bufferOutputStream
bufferReader
bufferWriter
DataInputStream
DataOutputStream
InputStreamReader
OutputStreamWriter
PrintWriter
PrintSteam
ObjectInputStream
ObjectOutputStream
ObjectReader
ObjectWriter
Serializable
transient(透明的)- 某一個(gè)屬性時(shí)透明的,使用關(guān)鍵字就不會(huì)被序列化;
List(有序,可以重復(fù))
getFirst()
getLast()
pop()
push()
removeFirst()
addFirst
...
add
remove
contains
size
ArrayList - 全部常用
LinkedList(鏈表) - 常用
Vector
Stack
Set(無序,不可重復(fù))
HashSet - 一般常用
TreeSet
iterator 迭代器 遍歷
JDK 1.7以前:數(shù)組+鏈表 ; JDK1.8之后:數(shù)組+鏈表+紅黑樹
TreeMao
UUID類
yyyy-MM-dd HH:mm:ss
不可變性 final
可變長 - append()【append 可以鏈?zhǔn)骄幊獭?/p>
可變長 - append()
String str = "a"+1+2 a12
String str = 'a' + 1+2 具體的數(shù)值
String str = 1+2+ “a” 3a
newInstance();
對(duì)象獲取
類獲取
通過反射獲得方法對(duì)象,再通過invoke執(zhí)行方法并傳遞方法參數(shù), .invoke(參數(shù)類型 參數(shù),參數(shù)類型 參數(shù)) - 因?yàn)榉椒ù嬖谥剌d,也需要寫參數(shù)的類型
通過反射get 獲得 字段
.set(參數(shù)類型 參數(shù)) - 因?yàn)榉椒ù嬖谥剌d,也需要寫參數(shù)的類型
newInstance(參數(shù)類型 參數(shù)); - 獲取的時(shí)候需要傳遞參數(shù)的class類型
setAccessible(true);
就可以set 數(shù)據(jù)
正常new >檢測(cè)關(guān)閉的反射>默認(rèn)的反射
監(jiān)聽事件
鼠標(biāo)監(jiān)聽事件
鍵盤監(jiān)聽事件
窗口監(jiān)聽事件
文本框監(jiān)聽事件
動(dòng)作監(jiān)聽事件
聯(lián)系客服