1 標識符和註釋##
好欣慰我基本都記得。。這裏記一下命名規範。
1.包名
多個單詞組成時所有字母小寫(例:package com.itcast)
2.類名和接口
多個單詞組成時所有單詞的首字母大寫(例:HelloWorld)
3.變量名和函數名
多個單詞組成時第一個單詞首字母小寫,其他單詞首字母大寫(例:lastAccessTime、getTime)。
4.常量名
多個單詞組成時,字母全部大寫,多個單詞之間使用_分隔(例:INTEGER_CACHE)
註釋分類:
1.單行註釋(line comment)用//表示,編譯器看到//會忽略該行//後的所文本
2.多行註釋(block comment)用//表示,編譯器看到/時會搜索接下來的/,忽略掉//之間的文本。
3.文檔註釋用/* /表示,是java特有的註釋,其中註釋內容可以被JDK提供的工具 javadoc 所解析,生成一套以網頁文件形式體現的該程序的說明文檔。
注意:多行註釋中可以嵌套單行註釋,多行註釋不能嵌套多行註釋。錯誤!!!
文檔註釋 (編寫軟件說明書)
1.需要使用sum給我們提供的javadoc工具生成一個html的說明文檔。
2.只能抽取public的屬性或者方法內容。(類必須public)
格式:
Javadoc –d 指定存儲文檔的路徑 -version –author(可選) 目標文件
常量和變量
Java中常量的分類:
整數常量 : 所有整數
小數常量 : 所有小數
布爾常量 : 只有true和false
字符常量 :使用’’引起來的單個字符
字符串常量 :使用“”引起來的字符序列,
注意:Integer.tobinaryString()方法可以將int數據轉換爲01字符串
null常量 : 只有一個值null
- 整型 這個一定要記得。。。太丟人了總是不記得
byte 代表一個字節的大小 8bit 2(8) -128~127 256
short 代表兩個字節的大小 16bit 2(16) -2(15)~2(15)-1
int 代表四個字節的大小 32bit 2(32) -2(31)~2(31)-1
long 代表八個字節的大小 64bit 2(64) -2(63)~2(63)-1
如果一個數值沒有采取特殊的處理,那麼該整數默認的類型是int。
可以使用數值後面添加L或小寫L改變默認的整數類型。 - 浮點型
float 代表四個字節的大小 32bit
double 代表八個字節的大小 64bit
java程序中所有的小數默認的類型是double類型,所以需要使用特殊的符號改變默認的小數類型。 - 字符型
char 代表兩個字節的大小 16bit 2(16)
原理:將字符映射爲碼錶中對應的十進制數據加以存儲。 - 布爾型
boolean 佔一個字節。只有true與false兩個值。
注意兩個問題:
以前總是不知道爲啥要加f不加d。。。
一個整數默認就是int,如果要
long w =3432423432432, 則後面要加一個L 不然報錯
long w = 3432543543543543**L**
小數默認是double ,如果要用float,則後面要加f
float f =3.14**f**
第二:
byte b=126;
問:既然數據默認的有數據類型,那麼126 默認是int類型的,爲什麼存儲到byte類型時不會報錯呢。
126 是常量java在編譯時期會檢查該常量(每個常量)是否超出byte類型的範圍。如果沒有可以賦值。
byte b=128;能否正常的編譯和運行。
該語句會出現編譯錯誤,128超出了byte變量的存儲範圍,所以出現編譯錯誤。
b =b1+b2 不可以,因爲b1 和b2 是變量,表達式求值時,變量值會自動提升爲int型,表達式結果也就成了int型,這是要賦值給byte型的b,必須進行強制類型轉換了。
總結:
所有數值運算符都可以用在char型數據上,如果另一個操作數是一個數字或者字符,那麼char會自動提升爲int型,如果另一個操作數是字符串,那麼字符就會和字符串相連。
運算符
1、算術運算符
: 正數、 相加、 字符串連接 三個功能
注意: 做字符串連接功能時,每次選取+左右兩邊的元素進行連接,一次次連接
eg: 1+2+3+”hello”+3+3
結果 = 3+3+”hello”+3+3
= 6+”hello”+3+3
= “6hello”+3+3
= “6hello3”+3
= “6hello33”% 取餘符號 : 結果的正負取決於被除數的正負
++自增符號: 有一個不清楚的點 :
2、 比較運算符:
= <= == != > < Instanceof
注意的細節:
使用比較運算符的時候,要求兩種數據類型必須一致。
byte、short、c har 會自動提升至int。
attention:
==用於兩個基本數據類型 是比較所存儲的值是否相同
用於兩個引用數據類型 是比較所記錄的內存地址是否一致
3、 邏輯運算符
& 與
| 或
! 非
^ 異或
&& 短路與
|| 短路或
之前總是不瞭解&&與&的區別 總覺得&是位運算才用的。其實不然:
單與時,左邊無論真假,右邊都進行運算;雙與時,如果左邊爲真,右邊參與運算,如果左邊爲假,那麼右邊不參與運算。
4、 位運算符
& 與
| 或
~ 取反
^ 異或 一個數異或同一個數兩次,結果還是那個數. 用處一個簡單的加密思想.
經典面試題:
5、 移位運算符
<< 左移
>> 右移
>>> 無符號右移
>> 是除以2的移動位數次冪
<< 是乘以2的移動位數次冪
面試題: