Javaプログラミング/Javaプログラミング関連情報

JavaFXとJavaはどう違う?

Java FX Scriptの文法は、Javaとはどう違うのでしょう? 基本的な文法からチェックしていきましょう。

執筆者:掌田 津耶乃

(※本連載は、OpenJFX 200710081507をベースに解説を行っています。2008年秋に正式リリース予定のJavaFX 1.0とは一部内容が異なっている部分がありますのでご注意ください)


JavaFXとJavaとの違い


今回は、JavaFX Scriptの基本的な文法について、「Javaと何が違うのか」を中心に説明をしていきましょう。JavaFX Scriptは、Javaの基本的な文法をベースにして設計されています。ですから、Javaがわかれば、ある程度の応用はききます。が、細かな部分で違いがあるので注意が必要です。まずは、基本的な文法について、その相違点を整理しておきましょう。

1.文は、改行ではなくセミコロンで終わる
これは、Javaと共通していますね。JavaFX Scriptでは、文はセミコロンで区切られます。途中で改行があっても、そこでは終わりません。

2.基本型は4つだけ
Javaでは、8種類の基本型が用意されていましたが、JavaFX Scriptでは「4つ」のみです。これは、それぞれ以下のようになっています。見ればわかるように、数字関係の値は2種類だけとなり、テキストであるStringが基本型として用意されています。キャラクタ(char)に相当するものはありません。

Number――数値全般の値
Integer――整数の値
String――テキストの値
Boolean――真偽値(trueまたはfalse)

3.変数の宣言は、書き方が違う
Javaでは変数を利用する場合、変数名と型名を常に記述する必要がありましたが、JavaFX Scriptでは型名は省略することができます。JavaFX Scriptでの変数の宣言は、以下のようになります。

var 変数;
var 変数: 型名;
var 変数 = 値;
var 変数: 型名 = 値;


基本は、「var 変数」というように、varの後に変数名を指定します。型名を指定する場合は、その後に「:型名」と記述をします。方名を省略した場合、その変数に値が代入された段階で、最適な型に自動設定されます。

4.演算子は、数値のみ
数値の値(Integer、Number)の値は、「+-*/%」といった演算子を使って演算が行えます。このあたりは、Javaと同じと考えてよいでしょう。ただし、String値を+で結合するといったことはできません。演算子が使えるのは数値のみです。

5.Stringリテラルには変数が埋め込める
では、テキストを結合したいときは? これは、実は「リテラルに変数を埋め込む」ことで可能になります。JavaFX Scriptでは、テキストのリテラルは「シングルクォート」と「ダブルクォート」の両方をサポートしています。このうち、ダブルクォートでは、その中に変数やJavaFX Scriptの式などを{}記号で埋め込むことができます。例えば、変数Aと変数Bをひとつにまとめたければ、こんな具合にすればよいのです。

var C:String = "{A}{B}";


6.スクリプトは、ただ文を並べるだけでOK
Javaでは、すべてのプログラムは「クラス」として定義する必要がありました。ちょっとした処理を行うにも、まずクラスを定義し、そこにメソッドとして処理を用意しなければいけませんでした。

が、JavaFX Scriptでは、「クラス」は必須ではありません。必要がなければ、クラスなど書かなくともよいのです。ただ、やりたいことを順に書くだけでスクリプトは完成します。例えば、こんな感じです。

import java.lang.System;

var kakaku = 12800;
var zeikomi = kakaku * 1.05;
System.out.println("{kakaku}の税込み額は、{zeikomi}円です。");


これは、金額(kakaku)に消費税額を加算した金額(zeikomi)を計算し、その結果を出力する例です。見ればわかるように、使用するクラスのimportを書き、その後にただ実行する文を書いているだけですね。クラスもメソッドも不要です。

7.Javaのクラスライブラリをそのまま使える
先の例でわかるように、JavaFX Scriptでは、Javaのクラスをそのまま利用することができます。この場合は、Javaと同様、利用するクラスをimport文で宣言をしておきます。これはJavaに限らず、JavaFXのクラスライブラリを使う場合も同様です。

Javaでは、importを書かなくとも、java.langパッケージのクラスは使えましたし、また「java.lang.System.out.println」というようにパッケージ名を正確に記述すればよかったのですが、JavaFX Scriptでは、importは省略できません。常にクラスはimportしておく必要があります。
  • 1
  • 2
  • 3
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます