Java基礎(chǔ)(變量度迂、運算符、格式腊凶、包拴念、集成)

1风瘦、Java的整型常量默認為int型,并且在聲明long類型常量后要加上“L\l”蟹略。

2挖炬、Java的浮點類型意敛,也是有固定的表示范圍和字段長度膛虫。浮點類型默認為double類型草姻,聲明float常量必須要在數(shù)字后面加上f稍刀,否則出錯敞曹。
浮點數(shù)在計算機上表達是有誤差的,在計算機上是離散的澳迫,而在現(xiàn)實上是連續(xù)的。一般比較的話剧劝,都是不直接比較,通過減去浮點數(shù)來判斷讥此。

3、基礎(chǔ)數(shù)據(jù)類型的轉(zhuǎn)換
(1)boolean類型是不能被轉(zhuǎn)換和轉(zhuǎn)換的萄喳。
(2)字符型和整型他巨、浮點型在混合運算中可以相互轉(zhuǎn)化觉痛。容量小的類型轉(zhuǎn)換為容量大的類型。byte、short、char->int->long->float->double;byte、char冰啃、short不會互相轉(zhuǎn)換点弯。
多種類型進行運算時,系統(tǒng)自動將他們變?yōu)槿萘孔? 大的類型來運算。
容量大的轉(zhuǎn)換為容量小的要加強制轉(zhuǎn)化。但是一般會有精度的損失慈缔。

4赂韵、程序的格式(important)
要讓別人看得舒服质涛,看得清楚横媚。
(1)大括號對齊
(2)遇見大括號要縮進(用tab縮進)
(3)程序塊之間要加空行
(4)并排語句間要加空格(比如for語句)
(5)運算符兩側(cè)加空格
(6){}這些空號最好有空格
(7)要成對編程

5恢口、運算符
(1)++:先把i1做賦值運算后再把i1進行自加。()運算沒有影響。
k=i++等價于k=(i++)

圖片.png

(2)“+”運算只要有一個有string類型的話。系統(tǒng)會另外把操作數(shù)變?yōu)樽址愋偷摹L貏e地,當(dāng)運行打印的時候酬核,無論什么類型都自動轉(zhuǎn)為字符串進行打印蔬螟。例如

int c=8;
system.out,println(c);```

5鲁猩、if男应、for語句

6、對象
對象可以看成是靜態(tài)屬性(成員變量)和動態(tài)屬性(方法)的封裝體谓娃。
類是用來創(chuàng)建同一類型的對象的模板捡遍。在該類中定義了該類對象所應(yīng)具有的成員變量以及方法。
(reusable、extensibility)
成員變量默認初始有值的,局部變量是沒有初始化的。
所以使用變量前最好要初始化瘩缆。
成員變量在類體定義有效。(記住所有的變量在定義的大括號里面有效)
Java除了基本類型之外的類型都是引用類型一铅。

7暴凑、關(guān)于程序的執(zhí)行
(1)程序存儲在硬盤里-->經(jīng)過Load到內(nèi)存區(qū)
(2)在內(nèi)存中的代碼-->找到main方法開始執(zhí)行(可能會調(diào)用系統(tǒng)代碼)
(3)在執(zhí)行過程中有一些內(nèi)存管理
比如把new出來的東西存放在heap區(qū)
把局部變量存放在stack區(qū)
把靜態(tài)變量涵卵、字符串常量存放在data segment
把代碼存放在code segment

8昆婿、關(guān)于引用類型變量的內(nèi)存
引用類型一般占用兩個內(nèi)存空間
(1)當(dāng)定義一個引用類型變量時法精,比如String s;此時申請了一小塊內(nèi)存,且值為null;
(2)當(dāng)s= new String(“hello world”)時此時那個值為null的內(nèi)存被賦值冠骄,且通過該值指向找到s對象的內(nèi)存空間蝙砌。且指向的內(nèi)存空間是堆內(nèi)存(heap seg)肚邢。即對象都是存放在stack里辜王,當(dāng)系統(tǒng)覺得該對象不會再被使用了坟岔,系統(tǒng)就會對該對象進行回收闺阱。
java的引用概念就相當(dāng)于c的指針。
(3)方法是只有調(diào)用的時候才會占用內(nèi)存。
(4)同一類的*每個對象有不同的成員變量存儲空間*瘦穆。
(5)同一類的*每個對象共享該類的方法*。非靜態(tài)方法是針對每個對象進行調(diào)用的扛或。就是說要通過對象的.操作才能被使用绵咱。

9熙兔、構(gòu)造函數(shù)
系統(tǒng)默認有構(gòu)造函數(shù)悲伶,但是只要已經(jīng)定義了系統(tǒng)就不會自動添加了住涉、
構(gòu)造方法沒有返回值且與類名完全一樣麸锉。
例如:
```java
Public Person {
  private int id;
  private int age;
  Person(int _id, int _age) {
    id=_id;
    age=_age;
   }
}

