<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Just Java IT

    西門町學士關于Java的隨便一說而已……

    走進JavaFX-(2)

    /**
    * 繼續俺的JavaFX學習,語法部分
    * 文:西門町學士
    * 位置:http://www.tkk7.com/stevech/
    */
    我猶豫了好一陣才決定寫JavaFX的語法部分。個人認為這是學習中最枯燥的部分。因為JavaFX的語法非常簡單且直觀,比如Sun提供的在線 Tutorial的GUI部分,即使你是第一次聽說JavaFX這個東西,只要你稍有一點點編程經驗,你也基本上能夠毫無障礙地理解這個Tutorial 的內容了。
    話雖如此,部分語法可能確實會造成一些理解困難,比如有的地方分隔符用逗號(,)分號(;)和空格都可以,def和var的區別,=>操作符,等等這些還得初看一遍語法才能理解(當然,基本上就沒有必要看第二遍了吧)。因此,我也在此將JavaFX的語法照著Sun的語法 Tutorial快速地過一遍,為以后打下一個堅實(!)的基礎,呵呵。

    def: 定義常量
    var: 定義變量

    function {}: 定義函數
    function fun(arg: Integer) {}: 一個名為fun需一個Integer參數類型的函數,沒有返回值,等同于
    function fun(arg: Integer) : Void {}
    如果是
    function fun(arg: Integer) : Integer {} 則是返回Integer類型

    Person {
      firstName: "java"; //在這里用;、,或是什么都不用皆可
      lastName: "sun",
      gender: "x"
      age: "12"
    }
    定義了一個Person對象實例。
    對象可以嵌套,如
    Person {
      firstName: "java"; //在這里用;、,或是什么都不用皆可
      lastName: "sun",
      gender: "x"
      age: "12"
      email: Email {
        url: "java@sun.com"
      }
    }

    String類型
    def name = 'Sun'; //單引號雙引號都一樣
    var s = "Hello {name}"; // Hello Sun。{}代表內嵌表達式

    Boolean類型
    var answer = true;

    Number和Integer類型
    Number表示浮點數:def numOne = 1.0;
    Integer表示整數:def numTwo = 1;
    不嫌麻煩的話(吃多了撐得慌):
    def numOne : Number = 1.0;
    def numTwo : Integer = 1;

    Duration類型
    以前沒見過。其實就是時間間隔。
    5ms;// 5毫秒
    10s;// 10秒
    15m;// 15分鐘
    20h;// 20個鐘頭

    Void
    知道吧。僅用于函數返回值(不用也是一樣的)記住V是大寫的

    null
    這個更沒問題了吧。這年頭就指望著null吃飯呢

    Sequence
    []。類似于數組更類似于list
    var seasons = ["Spring","Summer","Fall","Winter"];
    可嵌套
    var ss = [seasons, ["Moon","Beauty"]];
    對于數字更有:
    var nums = [1..100];//兩個點,別弄成三個了
    var nums = [1..10 step 2];//1,3,5,7,9
    var nums = [10..1 step -1];
    還有:
    var nums = [1,2,3,4,5];
    var numsGreaterThanTwo = nums[n | n > 2];
    訪問:
    nums[0]等等等等,別忘了下標從0計
    sizeof: 個數
    插入:
    var days = ["Mon"];
    insert "Tue" into days; //哇,SQL冒出來了啊
    insert "Fri" into days;
    insert "Sat" into days;
    insert "Sun" into days;
    insert "Thu" before days[2];//將Thu放在days[2]之前
    insert "Wed" after days[1];//將Web放在days[1]之后
    刪除:
    delete "Sun" from days;
    delete days[0];
    delete days;//現在days是空的了,但days這個變量還是存在的
    反轉:
    var nums = [1..5];
    reverse nums;//變成5,4,3,2,1
    比較:
    ==
    元素和位置完全相同,true;否則false
    子集:
    var days = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];
    var weekend = days[5..6];//Sat和Sun
    var weekdays = days[0..<5];//類似于數學上的[)半閉半開范圍
    var weekend = days[5..];//到頭
    var days2 = days[0..<];//除了最后一個

    操作符部分
    =、+、-、*、/、mod、+=、-=、*=、/=、++、--、not
    ==、!=、>、>=、<、<=
    and、or
    instanceof
    唯一需要注意的是String沒有重載+,因此不能用+來連接String,得用函數。

    表達式
    以;結尾。

    if ..else if...else
    可以這么用:
    price = if (age < 5) 0 else if (age > 5 and age < 12) 5 else 10;

    for...in
    var days = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];
    for (day in days) {}
    也可以:var squares = for (i in [1..10]) i*i;

    while、break、continue

    throw、try...catch...finally

    數據綁定:bind和bound

    var x = 0;
    def y = bind x;//現在y的值隨x變動而變動。注意我們用def來定義y

    var x = 1.0;
    bound function fun(arg: Type) : Type {
      something relating to x;
    }//定義了一個可以綁定外部參數的函數

    觸發器(replace trigger)//SQL再現?
    on replace

    var password = "foo" on replace oldValue {
         println("\nALERT! Password has changed!");
         println("Old Value: {oldValue}");
         println("New Value: {password}");
    };
    password = "bar";
    當值改變時觸發!

    自定義類型
    終于,終于!class出現!

    class Person {
      var firstName: String;
      var lastName: String;
      var gender: String;
      var age: Integer;

      function printName() {
        println("Name: {firstName} {lastName}");
      }
    }

    子類
    abstract class X {
      ...
      function doSth(...) {}
      ...
    }
    class XX extends X {
      ...
      override function doSth(...) {}
      ...
    }

    包:package
    跟Java沒區別~~

    訪問修飾符
    默認(即沒有修飾符):跟Java不同,稱為Script-only,也就是只有當前這個文檔內的可以訪問它,類似于private(跟C++的默認方式相同)
    package:在同一個包內可以訪問
    protected:同一個包或子類
    public: 公共
    public-read:把public限制了一下,不允許外部進行寫操作。還可以再加修飾符來將寫操作放寬,比如package public-read或protected public-read
    public-init:可由外部進行初始化賦值,然后就跟public-read一樣了。

    posted on 2008-12-16 01:05 西門町學士 閱讀(1814) 評論(4)  編輯  收藏 所屬分類: Java

    Feedback

    # re: 走進JavaFX-(2)[未登錄] 2008-12-16 08:46 老紫竹

    你這家伙,跑這面多久了?  回復  更多評論   

    # re: 走進JavaFX-(2) 2008-12-16 15:10 西門町學士

    @老紫竹
    呵呵,紫竹老兄,有段時間csdn的blog服務有問題(好像是05、06年的時候吧,對FF支持差),我就到處找地兒,后來csdn穩定了,其他的地盤就荒了,就這塊地兒還留著,在csdn寫了東西也捎帶著copy到這兒來了 囧~~  回復  更多評論   

    # re: 走進JavaFX-(2)[未登錄] 2008-12-17 14:01 object

    這不就是javascript和actionscript的語法么  回復  更多評論   

    # re: 走進JavaFX-(2) 2008-12-18 08:28 西門町學士

    @object
    表看見var、def、function就宣稱這是JavaScript  回復  更多評論   

    主站蜘蛛池模板: 处破女第一次亚洲18分钟| 久久国产成人亚洲精品影院| 中国亚洲呦女专区| 亚洲А∨精品天堂在线| 国产一区二区免费| 亚洲不卡视频在线观看| 亚洲精品尤物yw在线影院| 91香蕉在线观看免费高清 | 国产亚洲视频在线观看网址| 自拍偷自拍亚洲精品被多人伦好爽 | 国产成人亚洲精品无码AV大片| 国产亚洲自拍一区| 我要看WWW免费看插插视频| 精品无码国产污污污免费网站国产| 亚洲成人在线网站| 日韩精品电影一区亚洲| 国产精品免费精品自在线观看| 色费女人18女人毛片免费视频| 97亚洲熟妇自偷自拍另类图片| 亚洲七七久久精品中文国产| 久久国产亚洲观看| 亚洲中文字幕久久精品无码A| 亚洲综合色丁香麻豆| 岛国精品一区免费视频在线观看| 亚洲av永久无码嘿嘿嘿| 亚洲色婷婷综合久久| 热99re久久免费视精品频软件| 无码人妻一区二区三区免费看| 全部一级一级毛片免费看| 亚洲另类小说图片| 亚洲爆乳精品无码一区二区三区| 又爽又黄无遮挡高清免费视频| h视频在线观看免费完整版| a毛片在线看片免费| 免费看一级一级人妻片| 亚洲高清毛片一区二区| 精品久久久久久亚洲精品| 久久亚洲熟女cc98cm| 亚洲AV日韩AV鸥美在线观看| 久久精品国产亚洲Aⅴ香蕉| 在线观看亚洲免费|