day1-Java基礎(chǔ)知識(shí)

JavaSE_day01 筆記

一神年、Java 是什么?

Java 是一種面向?qū)ο箢愋偷木幊陶Z言行嗤。

1991 年已日,Oak(橡樹)主要是做消費(fèi)類型的電子嵌入式芯片。

1995 年栅屏,Java(爪哇飘千,咖啡)最終做 Web 應(yīng)用程序堂鲜。

可以參考每月的 TIOBE 編程語言排行榜。

Java 主要是應(yīng)在服務(wù)端開發(fā)中护奈,游戲服務(wù)器缔莲,移動(dòng)端服務(wù)器,商城服務(wù)器霉旗,視頻服務(wù)器痴奏,銀行服務(wù)器。

Java 還會(huì)作為底層封裝的一個(gè)標(biāo)準(zhǔn)厌秒,通過 Java 來調(diào)用一些底層的操作读拆。

二、Java 目前主要有三種版本

J2SE:Java 2 Platform Standard Edition鸵闪,后來叫 JavaSE檐晕。主要是 Java 技術(shù)的核心和基礎(chǔ)部分。

J2EE:Java 2 Platform Enterprise Edition蚌讼,后來叫 JavaEE辟灰。目前 Eclipse 基金組織在 2018-7-31 又定了一個(gè)新的名字,Jakarta EE啦逆。主要代表企業(yè)應(yīng)用開發(fā)中相關(guān)的解決方案伞矩。簡單理解就是,如果我們需要開發(fā)一個(gè)完整的商業(yè)項(xiàng)目夏志,單純靠 Java 是完成不了的乃坤,需要整合其他的技術(shù)一起才行。比如沟蔑,一個(gè)項(xiàng)目會(huì)用到 Spring湿诊、MyBatis、Hibernate瘦材、Struts2厅须、Redis、Lucene食棕、Solr朗和、Elasticsearch、Zookeeper簿晓、Nginx眶拉、Maven、SVN憔儿、Git忆植、Gradle...

J2ME:幾乎已經(jīng)淘汰了。目前主要流行使用 Android 技術(shù)來處理一些小型設(shè)備的應(yīng)用。開發(fā) Android 應(yīng)用可以使用 Java 也可以使用 Kotlin朝刊。

三耀里、Java 的特點(diǎn)

主要有如下幾個(gè)特點(diǎn):簡潔、面向?qū)ο蟮氖懊ァ⒎植际降姆肟妗⒕幾g型的、體系中立的痪枫、可移植的织堂、健壯的

Java 的簡潔是相對(duì) C++ 語言來說的,Java 主要是舍棄了 C++ 中一些比較復(fù)雜的東西奶陈,比如指針、結(jié)構(gòu)附较、單元吃粒、頭文件、運(yùn)算符重載等內(nèi)容拒课。

Java 是所有面向?qū)ο笳Z言中徐勃,面得最“純粹”的面向?qū)ο蟆?/p>

Java 的分布式能力,主要體現(xiàn)在它超強(qiáng)的聯(lián)網(wǎng)能力早像,Java 開發(fā) Socket 通信相關(guān)的程序非常簡單僻肖,訪問遠(yuǎn)程對(duì)象的方式跟本地文件系統(tǒng)那樣輕松。

計(jì)算機(jī)中使用的高級(jí)語言編寫程序的執(zhí)行方式主要有兩種:編譯型和解釋型卢鹦。

編譯型:專門的編譯器臀脏,將我們寫好的源代碼,轉(zhuǎn)成當(dāng)前系統(tǒng)平臺(tái)所在的硬件設(shè)備上能夠讀懂并執(zhí)行的機(jī)器碼冀自。接著就可以讓電腦識(shí)別和運(yùn)行揉稚。常見的編譯型語言:C、C++熬粗、Kotlin搀玖、Objective-C、Swift 等驻呐。

解釋型:專門的解釋器灌诅,將我們寫好的代碼逐行解析執(zhí)行,不會(huì)理你這行數(shù)據(jù)有多長含末,只要是一行即可猜拾。可以即時(shí)解析成對(duì)應(yīng)的機(jī)器碼答渔,立即執(zhí)行关带。常見的解釋型語言:JavaScript、Python、Ruby 等宋雏。

