Java入門知識(shí)
Java是sun公司于1995年開發(fā)的一門面向?qū)ο缶幊陶Z(yǔ)言,在2009年被Oracle公司收購(gòu)
Java的應(yīng)用:桌面應(yīng)用軟件、互聯(lián)網(wǎng)應(yīng)用軟件
Java語(yǔ)言平臺(tái):JavaSE(標(biāo)準(zhǔn)版)、JavaEE(企業(yè)版)、JavaME(移動(dòng)版)
跨平臺(tái)特性:Java程序可以在任意操作系統(tǒng)上運(yùn)行,“一次編寫,到處運(yùn)行”

JVM:Java虛擬機(jī),全稱:Java Virtual Machine(Java程序是在Java虛擬機(jī)里運(yùn)行的)
JRE:Java運(yùn)行環(huán)境(類庫(kù)),全稱:Java Runtime Environment
JDK:Java軟件開發(fā)工具包(包含了JRE),全稱:Java Development Kit

建立Java開發(fā)環(huán)境,安裝JDK,一般需要設(shè)置環(huán)境變量?path 和 classpath。
path 環(huán)境變量用來存儲(chǔ)Java的編譯和運(yùn)行工具所在的路徑(bin文件夾),? ? ? ? ? classpath 環(huán)境變量則用來保存Java虛擬機(jī)(JVM)要運(yùn)行的 “.class” 文件路徑。

java.exe:Java解釋器
javac.exe:Java編譯器
javadoc.exe:Java文檔工具(注釋)
它們都位于 bin 文件夾中。
Javac.exe 是Java編譯器,能將源程序代碼編譯成字節(jié)碼,以 .class 擴(kuò)展名存入Java工作目錄中,它的命令格式為:
javac [選項(xiàng)] 文件名
其中,[選項(xiàng)]有:
-g:輸出文件中加行號(hào)以及局部變量信息,為調(diào)試程序時(shí)使用
-o:對(duì)類文件進(jìn)行優(yōu)化編譯
-nowarn:關(guān)閉警告信息,只顯示錯(cuò)誤信息
-verbose:顯示源代碼文件和字節(jié)碼文件的相關(guān)信息
-d<目錄>:指定文件存放生成的類文件(.class)的位置
并且,Javac.exe 不區(qū)分大小寫,Java.exe區(qū)分大小寫。
Java程序是區(qū)分大小寫的(與標(biāo)識(shí)符命名有關(guān))。

標(biāo)識(shí)符:用來標(biāo)識(shí)類名、變量名、方法名、類型名、數(shù)組名、文件名的有效字符序列。
??????????????簡(jiǎn)單來說,標(biāo)識(shí)符就是一個(gè)名字。
組成規(guī)則:
可以由 字母、數(shù)字、下劃線_ 、美元符$ 組成,但不包括 @、%、#、空格 等其它特殊字符
不能以 數(shù)字 開頭
不能是 Java關(guān)鍵字
區(qū)分大小寫
可以使用中文命名,但是一般不要使用,容易出錯(cuò)/報(bào)錯(cuò)

