




已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一、JavaFX的變量1.定義變量在JavaFx中需要通過var關(guān)鍵字來定義變量(如同JavaScript一樣),變量的類型是可以省略的,省略的話變量的類型通過實(shí)際賦值的類型來推斷。變量定義格式為:var 變量名:變量類型 = 變量值;例如:var i:Integer = 12;var i1 = 11;var name:String = hello;var name1 = hello;2.標(biāo)識(shí)符標(biāo)識(shí)符的規(guī)范和Java一樣,下劃線或者字母開頭,由下劃線、字母、數(shù)字組成。JavaFx還接受另外一種規(guī)范,包含在之間的,任意字符串,包括空格,可以作為JavaFx中的標(biāo)識(shí)符。這樣可以把JavaFx的關(guān)鍵字或者其他保留字,當(dāng)作普通標(biāo)識(shí)符來使用。例如:var = 100;var = hi;的語法還有另外一種用意。在Java和JavaFx之間有些關(guān)鍵字和保留字不盡相同,有了這個(gè)語法就能克服了。例如:有些在Java代碼里面的方法名稱在JavaFx里面恰好是關(guān)鍵字。var textArea = new JTextArea();textArea.(Hello, 0); JavaFX的變量類型有三種,分別是腳本變量,實(shí)例變量和局部變量。3.腳本變量(類似于Java中的全局變量,也就是public static 修飾的變量)腳本變量是在類定義或塊定義之外定義的變量,腳本變量可作用于整個(gè)應(yīng)用。var thing = Thing;class A function getThing() : String thing 如果定義腳本變量時(shí)沒有使用訪問修飾符,那么它僅能作用于一個(gè)腳本文件。如果使用了訪問修飾符那么它可以如腳本成員那樣被其他部分訪問。訪問修飾符包括: public, protected, package, public-read和public-init. 例如下面是一個(gè)文件名為Foo.fx的腳本文件:public def bohr = 0.529177e-10Noof.fx腳本文件也可以訪問bohr變量:println(Foo.bohr)。腳本變量的生存期為整個(gè)應(yīng)用運(yùn)行時(shí)間.4.實(shí)例變量(類似于Java中的屬性)實(shí)例變量是在類定義中聲明的成員變量. 在類中可直接通過變量名來訪問. 在類外則通過對(duì)象成員的方式來訪問。例如:def anA = A rat: true ;println(anA.rat);class A var rat : Boolean; function isIt() rat class B function wellisIt() anA.rat 訪問修飾符用來控制實(shí)例變量的可見性. 如果沒有使用訪問修飾符,實(shí)例變量只能作用于一個(gè)腳本文件。實(shí)例變量的生存期為它所在的對(duì)象實(shí)例的生存期.5. 局部變量(同Java完全相同)局部變量定義在塊語句中, 或者在方法中. 局部變量作用于一個(gè)塊范圍. 局部變量不可以應(yīng)用訪問修飾符.局部變量的生存期為一個(gè)塊執(zhí)行時(shí)間。不同于腳本和實(shí)例變量, 局部變量定義是一個(gè)表達(dá)式,具有類型和返回值. 有該局部變量的類型和返回值決定.形式參數(shù), 迭代變量和其他表達(dá)式參數(shù)。方法形式參數(shù)作用于該方法. For循環(huán)迭代變量作用于該for循環(huán)體. 表達(dá)式參數(shù)作用于該表達(dá)式.這些變量都不可以被賦值。二、JavaFX的數(shù)據(jù)類型每一個(gè)JavaFX的變量, 方法和表達(dá)式都具有一個(gè)類型, 通常情況下由程序上下文來決定. 變量可以被顯式地制定一個(gè)特定類型; 方法也可以顯式地指定參數(shù)和返回值的類型.類型標(biāo)識(shí)由類型標(biāo)識(shí)符和基數(shù)構(gòu)成.1. 類型標(biāo)識(shí)符類型標(biāo)識(shí)符通常都是類名或者方法名. 下面是一些類型標(biāo)識(shí)符舉例:MyClassjava.util.MapDurationjavafx.animation.TimelineInteger方法名通常包括參數(shù)名和返回值類型 - 如果沒有方法名將不特定于任何方法實(shí)現(xiàn). 下面是一個(gè)方法類型的例子:function(:Number):Booleanfunction(:Integer,:Integer):SplotchedBallfunction():Integer所有的類型標(biāo)識(shí)符都是java.lang.Object的子類.2. JavaFx基本數(shù)據(jù)類型對(duì)應(yīng)于Java中的數(shù)據(jù)類型JavaFx JavaString java.lang.StringBoolean java.lang.BooleanNumber java.lang.NumberIntegerbyte,short,int,long,BigIntegerDuration 無前面四種類型已經(jīng)為Java程序員所熟識(shí),并經(jīng)常使用的了,比較簡(jiǎn)單,這里著重解釋一下JavaFx所獨(dú)有的Duration類型。Duration,即javafx.lang.Duration,用來表示一個(gè)時(shí)間段(單位可以為毫秒,秒,分,小時(shí)),主要用于JavaFx里面動(dòng)畫的實(shí)現(xiàn)。我們來看一下Duration的例子:5ms; /5 毫秒10s; /10 秒30m; /30 分1h; /1 小時(shí)運(yùn)行一下下面的代碼,把以上幾個(gè)Duration值輸出看一下結(jié)果:System.out.println(5ms);System.out.println(10s);System.out.println(30m);System.out.println(1h);3. 基數(shù)基數(shù)表示該變量聲明可以包含多少個(gè)元素. 有如下三種??蛇x(0個(gè)或1個(gè))可選表示可以有也可以沒有實(shí)際元素. 總的來說包括所有自定義對(duì)象和大部分其他對(duì)象. 例如:var x : Foo;表示x變量可以持有一個(gè)Foo變量或是一個(gè)空引用null.必須(1個(gè))必須表示變量必須持有一個(gè)元素, 包括如下內(nèi)建對(duì)象String, Integer, Number, Boolean和Duration. 例如:var k : Integer;表示變量k持有一個(gè)Integer.這種情況下空引用是不被允許的. 否則的話會(huì)被自動(dòng)替換為默認(rèn)值.序列(0個(gè)到多個(gè))序列表示變量可以持有0個(gè)到多個(gè)元素. 這需要顯示說明基數(shù)為序列. 例如:var seq : Integer;表示seq變量可以持有多個(gè)Integer元素.4.默認(rèn)值每個(gè)JavaFX數(shù)據(jù)類型都具有一個(gè)默認(rèn)值. 對(duì)于基數(shù)是可選的類型默認(rèn)值是null. 例如:var x : Foo; println(x);這會(huì)在控制臺(tái)輸出一個(gè)null.對(duì)于序列來講默認(rèn)值就是空序列. 例如:var seq : Integer;println(sizeof seq);這會(huì)在控制臺(tái)輸出一個(gè)0值.對(duì)于基數(shù)是必須的類型來講都會(huì)有一個(gè)確定的默認(rèn)值.var k : Integer; println(k);這會(huì)在控制臺(tái)輸出一個(gè)0值, 因?yàn)镮nteger的默認(rèn)值是0值.三、運(yùn)算符運(yùn)算符是一些特殊的符號(hào),用來對(duì)一個(gè)或兩個(gè)操作數(shù)執(zhí)行特定的運(yùn)算,然后返回一個(gè)結(jié)果。JavaFX編程語言提供賦值運(yùn)算符、算術(shù)運(yùn)算符、一元運(yùn)算符、相等和關(guān)系運(yùn)算符、條件運(yùn)算符和類型比較運(yùn)算符。1. 賦值運(yùn)算符賦值運(yùn)算符 = 是您將遇到的最常用的運(yùn)算符。使用該運(yùn)算符可以將其右側(cè)的值賦給其左側(cè)的操作數(shù):result = num1 + num2;days = Mon,Tue,Wed,Thu,Fri;2. 算術(shù)運(yùn)算符使用算術(shù)運(yùn)算符可以執(zhí)行加、減、乘和除運(yùn)算。mod 運(yùn)算符用一個(gè)操作數(shù)除以另一個(gè)操作數(shù)并將余數(shù)作為結(jié)果返回。+ (加運(yùn)算符)- (減運(yùn)算符)* (乘運(yùn)算符)/ (除運(yùn)算符)mod (求余運(yùn)算符)以下腳本提供了一些示例:var result = 1 + 2; / result is now 3println(result);result = result - 1; / result is now 2println(result);result = result * 2; / result is now 4println(result);result = result / 2; / result is now 2println(result);result = result + 8; / result is now 10println(result);result = result mod 7; / result is now 3println(result); 還可以結(jié)合使用算術(shù)運(yùn)算符與賦值運(yùn)算符來創(chuàng)建復(fù)合賦值。例如,result += 1; 和 result = result+1; 都會(huì)將 result 的值加 1。var result = 0;result += 1;println(result); / result is now 1result -= 1;println(result); / result is now 0result = 2;result *= 5; / result is now 10println(result);result /= 2; / result is now 5println(result); 唯一不能按照此方式使用的算術(shù)運(yùn)算符是 mod。例如,如果您希望將 result 除以 2,然后將余數(shù)重新賦給其自身,則需要編寫:result = result mod 2;3. 一元運(yùn)算符大多數(shù)運(yùn)算符都需要兩個(gè)操作數(shù),而一元運(yùn)算符僅使用一個(gè)操作數(shù)來執(zhí)行諸如按一遞增/遞減某個(gè)值、對(duì)某個(gè)數(shù)字求反或?qū)Σ紶栔登蠓粗惖牟僮鳌? 一元減運(yùn)算符;對(duì)某個(gè)數(shù)字求反+ 遞增運(yùn)算符;按 1 遞增某個(gè)值- 遞減運(yùn)算符;按 1 遞減某個(gè)值not 邏輯求補(bǔ)運(yùn)算符;對(duì)布爾值求反 以下腳本用于測(cè)試一元運(yùn)算符:var result = 1; / result is now 1result-; / result is now 0println(result);result+; / result is now 1println(result);result = -result; / result is now -1println(result);var success = false;println(success); / falseprintln(not success); / true遞增/遞減運(yùn)算符可以在操作數(shù)之前(前綴)或之后(后綴)應(yīng)用。代碼 result+; 和 +result; 都將導(dǎo)致 result 的值加 1。二者之間的唯一區(qū)別就是前綴版本 (+result) 得到的是遞增后的值,而后綴版本 (result+) 得到的是原始值。(您可以通過以下方法來記憶:+result 先執(zhí)行遞增再獲得值,而 result+ 先獲得值再執(zhí)行遞增。)如果您只是執(zhí)行簡(jiǎn)單的遞增/遞減,則選擇哪個(gè)版本都一樣。但是,如果您將該運(yùn)算符作為較大表達(dá)式的一部分進(jìn)行使用,則選擇不同的版本會(huì)對(duì)結(jié)果產(chǎn)生很大的影響。4. 關(guān)系運(yùn)算符相等和關(guān)系運(yùn)算符確定一個(gè)操作數(shù)是大于、小于、等于還是不等于另一個(gè)操作數(shù)。=等于!=不等于大于=大于或等于小于 num2); / prints falseprintln(num1 = num2); / prints falseprintln(num1 num2); / prints trueprintln(num1 = num2); / prints true5. 條件運(yùn)算符條件與 (and) 和條件或 (or) 運(yùn)算符用于對(duì)兩個(gè)布爾表達(dá)式執(zhí)行條件運(yùn)算。這些運(yùn)算符會(huì)表現(xiàn)出“短路”行為,也就是說,僅在必要時(shí)才計(jì)算第二個(gè)操作數(shù):例如,對(duì)于 and 運(yùn)算,如果第一個(gè)表達(dá)式的結(jié)果為 false,將不計(jì)算第二個(gè)表達(dá)式。對(duì)于 or 運(yùn)算,如果第一個(gè)表達(dá)式的結(jié)果為 true,將不計(jì)算第二個(gè)表達(dá)式。andor 以下腳本定義了 username 和 password 變量,然后輸出各個(gè)條件的匹配項(xiàng),從而說明了這些運(yùn)算符的用法:def username = foo;def password = bar;if (username = foo) and (password = bar) println(Test 1: username AND password are correct);if (username = ) and (password = bar) println(Test 2: username AND password is correct);if (username = foo) or (password = bar) println(Test 3: username OR password is correct);if (us
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【天水】2025年甘肅天水師范學(xué)院考核招聘高層次人才52人(第二期)筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 【哈爾濱】2025年黑龍江哈爾濱市阿城區(qū)教育系統(tǒng)所屬事業(yè)單位招聘高層次人才32名筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 折蘑菇教學(xué)課件
- 圖文處理教學(xué)課件
- 文庫發(fā)布:兒童肺炎
- 變阻器參賽教學(xué)課件
- 整體護(hù)理病歷課件
- 時(shí)政熱點(diǎn)的多角度分析
- 中文在機(jī)場(chǎng)教學(xué)課件
- 【襄陽】2025年湖北襄陽宜城市引進(jìn)事業(yè)單位急需緊缺人才50人筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 公路工程公共部分安全風(fēng)險(xiǎn)辨識(shí)與防控表
- 體檢科知識(shí)培訓(xùn)課件
- 業(yè)務(wù)部門協(xié)作與協(xié)同計(jì)劃
- 氣管切開套管的選擇與更換
- 免稅購銷合同范本
- 圍墻維修施工方案(3篇)
- 數(shù)學(xué)四進(jìn)五年級(jí)(暑假學(xué)生版)
- 無人機(jī)飛行安全與法規(guī)-深度研究
- 2025年中國鐵道出版社有限公司招聘(14人)筆試參考題庫附帶答案詳解
- 2025年蘭州石化職業(yè)技術(shù)大學(xué)單招職業(yè)技能測(cè)試題庫帶答案
- 夫妻婚內(nèi)財(cái)產(chǎn)約定協(xié)議書范本
評(píng)論
0/150
提交評(píng)論