Java 呢芜飘,特殊一點(diǎn)點(diǎn)。它既是編譯型磨总,也是解釋型語言嗦明。Java 需要將源碼(.java)經(jīng)過編譯器進(jìn)行編譯,得到一個(gè)字節(jié)碼文件(.class)蚪燕,它是一種與平臺(tái)無關(guān)的娶牌、不可執(zhí)行的文件。接著馆纳,需要找到解析器解析后诗良,才能夠得到一個(gè)指定系統(tǒng)(比如,當(dāng)前是 win 系統(tǒng))的可執(zhí)行文件鲁驶。

Java 的 JVM 主要是負(fù)責(zé)執(zhí)行生成的字節(jié)碼文件的一個(gè)工具鉴裹。JVM 也就是常說的虛擬機(jī)。以后面試的時(shí)候钥弯,會(huì)常被問到径荔。Java 的跨平臺(tái)特性其實(shí)是依靠了 JVM 的強(qiáng)大功能。JVM 給所有平臺(tái)中安裝的工具都設(shè)計(jì)了一致接口脆霎,只需要編譯器面向接口生成對(duì)應(yīng)的代碼即可讓虛擬機(jī)進(jìn)行解析執(zhí)行总处。JVM 的作用,就是一個(gè)轉(zhuǎn)換器睛蛛。轉(zhuǎn)換后鹦马,主要是一個(gè)字節(jié)碼文件,這種文件帶有一點(diǎn)體系結(jié)構(gòu)中立的特性和可移植性玖院,跟誰(任何平臺(tái))都沒有關(guān)系菠红。

Java 在運(yùn)行前和運(yùn)行時(shí),都會(huì)進(jìn)行一系列的檢查难菌,保證程序的健康可用狀態(tài)试溯。

Java 可以說是目前最安全的一種程序設(shè)計(jì)語言,可以另外學(xué)習(xí)一些web 安全郊酒,Shiro遇绞、Spring Security 安全框架。

Java 還有一個(gè)特別優(yōu)秀的多線程特性燎窘,使得很多應(yīng)用的性能得到極大的改善摹闽。在面試過程中,也是面試官特別喜歡進(jìn)行提問的褐健。面試的點(diǎn)主要在于考察應(yīng)聘者對(duì)程序更抽象的理解能力付鹿。

Java 是一種動(dòng)態(tài)的語言澜汤,可以很方便的查詢運(yùn)行的信息,還能給運(yùn)行中的程序加入新的代碼舵匾。

靜態(tài)編譯:一次編譯俊抵,在編譯的時(shí)候把你所有的模塊都編譯進(jìn)去。

動(dòng)態(tài)編譯:按需編譯坐梯,程序在運(yùn)行的時(shí)候徽诲,用到哪個(gè)模塊就加載哪個(gè)模塊。

四吵血、搭建 Java 的開發(fā)環(huán)境

JDK:Java SE Development kit谎替,Java 的標(biāo)準(zhǔn)開發(fā)包。JDK 主要是包括了編譯和運(yùn)行需要用到的各種工具包蹋辅,比如 Java 編譯器钱贯、Java 運(yùn)行時(shí)環(huán)境,還有一個(gè)常用的類庫晕翠。

上面說到的運(yùn)行時(shí)環(huán)境喷舀,其實(shí)就是 JRE。

1)先雙擊安裝淋肾,指定安裝路徑(非中文路徑,不要在 c 盤)爸邢,取消公共 JRE 選項(xiàng)樊卓。

2)右鍵“我的電腦”→“屬性”→“高級(jí)系統(tǒng)設(shè)置”→“環(huán)境變量”按鈕→添加“JAVA_HOME”→ 編輯 Path 的值,在最前面加上 “%JAVA_HOME%\bin;”杠河。

3)Win + R 快捷鍵碌尔,調(diào)出運(yùn)行窗口,輸入 cmd 打開 DOS 命令行工具券敌。輸入 java -version 進(jìn)行驗(yàn)證是否安裝 JDK 成功唾戚。

