003天
行百里者半九十,想要在一個(gè)行業(yè)里成為頂尖人才,一定滿足一萬小時(shí)定律,要想學(xué)好JAVA,需要持之以恒不斷地努力!
注釋(單行注釋,多行注釋,文檔注釋)
什么是注釋?請(qǐng)寫出單行注釋,多行注釋,以及文檔注釋
注釋就是讓程序員看的文字,便于理解程序的內(nèi)容。單行注釋:? 使用“//”開頭,“//”后面的單行內(nèi)容均為注釋。多行注釋:?? 以“/*”開頭以“*/”結(jié)尾,在“/*”和“*/”之間的內(nèi)容為注釋,我們也可以使用多行注釋作為行內(nèi)注釋。但是在使用時(shí)要注意,多行注釋不能嵌套使用。文檔注釋:?? 以“/**”開頭以“*/”結(jié)尾,注釋中包含一些說明性的文字及一些JavaDoc標(biāo)簽(后期寫項(xiàng)目時(shí),可以生成項(xiàng)目的API).
2.標(biāo)識(shí)符規(guī)則_駝峰規(guī)則
標(biāo)識(shí)符的作用是什么,標(biāo)識(shí)符的聲明需要遵循哪些規(guī)則,哪些規(guī)范,標(biāo)識(shí)符可以使用漢字么?
標(biāo)識(shí)符是用來給變量、類、方法以及包進(jìn)行命名的,如Welcome、main、System、age、name、gender等。標(biāo)識(shí)符需要遵守一定的規(guī)則:標(biāo)識(shí)符必須以字母、下劃線_、美元符號(hào)$開頭。 ?標(biāo)識(shí)符其它部分可以是字母、下劃線“_”、美元符“$”和數(shù)字的任意組合。Java 標(biāo)識(shí)符大小寫敏感,且長(zhǎng)度無限制。標(biāo)識(shí)符不可以是Java的關(guān)鍵字。
漢字可以作為標(biāo)識(shí)符。
什么是駝峰規(guī)則?username、userName、user_name、USERNAME、USER_NAME哪些是按照駝峰規(guī)則定義的標(biāo)識(shí)符?
表示方法和變量的標(biāo)識(shí)符:第一個(gè)單詞小寫,從第二個(gè)單詞開始首字母大寫。userName是按照駝峰規(guī)則來定義的標(biāo)識(shí)符。
表示方法和變量的標(biāo)識(shí)符:第一個(gè)單詞小寫,從第二個(gè)單詞開始首字母大寫。userName是按照駝峰規(guī)則來定義的標(biāo)識(shí)符。
Java的關(guān)鍵字保留字
變量的本質(zhì)_聲明格式和初始化問題
變量的本質(zhì)是什么?
? 變量本質(zhì)上就是代表一個(gè)”可操作的存儲(chǔ)空間”,空間位置是確定的,但是里面放置什么值不確定。我們可通過變量名來訪問“對(duì)應(yīng)的存儲(chǔ)空間”,從而操縱這個(gè)“存儲(chǔ)空間”存儲(chǔ)的值,就像是房間號(hào)和入住的客人一樣,房間號(hào)是變量名,而客人就是變量的值。
變量的要素是哪三點(diǎn)?
其要素包括變量名,變量類型和作用域,必須先聲明,再賦值,最后再使用。
變量分類(局部變量,成員變量,靜態(tài)變量)
什么是局部變量?什么是成員變量?什么是靜態(tài)變量?它們的生命周期(從什么時(shí)候開始,什么時(shí)候結(jié)束)分別是?
常量和final
什么是常量,什么是字面常量?什么是符號(hào)常量?
常量通常指的是一個(gè)固定的值,例如:1、2、3、’a’、’b’、true、false、”helloWorld”等。在Java語言中,主要是利用關(guān)鍵字final來定義一個(gè)常量。 常量一旦被初始化后不能再更改其值。為了更好的區(qū)分和表述,一般將1、2、3、’a’、’b’、true、false、”helloWorld”等稱為字面常量,而使用final修飾的PI等稱為符號(hào)常量。
變量和常量的命名規(guī)則有哪些?
所有變量、方法、類名:見名知意
類成員變量:首字母小寫和駝峰原則: ?monthSalary
局部變量:首字母小寫和駝峰原則
常量:大寫字母和下劃線:MAX_VALUE
類名:首字母大寫和駝峰原則: ?Man, GoodMan
方法名:首字母小寫和駝峰原則: run(), runRun()
基本數(shù)據(jù)類型介紹
數(shù)據(jù)類型分為哪兩大類?
分為常量和變量
基本數(shù)據(jù)類型中有幾大類?又細(xì)分為哪幾種(需要牢記)?分別占據(jù)的空間是多少?
整型變量和整型常量
整型分為哪幾種?整型常數(shù)默認(rèn)為什么類型?每種整型占多少空間?表示的范圍是多少?
分為long,int,byte,short,默認(rèn)為int,其中byte占用一個(gè)字節(jié),short占用兩個(gè)字節(jié),int占用4個(gè)字節(jié),long占用8個(gè)字節(jié)。
整型常量的表示形式有哪幾種?分別是什么樣的格式?(可以貼代碼截圖,記得代碼要有注釋)
十進(jìn)制整數(shù),如:99, -500, 0
八進(jìn)制整數(shù),要求以 0 開頭,如:015
十六進(jìn)制數(shù),要求 0x 或 0X 開頭,如:0x15
二進(jìn)制數(shù),要求0b或0B開頭,如:0b01110011
浮點(diǎn)型變量和BigDecimal的使用
浮點(diǎn)型的表示形式有幾種?分別是什么樣的格式?
包括float和double兩種,
十進(jìn)制數(shù)形式,例如:3.14 ? ? ? 314.0 ? ? ?0.314?
科學(xué)記數(shù)法形式,如314e2 ? ? ?314E2 ? ? ?314E-2?
浮點(diǎn)型有幾種?分別精確到幾位有效數(shù)字?浮點(diǎn)型適合金融領(lǐng)域么?金融領(lǐng)域用什么比較好?為什么
?float類型又被稱作單精度類型,尾數(shù)可以精確到7位有效數(shù)字,在很多情況下,float類型的精度很難滿足需求。而double表示這種類型的數(shù)值精度約是float類型的兩倍 ,浮點(diǎn)類型float,double的數(shù)據(jù)不適合在不容許舍入誤差的金融計(jì)算領(lǐng)域。如果需要進(jìn)行不產(chǎn)生舍入誤差的精確數(shù)字計(jì)算,需要使用BigDecimal類。
字符串類型_轉(zhuǎn)義字符
‘a(chǎn)’和”a”分別是什么數(shù)據(jù)類型?
字符型在內(nèi)存中占2個(gè)字節(jié),在Java中使用單引號(hào)來表示字符常量。例如’A’是一個(gè)字符,它與”A”是不同的,”A”表示含有一個(gè)字符的字符串。
char類型占幾個(gè)字節(jié)?一個(gè)漢字占幾個(gè)字節(jié)?一個(gè)char變量能存儲(chǔ)一個(gè)漢字么?
兩個(gè)字節(jié),一個(gè)漢占兩個(gè)字節(jié),一個(gè)char變量可以儲(chǔ)存一個(gè)漢字。
什么是轉(zhuǎn)義字符?分別有什么作用?
布爾型_if語句的使用要點(diǎn)?
布爾型的值有哪些,占用多少存儲(chǔ)空間?
?boolean類型有兩個(gè)常量值,true和false,在內(nèi)存中占一位(不是一個(gè)字節(jié)),不可以使用 0 或非 0 的整數(shù)替代 true 和 false ,這點(diǎn)和C語言不同。 boolean 類型用來判斷邏輯條件,一般用于程序流程控制 。
布爾值一般配合什么關(guān)鍵字一起使用?
一般搭配if使用。
運(yùn)算符介紹
運(yùn)算符有哪些?
算數(shù)運(yùn)算符分為哪些?整型做運(yùn)算,浮點(diǎn)數(shù)做運(yùn)算,有什么需要注意的?
算術(shù)運(yùn)算符中+,-,*,/,%屬于二元運(yùn)算符,二元運(yùn)算符指的是需要兩個(gè)操作數(shù)才能完成運(yùn)算的運(yùn)算符。其中的%是取模運(yùn)算符,就是我們常說的求余數(shù)操作。
二元運(yùn)算符的運(yùn)算規(guī)則:
整數(shù)運(yùn)算:
1. 如果兩個(gè)操作數(shù)有一個(gè)為L(zhǎng)ong, 則結(jié)果也為long。
2. 沒有l(wèi)ong時(shí),結(jié)果為int。即使操作數(shù)全為short,byte,結(jié)果也是int。
浮點(diǎn)運(yùn)算:
3. 如果兩個(gè)操作數(shù)有一個(gè)為double,則結(jié)果為double。
4. 只有兩個(gè)操作數(shù)都是float,則結(jié)果才為float。
取余操作,余數(shù)與誰的符號(hào)一致?
“余數(shù)”符號(hào)和左邊操作數(shù)相同
++ -- 操作在數(shù)字前后有什么區(qū)別?舉例說明
什么是短路與,短路或?
短路與和短路或采用短路的方式。從左到右計(jì)算,如果只通過運(yùn)算符左邊的操作數(shù)就能夠確定該邏輯表達(dá)式的值,則不會(huì)繼續(xù)計(jì)算運(yùn)算符右邊的操作數(shù),提高效率。
怎么樣計(jì)算3*16最快? 為什么
左移運(yùn)算符4位。
擴(kuò)展思考:什么是強(qiáng)類型語言,什么是弱類型語言。各有什么優(yōu)缺點(diǎn)
強(qiáng)類型和弱類型主要是站在變量類型處理的角度進(jìn)行分類的。
強(qiáng)類型是指不允許隱式變量類型轉(zhuǎn)換,弱類型則允許隱式類型轉(zhuǎn)換。
所以,關(guān)鍵在于變量數(shù)據(jù)類型的轉(zhuǎn)換。
什么叫隱式類型轉(zhuǎn)換?
隱式是指源碼中沒有明顯的類型轉(zhuǎn)換代碼,也就是說,一個(gè)變量,你可以直接給他賦值字符串,也可以直接給他賦值數(shù)值,你還可以直接讓字符串類型的變量和數(shù)值類型的變量相加,雖然得出的最終結(jié)果未必是你想象的那樣,但一定不會(huì)報(bào)錯(cuò)。
這就是隱式類型轉(zhuǎn)換,弱類型語言,如javascript、php。
Java是強(qiáng)類型語言,不允許隱式類型轉(zhuǎn)換,也就是說,如果你需要拿一個(gè)字符串變量當(dāng)做整型來用,你必須顯式地將變量類型轉(zhuǎn)換好。
換句話說:
強(qiáng)類型語言,當(dāng)你定義一個(gè)變量是某個(gè)類型,如果不經(jīng)過代碼顯式轉(zhuǎn)換(強(qiáng)制轉(zhuǎn)化)過,它就永遠(yuǎn)都是這個(gè)類型,如果把它當(dāng)做其他類型來用,就會(huì)報(bào)錯(cuò)
弱類型語言,你想把這個(gè)變量當(dāng)做什么類型來用,就當(dāng)做什么類型來用,語言的解析器會(huì)自動(dòng)(隱式)轉(zhuǎn)換。
比較
弱類型顯然讓開發(fā)者更省力一些,一些數(shù)據(jù)類型不是很復(fù)雜的場(chǎng)景中基本可以不用關(guān)注數(shù)據(jù)類型的問題,這可以提高開發(fā)者的業(yè)務(wù)處理專注力,提升邏輯開發(fā)效率。
但同樣,弱類型也因?yàn)樗奶匦裕归_發(fā)者在開發(fā)過程中對(duì)變量類型的檢測(cè)力度不夠大,由此提高數(shù)據(jù)類型方面問題出現(xiàn)的可能性。
另外,弱類型語言的運(yùn)行效率,內(nèi)存利用率顯然也比不上強(qiáng)類型語言。因?yàn)槿躅愋驼Z言在運(yùn)行過程中,存在變量類型的隱式轉(zhuǎn)換,多了一些需要執(zhí)行的操作,并且,分配內(nèi)存時(shí),會(huì)考慮通用而多分配一些,而強(qiáng)類型則專門為各種類型的變量量身定做地分配內(nèi)存,內(nèi)存利用率顯然比弱類型會(huì)高。
選擇
對(duì)于開發(fā)者來說,一般很少會(huì)去想,選擇什么語言開發(fā),而是去想我學(xué)了這門語言,如何找到這門語言的工作。
但其實(shí),語言的選擇,是存在的。
比如,你負(fù)責(zé)一個(gè)項(xiàng)目,在做選型的時(shí)候,弱類型與強(qiáng)類型的一些優(yōu)缺點(diǎn),就是一個(gè)需要考慮的因素。