了解Java的跨平臺原理以及它的特性
前言
Java 的出處,Java是古老的 Sun Microsystems 公司開發(fā)出來的簡稱 SUN 公司,是1995年推出的高級編程語言,并與2009年被 Oracle 公司收購【距離1995年發(fā)布的第一個(gè)版本 1.0 至今已有28年{目前版本 2.0 版最終版本1.17版,簡稱 Java17 }】Java 常年位居世界編程語言排行榜首(Tiobe排行榜),而且基于java構(gòu)建的技術(shù)生態(tài)幾乎滲透到了各個(gè)領(lǐng)域,如大數(shù)據(jù),云計(jì)算,安卓,物聯(lián)網(wǎng)...發(fā)展至今,Java 已經(jīng)不僅僅是一門語言了,更像是一個(gè)語言平臺,一個(gè)標(biāo)準(zhǔn)。
意義:[Test.java]的文件,經(jīng)過 Java 編譯器即是 JVM 編譯,形成字節(jié)碼文件[Test.class]的文件,這種[Class(類)]文件可以運(yùn)行在不同平臺的 JVM 虛擬機(jī)上,這便是 Java 的跨平臺特性。
語言基礎(chǔ)
基本數(shù)據(jù)類型
整數(shù)類型 1字節(jié):byte ?(-128~127【128-1】) 2字節(jié):short ?(-32768~【32768-1】) 4字節(jié):int ?(2147483648~2147483647【2147483648-1】) 8字節(jié):long ?(-2[63]次方~2[63]次方【2[63]次方-1】) 返回:0
字符類型 2字節(jié)():char 返回:null
浮點(diǎn)類型 4字節(jié)():float 8字節(jié)():double
布爾類型 boolean :
引用類型
整數(shù)類型
Byte ?[類]
Shot [類]
Integer ?[類]
Long ?[類]
字符類型
Character ?[類]
浮點(diǎn)類型
Float ?[類]
Double ?[類]
布爾值類型
Boolean [類]
字符串類型
String [類]
接口類型
Interface ?[類]
返回 null
標(biāo)識符
所有的標(biāo)識符都應(yīng)該以字母(A-Z 或者 a-z),美元符($)、或者下劃線(_)開始
首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下劃線(_)或數(shù)字的任何字符組合
關(guān)鍵字不能用作標(biāo)識符
標(biāo)識符是大小寫敏感的
合法標(biāo)識符舉例:age、$salary、_value、__1_value
非法標(biāo)識符舉例:123abc、-salary
基本語法注意點(diǎn)
大小寫敏感:Java 是大小寫敏感的,這就意味著標(biāo)識符 Hello 與 hello 是不同的。
類名:對于所有的類來說,類名的首字母應(yīng)該大寫。如果類名由若干單詞組成,那么每個(gè)單詞的首字母應(yīng)該大寫,例如 MyFirstJavaClass 。
方法名:所有的方法名都應(yīng)該以小寫字母開頭。如果方法名含有若干單詞,則后面的每個(gè)單詞首字母大寫。
源文件名:源文件名必須和類名相同。當(dāng)保存文件的時(shí)候,你應(yīng)該使用類名作為文件名保存(切記 Java 是大小寫敏感的),文件名的后綴為 .java。(如果文件名和類名不相同則會(huì)導(dǎo)致編譯錯(cuò)誤)。
主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法開始執(zhí)行。
變量范圍
局部變量 :代碼塊內(nèi)部的
類變量(靜態(tài)變量):static{靜態(tài)變量};
成員變量(非靜態(tài)變量):
int num = 0;// 不是靜止的變量
Java 數(shù)組
聲明的樣子 : []
列:
int[] intNum = {1,2,3}
數(shù)組是儲(chǔ)存在堆上的對象,可以保存多個(gè)同類型變量。
在后面的章節(jié)中,我們將會(huì)學(xué)到如何聲明、構(gòu)造以及初始化一個(gè)數(shù)組。
Java 枚舉
Java 5.0引入了枚舉,枚舉限制變量只能是預(yù)先設(shè)定好的值。使用枚舉可以減少代碼中的 bug。
例如:我們?yōu)楣暝O(shè)計(jì)一個(gè)程序,它將限制果汁為小杯、中杯、大杯。這就意味著它不允許顧客點(diǎn)除了這三種尺寸外的果汁。
注釋、注解
// 單行注釋/* * 多行注釋 */ /** * 注解 */
繼承
在 Java 中,一個(gè)類可以由其他類派生。如果你要?jiǎng)?chuàng)建一個(gè)類,而且已經(jīng)存在一個(gè)類具有你所需要的屬性或方法,那么你可以將新創(chuàng)建的類繼承該類。
利用繼承的方法,可以重用已存在類的方法和屬性,而不用重寫這些代碼。被繼承的類稱為超類(super class),派生類稱為子類(sub class)。
接口
在 Java 中,接口可理解為對象間相互通信的協(xié)議。接口在繼承中扮演著很重要的角色。
接口只定義派生要用到的方法,但是方法的具體實(shí)現(xiàn)完全取決于派生類。
列:
Java源[Test.java]被編譯后生產(chǎn)出[Test.class]文件,而后通過JVM虛擬機(jī)解釋執(zhí)行向操作系統(tǒng),操作系統(tǒng)后面是物理裸機(jī)。
對象和類
Java作為一種面向?qū)ο笳Z言。 支持以下基本概念:
多態(tài)
繼承
封裝
抽象
類
對象
實(shí)例
方法
重載
類:[范圍詞] Cat.class 【貓.類(貓的類)】而抽象類即是[貓科.class]
對象:[動(dòng)態(tài)詞] 互動(dòng)的雙方【中文意義:男女朋友的意思】有關(guān)聯(lián)、關(guān)系的互動(dòng)的雙方
如:[漢] 列:狗的類有大狗的類小狗的類 [英] 列:Dog.class HAVE BigDog.class AND littleDog.class
注意:源文件都是[Test.java]經(jīng)過編譯后生產(chǎn)出[Test.class]
參考
^C語言是“一次編寫,到處編譯”;Java 是“一次編譯,到處運(yùn)行”。
^參考?https://www.runoob.com/java/java-basic-syntax.html