10舆声、關(guān)于Java約定俗成的規(guī)則
(1)類名的首字母要大寫
(2)變量名和方法名首字母要小寫
(3)運用駝峰表示花沉,后面的每個單詞都應(yīng)該大寫

11媳握、重載函數(shù)
名字一樣碱屁,參數(shù)不一樣(含類型不一樣蛾找,參數(shù)個數(shù)不一樣)的方法們就叫重載娩脾。

12打毛、this關(guān)鍵字
(1)在類的方法定義中使用this關(guān)鍵字代表使用該對象的引用柿赊。
this指向?qū)ο笞约骸?br> (2)必須指出使用當(dāng)前使用方法的對象是誰必須使用this隘冲。
(3)解決類方法的參數(shù)與成員變量重名的問題闹瞧。

13展辞、static關(guān)鍵字
(1)非static成員變量是每個類都有一份的,但是static成員變量是該類的各個對象共享一份的罗珍。
(2)static變量存放在data seg(數(shù)據(jù)區(qū))。
注:字符串常量也是引用對象覆旱,并且存儲在data seg(數(shù)據(jù)區(qū)里面)。
(3)任何一個對象都可以訪問靜態(tài)成員變量核无。也可以通過類名加.運算訪問。
只要通過類名加.運算訪問的變量的變量都是靜態(tài)成員變量。
(4)靜態(tài)的值的作用可以是用來計數(shù)用炼彪。

14正歼、package和import語句
為了管理大型軟件系統(tǒng)眾多類的命名沖突問題,java使用包(package)機制喜爷,提供類的多重類命名空間。
(1)package必須定義在程序的第一行
(2)格式為:package pk1[pk2][pk3]
(3)約定俗成的命名規(guī)范是用公司域名命名package
(4)package里面的.代表一個層次檩帐,即一個文件夾另萤。
(5)如果沒有import時,則在使用時要加上包的路徑
(6)查看系統(tǒng)自帶的包的路徑
【安裝的盤符】D:\jdk\jre\lib\rt.jar
常用的包
java.lang的類(比如String勾缭、Math目养、Integer癌蚁、System、Thread)這些可以不包含直接使用碘梢。
java.awt——包含了抽象窗口的工具集的多個類,用于構(gòu)建和管理圖形界面煞躬。
java.applet——包含applet運行所需的一些類逸邦。
java.net——包含了與網(wǎng)絡(luò)相關(guān)的類。
java.io包含了提供多種輸入雷客、輸出功能的類桥狡。
java.util包含了一些實用的工具類皱卓,如定義系統(tǒng)特性,使用與日期相關(guān)的函數(shù)部逮。
(7)把自己的類打包成一個jar包直接cd到目錄后,使用命令:jar
jar -cvf jar_name.jar .(指把目錄的所有文件打包成jar包)
【聽得不太懂得視頻:21~23甥啄,講如何使用自己的jar包,用到再重新看】

15蜈漓、類的繼承
(1)語義上有is-a的關(guān)系。
(2)java只支持單繼承融虽。
(3)一個子類 只能有一個基類享完。通過繼承有额,子類自動擁有了基類(superclass\parentclass)
(4)子類對象包含父類對象。
(5)關(guān)于父類中的訪問權(quán)限問題
private只有父類自己可以用(即類內(nèi)部)巍佑。
public所有地方都可以使用茴迁。
protecte只要是父類萤衰、子類或者同一個包下都可以使用堕义。
default的話就只有父類以及和父類在同個包下的都可以使用。
注:對于class的修飾符只有public脆栋、或者default可以用。
public 類可以在任何地方使用椿争,而default只能在同一個包內(nèi)使用。