命名:
變量、方法:?jiǎn)蝹€(gè)單詞:全部小寫。例如:int name
? ? ? ? ? ? ? ? ? ? ? 多個(gè)單詞:首單詞小寫,其后的單詞首字母大寫。(駝峰法)??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 例如: int myName
常量:全部大寫
類、接口:所有單詞首字母大寫。(帕斯卡命名法)
包:小寫字母組成
補(bǔ):
Java關(guān)鍵字是電腦語(yǔ)言里事先定義的,有特別意義的標(biāo)識(shí)符,有時(shí)又叫保留字,還有特別意義的變量。Java的關(guān)鍵字對(duì)Java的編譯器有特殊的意義,他們用來表示一種數(shù)據(jù)類型,或者表示程序的結(jié)構(gòu)等,關(guān)鍵字不能用作變量名、方法名、類名、包名和參數(shù)。
48個(gè)關(guān)鍵字
abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while
2個(gè)保留字(現(xiàn)在沒用以后可能用到作為關(guān)鍵字)
goto、const
3個(gè)特殊直接量
true、false、null
關(guān)鍵字的大致含義
abstract:表明類或者成員方法具有抽象屬性
assert:斷言,用來進(jìn)行程序調(diào)試
boolean:基本數(shù)據(jù)類型之一,聲明布爾類型的關(guān)鍵字
break:提前跳出一個(gè)塊
byte:基本數(shù)據(jù)類型之一,字節(jié)類型
case:用在 switch 語(yǔ)句之中,表示其中的一個(gè)分支
catch:用在異常處理中,用來捕捉異常
char:基本數(shù)據(jù)類型之一,字符類型
class:聲明一個(gè)類
const:保留關(guān)鍵字,沒有具體含義
continue:回到一個(gè)塊的開始處
default:默認(rèn),例如,用在 switch 語(yǔ)句中,表明一個(gè)默認(rèn)的分支
do:用在 do-while 循環(huán)結(jié)構(gòu)中
double:基本數(shù)據(jù)類型之一,雙精度浮點(diǎn)數(shù)類型
else:用在條件語(yǔ)句中,表明當(dāng)條件不成立時(shí)的分支
enum:枚舉
extends:表明一個(gè)類型是另一個(gè)類型的子類型,這里常見的類型有類和接口
final:表示不可變,最終的
finally:用于處理異常情況,用來聲明一個(gè)基本肯定會(huì)被執(zhí)行到的語(yǔ)句塊
float:基本數(shù)據(jù)類型之一,單精度浮點(diǎn)數(shù)類型
for:一種循環(huán)結(jié)構(gòu)的引導(dǎo)詞
goto:保留關(guān)鍵字,沒有具體含義
if:條件語(yǔ)句的引導(dǎo)詞
implements:表明一個(gè)類實(shí)現(xiàn)了給定的接口
import:表明要訪問指定的類或包
instanceof:用來測(cè)試一個(gè)對(duì)象是否是指定類型的實(shí)例對(duì)象
int:基本數(shù)據(jù)類型之一,整數(shù)類型
interface:接口
long:基本數(shù)據(jù)類型之一,長(zhǎng)整數(shù)類型
native:用來聲明一個(gè)方法是由與計(jì)算機(jī)相關(guān)的語(yǔ)言(如 C/C++語(yǔ)言)實(shí)現(xiàn)的
new:用來創(chuàng)建新實(shí)例對(duì)象
package:包
private:一種訪問控制方式:私用模式
protected:一種訪問控制方式:保護(hù)模式
public:一種訪問控制方式:共用模式
return:從成員方法中返回?cái)?shù)據(jù)
short:基本數(shù)據(jù)類型之一,短整數(shù)類型
static:表明具有靜態(tài)屬性
strictfp:用來聲明 FP_strict(單精度或雙精度浮點(diǎn)數(shù))表達(dá)式遵循IEEE 754 算術(shù)規(guī)范
super:表明當(dāng)前對(duì)象的父類型的引用或者父類型的構(gòu)造方法
switch:分支語(yǔ)句結(jié)構(gòu)的引導(dǎo)詞
synchronized:表明一段代碼需要同步執(zhí)行
this:指向當(dāng)前實(shí)例對(duì)象的引用
throw:拋出一個(gè)異常
throws:聲明在當(dāng)前定義的成員方法中所有需要拋出的異常
transient:聲明不用序列化的成員域
try:嘗試一個(gè)可能拋出異常的程序塊
void:聲明當(dāng)前成員方法沒有返回值
volatile:表明兩個(gè)或者多個(gè)變量必須同步地發(fā)生變化
while:用在循環(huán)結(jié)構(gòu)中

開發(fā)Java程序的一般步驟是:源程序編譯、生成字節(jié)碼和解釋執(zhí)行。
Java程序首先由 編譯器 編譯成字節(jié)碼文件,然后再由 解釋器 解釋執(zhí)行字節(jié)碼文件。由于編譯和解釋有先后,所以Java程序的編譯和執(zhí)行模式包括2點(diǎn)即 半編譯 和 半執(zhí)行,一般認(rèn)為Java語(yǔ)言是 解釋執(zhí)行 的。
.java文件(源文件)——編譯器——.class文件(字節(jié)碼)——JVM虛擬機(jī)——010101

Application:Java中能夠獨(dú)立運(yùn)行的應(yīng)用程序
Applet:也叫 Java小程序,是運(yùn)行于各種網(wǎng)頁(yè)文件中,用于增強(qiáng)網(wǎng)頁(yè)的人機(jī)交互、動(dòng)畫顯示、聲音播放等功能的程序。它本身不能單獨(dú)運(yùn)行,需要嵌入在一個(gè)HTML文件中,借助瀏覽器或Appletviewer來解釋執(zhí)行,Applet可能通過網(wǎng)絡(luò)傳輸,由瀏覽器自動(dòng)裝載并執(zhí)行。
區(qū)別:
運(yùn)行方式不同:Java Applet程序不能單獨(dú)運(yùn)行,它必須依附于一個(gè)用HTML語(yǔ)言編寫的網(wǎng)頁(yè)并嵌入其中,通過與Java兼容的瀏覽器來控制執(zhí)行。 Java Application是完整的程序,可以獨(dú)立運(yùn)行,只要有支持Java的虛擬機(jī),它就可以獨(dú)立運(yùn)行而不需要其他文件的支持。
運(yùn)行工具不同。運(yùn)行Java Applet程序的解釋器不是獨(dú)立的軟件,而是嵌在瀏覽器中作為瀏覽器軟件的一部分。Java Application程序被編譯以后,用普通的Java 解釋器就可以使其邊解釋邊執(zhí)行,而Java Applet必須通過網(wǎng)絡(luò)瀏覽器或者Applet觀察器才能執(zhí)行。
Java語(yǔ)言支持 TCP/IP 協(xié)議,從而使得Java程序在分布式環(huán)境中能夠很方便地訪問處于不同地點(diǎn)的對(duì)象。

Java數(shù)據(jù)類型:https://www.cnblogs.com/onesun/p/16092717.html

還會(huì)持續(xù)補(bǔ)充,學(xué)無止境。