JDK 10

bin:主要存放一些執(zhí)行命令,比如將要使用 javac 和 java 命令待诅。

conf:存放相關(guān)的配置文件叹坦。

include:存放平臺(tái)特定的頭文件。

jmods:存放各種模塊卑雁,JDK 9 版本后新增的內(nèi)容募书。

legal:存放模塊的授權(quán)文件。

lib:存放一些補(bǔ)充的 jar 包文件测蹲。

DOS 命令

cls:清屏莹捡。

: 冒號(hào):盤符。

cd:進(jìn)入指定的目錄扣甲。

cd ..:回退上一級(jí)目錄篮赢。

cd \:回到根目錄中。

五、HelloWorld

類:所有的 Java 代碼都需要寫在一個(gè)類文件中启泣,文件的后綴名 xxx.java涣脚。

main 函數(shù):程序的入口。

工具:Eclipse种远、STS涩澡、Netbean、IDEA坠敷。

記事本

javac 的命令格式:javac -d 生成的路徑 源碼文件的路徑

如果路徑是當(dāng)前目錄的話妙同,則可以直接使用實(shí)心點(diǎn)來表示。

javac -d . One.java

java 的命令格式:java 文件名

java One

directory 目錄 f:\abc\bcd\ee\ww

六膝迎、Java 的注釋

注釋的作用粥帚,主要是用說明性的文字,對(duì)當(dāng)前代碼進(jìn)行解釋限次,讓合作降低溝通成功芒涡。

注釋的作用:多寫注釋,以防忘記卖漫。平時(shí)調(diào)錯(cuò)的時(shí)候费尽,也可以用到。

寫好的注釋羊始,系統(tǒng)是不會(huì)執(zhí)行注釋中的內(nèi)容旱幼。

單行注釋://

多行注釋:/* */

文檔注釋:/** */ 通過 javadoc 命令可以生成對(duì)應(yīng)的說明文檔。

七突委、關(guān)鍵字

就是系統(tǒng)已經(jīng)定義好的一些單詞柏卤,有特殊的含義。直接使用可以實(shí)現(xiàn)某些功能匀油,開發(fā)者不能自定義它的功能缘缚。

保留字沒有任何含義,也沒有任何作用敌蚜。Java 有可能在某年某月某日會(huì)給它賦值一些功能桥滨,但到底是什么功能,它還沒確定钝侠,只是當(dāng)前占用不然其他人使用该园。

八、標(biāo)識(shí)符

組成元素:英文 a-Z帅韧、數(shù)字 0-9里初、符號(hào) _ 和 $

書寫規(guī)則:

1)數(shù)字不能開頭

2)不能使用關(guān)鍵字和保留字

3)嚴(yán)格區(qū)分大小寫,不限制長度忽舟,但要求有意義双妨、可讀性強(qiáng)淮阐。

參考“駝峰命名法”,就是每個(gè)單詞的首字母大寫刁品。

九泣特、數(shù)據(jù)

軟件開發(fā)其實(shí)就是跟數(shù)據(jù)打交道。

軟件 = 數(shù)據(jù) + 邏輯挑随。

12123123123.png

Java 中提供兩種容器來存放數(shù)據(jù):常量和變量状您。

常量:就是不會(huì)再改變的數(shù)據(jù)。

變量:就是會(huì)發(fā)生改變的數(shù)據(jù)兜挨。

十膏孟、變量

容器,其實(shí)就跟我們喝水的時(shí)候用的杯子一樣拌汇。將我們需要的數(shù)據(jù)(水)裝載容器(杯子)中柒桑。

我們應(yīng)該將對(duì)應(yīng)的數(shù)據(jù)裝載在對(duì)應(yīng)的容器中,不然就會(huì)引發(fā)類型匹配錯(cuò)誤噪舀。好比魁淳,花生油的瓶子不要裝醋,否則會(huì)串味与倡。

12.21 小數(shù):double界逛、float 浮點(diǎn)類型

double 雙精度浮點(diǎn)類型,范圍最大纺座。