16秦踪、接口
(1)接口是抽象方法和常量定義的集合。
(2)從本質(zhì)上講椅邓,接口是一種特殊的抽象 類舍扰,這種抽象類只包含常量和
方法的定義希坚,而沒有變量和方法的實現(xiàn)陵且、
(3)抽象類有關(guān)鍵詞abstract修飾而interface里面的方法沒有abstract裁僧。
interface里面的變量都是public static final類型的。

public interface runner {
    public static final int id = 1;
    
    public void start();
    public void run();
    public void stop();
}

(4)多個無關(guān)的類可以實現(xiàn)同一個接口聊疲。
(5)一個類可以實現(xiàn)多個無關(guān)接口。
(6)與繼承關(guān)系類似阱表,接口與實現(xiàn)類之間存在多態(tài)的關(guān)系贡珊。
(7)語法格式

<modifier> class <name> [extends <superclass] [implements <interface] [,interface]* {
    <declarations>*
}

17、 異常處理
異常指的是運行期出現(xiàn)的錯誤门岔。
java異常是指在程序運行的過程中發(fā)生的一些異常事件(如0溢出、數(shù)組下標越界寒随、所要讀取的文件不存在等)
解決時觀察行號和錯誤的名字最重要。敢于調(diào)試妻往。
(1)設(shè)計良好的程序應(yīng)該在異常發(fā)生時提供處理這些錯誤的方法,使得程序不會因為異常的發(fā)生而阻斷或產(chǎn)生不可預(yù)見的結(jié)果纫普。
(2)java程序在執(zhí)行的過程中如出現(xiàn)異常事件,可以生成一個異常類對象局嘁,該異常對象封裝了異常事件的信息并將被提交給java運行時系統(tǒng)晦墙,這個過程稱為拋出(throw)異常晌畅。
(3)當(dāng)java運行時系統(tǒng)接收到異常對象,會尋找
能夠處理這一異常的代碼并把當(dāng)前異常對象交給其處理棋凳,這一過程稱為捕獲異常剩岳。(catch)
(程序是調(diào)試出來的!E淖亍)
(4)異常的分類
它的根類是throwable。下一層是error和exception骄噪。e rror是虛擬機錯誤,我們處理不了谬泌。其中exception是可以處理額呵萨。
exception下面還有一個runtimeexception潮峦。
總結(jié):
error:稱為錯誤忱嘹,有java虛擬機生成并拋出拘悦,包含動態(tài)鏈接失敗础米,虛擬機錯誤等,程序?qū)ζ洳蛔鎏幚怼?br> exception:所有異常類的父類医寿,其子類對應(yīng)了各種各樣可能出現(xiàn)的異常事件,一般要用戶顯式的聲明或捕獲竖瘾。
runtime Exception:一類特殊的異常捕传,如被0整除庸论、數(shù)組下標超范圍等,其產(chǎn)生比較頻繁,處理比較麻煩涵亏,如果顯式的聲明或捕獲將會對程序的可讀性以及運行效率影響很大气筋。因此系統(tǒng)將自動檢測并將它們交給缺省的異常處理程序(用戶可不必對其處理)

Finally子句
try代碼段包含可能產(chǎn)生例外的代碼旋圆。
try代碼段后跟有一個或多個catch代碼段。
每個catch代碼段聲明其能夠處理一種特定類型的異常并且提供處理的方法搀矫。
當(dāng)異常發(fā)生時刻肄,程序會終止當(dāng)前的流程,根據(jù)獲取的異常的類型去執(zhí)行相應(yīng)的catch語句段卦羡。
其中finally語句段的代碼是無論如何都會被執(zhí)行的麦到。
finally語句為異常處理提供一個統(tǒng)一的出口,使得在控制流程轉(zhuǎn)到程序的其它部分之前瓶颠,能夠?qū)Τ绦虻臓顟B(tài)作統(tǒng)一的管理。
無論try所指定的程序塊是否拋出異常要门,finally所指定的代碼都要被執(zhí)行廓啊。
通常在finally語句中可以進行資源的清除工作,例如:
關(guān)閉打開的文件
刪除臨時文件炒瘟。
等等

其中對catch到的錯誤可以用e.getMessage();
或者e.printStackTrace()來打印錯誤信息第步。

關(guān)于異常的捕獲和處理
當(dāng)有method1和method2和method3缘琅,
method3有異常exception3,
method1調(diào)用了method2呻纹,method2調(diào)用了method3,并且 method1和2都throws了exception哥力,method3 throws了exception并且在throw new exception("Error")做了處理。

