說到Java語言,對(duì)于很多第一次接觸編程語言的學(xué)生來說,感覺并不容易。很多資深語言大神覺得確實(shí)比PHP、Python難。有一個(gè)原因,可能是Java語言太大了。Java程序員必須閱讀《Java編程思想》。真的知識(shí)點(diǎn)多,學(xué)習(xí)周期不會(huì)很短。 1、計(jì)算機(jī)語言的發(fā)展機(jī)器語言(C/C++,Java等) 2、Java歷史oak(Java前身)于1991年 Java于1995年5月推出。 詹姆斯·高斯林,Java之父。 3、Java特性(1)面向?qū)ο???梢岳斫鉃槿蝿?wù)老板分配給員工,員工需要考慮任務(wù)的完成方式、任務(wù)的開展和實(shí)現(xiàn)方法,即員工需要控制任務(wù)的過程,員工是面向過程的。老板只需要把任務(wù)分配給員工,不需要考慮任務(wù)的執(zhí)行過程??梢哉f老板是面向?qū)ο蟮摹?/p> (2)平臺(tái)無關(guān)。主要針對(duì)不同的Windows和Linux操作系統(tǒng),可以跨平臺(tái)運(yùn)行。原因是我們編寫的Java源代碼是編譯器編譯后生成的。class文件。此時(shí),它被JVM(Java虛擬機(jī))轉(zhuǎn)換為計(jì)算機(jī)可以識(shí)別的機(jī)器代碼。因?yàn)镴VM可以轉(zhuǎn)換為Windows識(shí)別的機(jī)器代碼或Linux識(shí)別的機(jī)器代碼,所以跨平臺(tái)運(yùn)行本質(zhì)上是通過JVM實(shí)現(xiàn)的。 (3)Java是一種準(zhǔn)動(dòng)態(tài)強(qiáng)解釋語言。 4、JVM的四大特點(diǎn)(1)跨平臺(tái)。 (2)多線程。 (3)面向?qū)ο蟆?/p> (4)自動(dòng)垃圾回收機(jī)制。 5、什么是動(dòng)態(tài)語言?什么是靜態(tài)語言?(1)動(dòng)態(tài)語言。 使用變量時(shí),無需確定數(shù)據(jù)類型。確定數(shù)據(jù)類型是在第一次賦值時(shí),而賦值是在運(yùn)行時(shí)發(fā)送的。當(dāng)程序運(yùn)行時(shí),它們的結(jié)構(gòu)可以改變??梢胄潞瘮?shù),刪除現(xiàn)有函數(shù)等結(jié)構(gòu)變化,運(yùn)行時(shí)檢查類型。優(yōu)點(diǎn)是閱讀方便,清晰。缺點(diǎn)是調(diào)試不方便。 (2)靜態(tài)語言。 編譯時(shí),也可以理解為運(yùn)行前需要確定數(shù)據(jù)類型。在相應(yīng)的空間中,指定類型的值只能存儲(chǔ)。 6、什么是強(qiáng)類什么?弱類語言是什么?(1)強(qiáng)類語言。 強(qiáng)類型語言又稱強(qiáng)類型定義語言,是一種總是強(qiáng)制定義類型的語言。使用時(shí)要求變量嚴(yán)格符合定義,使用前必須定義所有變量。一旦確定了數(shù)據(jù)類型,類型就不能改變(除非使用強(qiáng)制性類型轉(zhuǎn)換),不同類型的值也不能相加。 (2)弱語言。 數(shù)據(jù)類型根據(jù)上下文環(huán)境的變化而變化,無需強(qiáng)制轉(zhuǎn)換類型。 7、什么是編譯語言?什么是解釋語言?(1)編譯語言。 通過指定的編譯器,將源代碼一次編譯成指定平臺(tái)的可執(zhí)行機(jī)器代碼,然后執(zhí)行。運(yùn)行速度更快。 (2)解釋性語言。 使用專用解釋器動(dòng)態(tài)解釋源代碼(解釋運(yùn)行量),生成易于執(zhí)行的中間代碼。這種中間代碼不同于機(jī)器代碼,不能被計(jì)算機(jī)識(shí)別。需要用專用的軟件解釋器來解釋,解釋為機(jī)器代碼,然后執(zhí)行。因此,由于中間過程,運(yùn)行速度會(huì)更慢。 8、為什么Java是準(zhǔn)動(dòng)態(tài)的?這主要體現(xiàn)在Java的反射機(jī)制、動(dòng)態(tài)編譯、動(dòng)態(tài)執(zhí)行、JavaScript代碼、動(dòng)態(tài)字節(jié)碼操作和動(dòng)態(tài)轉(zhuǎn)換類型上。因此,Java保留了靜態(tài)語言的特征,彌補(bǔ)了靜態(tài)語言的缺失,更接近動(dòng)態(tài)語言的特征。Java是準(zhǔn)動(dòng)態(tài)的。 9、Java開發(fā)規(guī)范。①Java嚴(yán)格區(qū)分大小寫。例如:Public不同于Public。 ②Java文件可以有多個(gè)類別。 ?、跩ava文件中只能有一個(gè)public類,public類名必須與文件名一致。 ?、躂avaapplication程序的入口是main方法。即:publicstaticvoidmain(string[]args){}。在包含main方法的類別之前,必須添加public。 10、Java的運(yùn)行機(jī)制。首先,我們需要理解我們編寫的代碼。源文件為。java文件,不能運(yùn)行,必須通過javac編譯為。class文件(也稱為字節(jié)碼文件和類文件)。然后,JVM(虛擬機(jī))將其轉(zhuǎn)換為操作系統(tǒng)可以識(shí)別的機(jī)器代碼并執(zhí)行。 其次,需要注意的是,Java命令必須跟隨類名,不需要添加。class(在命令提示符窗口運(yùn)行時(shí))。 代碼操作細(xì)節(jié):首先,Java會(huì)找到相應(yīng)的、class文件。然后找到相應(yīng)的public類(主類),在主類中找到相應(yīng)的入口方法(main方法)。然后,從上到下,從左到右執(zhí)行main方法中的句子。這些句子以英文分號(hào)結(jié)束,句子對(duì)應(yīng)字節(jié)碼指令,然后通過JVM運(yùn)行。 |
|