float 使用時(shí)仇奶,需要加上一個(gè) f 或者 F 作為后綴。2.54F比驻、2.56f

12 整數(shù):int 整型

十進(jìn)制:日常生活中常見的數(shù)據(jù)類型。10岛抄、12别惦、88、59...

二進(jìn)制:以 0b 或者0B 開頭夫椭。0b1100掸掸、0B0001

十六進(jìn)制:以 0x 或者 0X 開頭。數(shù)字 0-9 和 a-f 組成蹭秋。0xa2

八進(jìn)制:以 0 開頭扰付。0123、0257

true 布爾:boolean 布爾型

true 真

false 假

c 字符:char 字符型

指的是單字符仁讨,’a’羽莺、1、’中’

要特別注意洞豁,a-A 的話盐固,有時(shí)候可以當(dāng)做數(shù)字來用荒给,在ASCII 碼表中,字母有對(duì)應(yīng)的數(shù)值刁卜。比如 a 是 97志电。

變量值可以被訪問,還可以被覆蓋蛔趴,設(shè)置可以被賦 null 值挑辆。

數(shù)據(jù)是如何存儲(chǔ)的?

不論是在內(nèi)存還是硬盤孝情,存儲(chǔ)設(shè)備的最小信息單元叫“位 bit”鱼蝉,比特位,一般使用小寫 b 字母表示咧叭。

計(jì)算機(jī)最小的存儲(chǔ)單元叫“字節(jié) byte”,一般使用大寫 B 字母表示蚀乔。字節(jié)是由連續(xù)的 8 個(gè)位組成的。

1 B = 8 bit

1 KB = 1024 B

1 MB = 1024 KB

1 GB = 1024 MB

1 TB = 1024 GB

1 PB = 1024 TB

整型

byte 字節(jié) 1 -128 ~ 127

short 短整型 2 -32768 ~ 32767

int 整型 4 -2147483648 ~ 2147483648

long 長整型 8 -2^63 ~ 2^63-1

浮點(diǎn)型

float 4 - 3.403E38 ~ 3.403E38

double 8 - 1.798E308 ~ 1.798E308

字符型

char 2

布爾型

boolean 1 / 0 1

語法格式:

數(shù)據(jù)類型 變量名 = 數(shù)值;

int i = 12; // 定義變量并且初始化賦值

注意:此處的 = 號(hào)菲茬,叫賦值符吉挣。寫代碼的順序,從右到左婉弹。

因?yàn)槲覀冃枰獙⒂疫叺闹挡腔辏x值給左邊的變量。

在使用變量的時(shí)候镀赌,需要注意以下幾個(gè)問題:

1)定義變量的時(shí)候氯哮,需要注意變量名不能重復(fù)。

2)調(diào)用變量的時(shí)候商佛,需要注意使用范圍喉钢。

十一、數(shù)據(jù)類型的轉(zhuǎn)換

如果是范圍大的往范圍小的方向去轉(zhuǎn)良姆,比如 double → int肠虽,需要強(qiáng)制指定轉(zhuǎn)換的類型。

如果是范圍小的往范圍大的方式去轉(zhuǎn)玛追,比如 int → double税课,數(shù)據(jù)的類型會(huì)自動(dòng)提升。

數(shù)據(jù)類型的大小排列:byte < short < int < long < float < double

十二痊剖、運(yùn)算符

+韩玩、-、*陆馁、/ :加找颓、減、乘氮惯、除叮雳。

  • 號(hào)想暗,可以用作加法運(yùn)算,還可以用作“連接符”帘不。

“Hello” + “World” ==> HelloWorld

在使用的時(shí)候说莫,如果連接的對(duì)象一個(gè)是字符串,一個(gè)是數(shù)值類型寞焙,最后得到的結(jié)果還是字符串储狭。”Hello” + 2 = “Hello2”

  • 號(hào)捣郊,還可以作為負(fù)號(hào)使用辽狈。

% 取模,簡單理解就是取余數(shù)呛牲。結(jié)果的符號(hào)與被取余數(shù)一致刮萌。

++ 自增:當(dāng)運(yùn)算的時(shí)候,會(huì)先對(duì)自己進(jìn)行 +1 操作娘扩。