聲明自己的異常類
1钞澳、繼承java.lang.Exception類聲明自己的異常類
2、在方法適當(dāng)?shù)奈恢蒙僧惓n惖膶嵗⒂胻hrow語句拋出
3兰吟、在方法的聲明部分用throws語句聲明該方法可能拋出的異常。

其中異常和重寫的關(guān)系
重寫時如果拋出異常的話必須拋出和父類一樣的異巢严或者不拋出異常來重寫。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末槽地,一起剝皮案震驚了整個濱河市集畅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌溺拱,老刑警劉巖泥从,帶你破解...
    沈念sama閱讀 223,207評論 6 521
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件躯嫉,死亡現(xiàn)場離奇詭異擂啥,居然都是意外死亡,警方通過查閱死者的電腦和手機蜒谤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,455評論 3 400
  • 文/潘曉璐 我一進店門鳍徽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人濒募,你說我怎么就攤上這事懊缺∫抛” “怎么了途蒋?”我有些...
    開封第一講書人閱讀 170,031評論 0 366
  • 文/不壞的土叔 我叫張陵,是天一觀的道長宽堆。 經(jīng)常有香客問我茸习,道長号胚,這世上最難降的妖魔是什么猫胁? 我笑而不...
    開封第一講書人閱讀 60,334評論 1 300
  • 正文 為了忘掉前任届惋,我火速辦了婚禮盼樟,結(jié)果婚禮上晨缴,老公的妹妹穿的比我還像新娘击碗。我一直安慰自己稍途,他們只是感情好械拍,可當(dāng)我...
    茶點故事閱讀 69,322評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著迄损,像睡著了一般芹敌。 火紅的嫁衣襯著肌膚如雪氏捞。 梳的紋絲不亂的頭發(fā)上液茎,一...
    開封第一講書人閱讀 52,895評論 1 314
  • 那天豁护,我揣著相機與錄音,去河邊找鬼猎贴。 笑死她渴,一個胖子當(dāng)著我的面吹牛趁耗,可吹牛的內(nèi)容都是我干的苛败。 我是一名探鬼主播罢屈,決...
    沈念sama閱讀 41,300評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼缠捌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了谊却?” 一聲冷哼從身側(cè)響起因惭,我...
    開封第一講書人閱讀 40,264評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎勿决,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體低缩,經(jīng)...
    沈念sama閱讀 46,784評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,870評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了坏为。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片匀伏。...
    茶點故事閱讀 40,989評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖摧找,靈堂內(nèi)的尸體忽然破棺而出蹬耘,到底是詐尸還是另有隱情综苔,我是刑警寧澤堡牡,帶...
    沈念sama閱讀 36,649評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜骑素,卻給世界環(huán)境...
    茶點故事閱讀 42,331評論 3 336
  • 文/蒙蒙 一箩做、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧邦邦,春花似錦、人聲如沸鬼店。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,814評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽巍棱。三九已至,卻和暖如春如贷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背杠袱。 一陣腳步聲響...
    開封第一講書人閱讀 33,940評論 1 275
  • 我被黑心中介騙來泰國打工霞掺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人菩彬。 一個月前我還...
    沈念sama閱讀 49,452評論 3 379
  • 正文 我出身青樓骗灶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親耙旦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,995評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法帆竹,內(nèi)部類的語法,繼承相關(guān)的語法栽连,異常的語法,線程的語...
    子非魚_t_閱讀 31,669評論 18 399
  • (一)Java部分 1绢陌、列舉出JAVA中6個比較常用的包【天威誠信面試題】 【參考答案】 java.lang;ja...
    獨云閱讀 7,120評論 0 62
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理熔恢,服務(wù)發(fā)現(xiàn),斷路器沥割,智...
    卡卡羅2017閱讀 134,722評論 18 139
  • 為了用光昨天擠出來沒有用的顏料,我也是拼了机杜。
    雙人余君閱讀 192評論 0 4
  • 我坐在房間里,光腳踩在水泥地上似将,對著窗,卻看不到風(fēng)景在验。陽光塞滿了整個房間,喉嚨里的聲音沖破唇齒的障礙腋舌,又被墻狠狠地...
    靈霜閱讀 191評論 0 1