-- 自減:當(dāng)運(yùn)算的時(shí)候着茸,會(huì)先對(duì)自己進(jìn)行 -1 操作。

++/-- 后置:先使用變量原有的值進(jìn)行計(jì)算琐旁,計(jì)算完成之后涮阔,才會(huì)執(zhí)行自增/自減。

++/-- 前置:先將自身自增/自減后才進(jìn)行運(yùn)算灰殴,使用變量值是自增/自減后的值敬特。

擴(kuò)展后的賦值符號(hào),= 賦值符號(hào)主要是將右邊的值賦給左邊牺陶。

*= :如果有 a = a * 2; 運(yùn)算伟阔,則可簡寫為:a *= 2;

/= :如果有 a = a / 2; 運(yùn)算,則可簡寫為:a /= 2;

+= :如果有 a = a + 2; 運(yùn)算掰伸,則可簡寫為:a += 2;

-= :如果有 a = a - 2; 運(yùn)算减俏,則可簡寫為:a -= 2;

%= :如果有 a = a % 2; 運(yùn)算,則可簡寫為:a %= 2;

常見的比較運(yùn)算符

<碱工、>、==奏夫、===怕篷、!=、>=酗昼、<=

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末廊谓,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子麻削,更是在濱河造成了極大的恐慌蒸痹,老刑警劉巖春弥,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異叠荠,居然都是意外死亡匿沛,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門榛鼎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逃呼,“玉大人,你說我怎么就攤上這事者娱÷樟” “怎么了?”我有些...
    開封第一講書人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵黄鳍,是天一觀的道長推姻。 經(jīng)常有香客問我,道長框沟,這世上最難降的妖魔是什么藏古? 我笑而不...
    開封第一講書人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮街望,結(jié)果婚禮上校翔,老公的妹妹穿的比我還像新娘。我一直安慰自己灾前,他們只是感情好防症,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪株依。 梳的紋絲不亂的頭發(fā)上介蛉,一...
    開封第一講書人閱讀 51,775評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音量承,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛裙犹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播衔憨,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼叶圃,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了践图?” 一聲冷哼從身側(cè)響起掺冠,我...
    開封第一講書人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎码党,沒想到半個(gè)月后德崭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體斥黑,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年眉厨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了锌奴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡缺猛,死狀恐怖缨叫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情荔燎,我是刑警寧澤耻姥,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站有咨,受9級(jí)特大地震影響琐簇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜座享,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一婉商、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧渣叛,春花似錦丈秩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至箫攀,卻和暖如春肠牲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背靴跛。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來泰國打工缀雳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人梢睛。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓肥印,卻偏偏與公主長得像,于是被迫代替她去往敵國和親绝葡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子竖独,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356

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

  • 一、Java 簡介 Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計(jì)...
    子非魚_t_閱讀 4,195評(píng)論 1 44
  • 世界真的很神奇种蘸,在畢業(yè)一年后墓赴,在很偶然的機(jī)會(huì)里看到老師空間的留言竞膳,便開始了與某個(gè)人的交集。 只從初戀是不...
    justsoso11閱讀 704評(píng)論 0 1
  • 不經(jīng)意間诫硕,年也過完了坦辟,南方的親戚們陸陸續(xù)續(xù)地踏上了返程的路。日歷的這一頁上寫著“立春”章办,預(yù)示著四季的伊始锉走。過年的這...
    一只刺猬233_閱讀 326評(píng)論 0 0
  • 不知從何時(shí)開始休偶,走在馬路上梁厉、與朋友聚會(huì)吃飯,大家都要帶著他們最親密的“愛人”——手機(jī)踏兜,當(dāng)然作為21世紀(jì)最方便的...
    阿Q美食記閱讀 1,069評(píng)論 0 1
  • 抱歉我看得晚了词顾,《海邊的曼徹斯特》是部好電影。 北美東海岸一個(gè)寥廓安寧碱妆、又寒冷凜冽的海邊小鎮(zhèn)里肉盹,男主的生活原本平凡...
    2郎神閱讀 238評(píng)論 0 0