工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Groovy 入門:Java プラットフォームでのスクリプティング完全ガイド

Groovy とは?

Apache Groovy は、Java 構文互換のオブジェクト指向言語で、JVM 上で動作します。Java バイトコードにコンパイルされるため、Java Runtime Environment があればどこでも実行可能です。Groovy は動的型付け、クロージャ、DSL サポート、簡潔な構文を追加し、Java の置き換えではなく理想的な伴侶となります。

なぜ Groovy を使うか?

Groovy の歴史

Groovy の主要機能

Groovy のインストール方法

  1. Java がインストール済みか確認 – Java インストールガイド
  2. Groovy ダウンロードページからインストーラーをダウンロード
  3. インストーラー実行、言語選択、OK クリック
  4. ウェルカム画面で NEXT クリック Groovy 入門:Java プラットフォームでのスクリプティング完全ガイド
  5. ライセンス条項に同意 Groovy 入門:Java プラットフォームでのスクリプティング完全ガイド
  6. インストールコンポーネント選択、NEXT Groovy 入門:Java プラットフォームでのスクリプティング完全ガイド
  7. インストールディレクトリ選択、NEXT Groovy 入門:Java プラットフォームでのスクリプティング完全ガイド
  8. スタートメニューフォルダ設定、NEXT Groovy 入門:Java プラットフォームでのスクリプティング完全ガイド
  9. インストール完了(パスはデフォルト)、NEXT Groovy 入門:Java プラットフォームでのスクリプティング完全ガイド
  10. インストール後、スタートメニューから Groovy Console を起動して確認 Groovy 入門:Java プラットフォームでのスクリプティング完全ガイド

Groovy Hello World

Java 版:

public class Demo {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

Groovy 版—たった1行:

println "Hello World."

Groovy ではセミコロン、括弧、冗長な System.out.println が不要です。

変数

Java では明示的な型が必要:

public class Demo {
    public static void main(String[] args) {
        int x = 104;
        System.out.println(x);
        // x = "Guru99"; // コンパイルエラー
    }
}

Groovy は def で動的型付けをサポート:

def x = 104
println x.getClass()
x = "Guru99"
println x.getClass()

出力:

class java.lang.Integer
class java.lang.String

複数行文字列はトリプルクォート:

def x = """Groovy at Guru99"""
println x

演算子

Groovy は標準的なカテゴリをサポート:

ループ

Java for ループ:

for (int i = 0; i <= 5; i++) {
    System.out.println(i);
}

Groovy 相当:

0.upto(4) { println "$it" }
2.upto(4) { println "$it" }
5.times { println "$it" }
0.step(7, 2) { println "$it" }

条件分岐

文説明
if条件が真なら実行
if/else真なら if 分岐、偽なら else 分岐
nested if複数の条件分岐
switch多分岐ロジックのクリーンな代替
nested switchGroovy でサポート

リスト

リストは順序付き参照コレクションで、角括弧で定義:

一般的なリストメソッド:

メソッド説明
add()末尾に値追加
contains()値が存在すれば true
get()インデックス位置の要素
isEmpty()要素なしなら true
minus()指定要素を除いた新リスト返却
plus()要素追加した新リスト返却
pop()最後の要素削除
remove()インデックス位置の要素削除
reverse()反転リスト返却
size()要素数
sort()ソート済みコピー返却

例:

def y = ["Guru99", "is", "Best", "for", "Groovy"]
println y
y.add("Learning")
println(y.contains("is"))
println(y.get(2))
println(y.pop())

出力:

[Guru99, is, Best, for, Groovy]
true
Best
Learning

マップ

マップはキー・バリューペアのコレクション:

マップメソッド:

メソッド説明
containsKey()キーの存在確認
get()キーの値返却
keySet()キーのセット
put()キー/値ペア追加または置換
size()エントリ数
values()値のコレクション

例:

def y = [fName:'Jen', lName:'Cruise', sex:'F']
print y.get("fName")

出力:

Jen

クロージャ

クロージャはオブジェクトとして扱われるコードブロックで、ラムダに似ています。

シンプルなクロージャ:

def myClosure = { println "My First Closure" }
myClosure()

パラメータ付き:

def sum = { a, b, c -> return a + b + c }
println sum(1, 2, 3)

出力:

6

Groovy vs Java

GroovyJava
デフォルトアクセス修飾子は publicデフォルトはパッケージプライベート
フィールドのゲッター/セッター自動生成手動定義必要
ダブルクォートで文字列補間補間なし
型付けはオプション型付け必須
セミコロン不要セミコロン必須
すべてのスクリプトは自動的に Script クラスを拡張実行には public static void main 必須

よくある誤解

誤解現実
Groovy はスクリプト専用多用途:Web フレームワーク、データ処理などで使用
Groovy は純粋関数型関数型概念を借用だが OOP 言語
Groovy は TDD にのみ最適TDD サポートだが多くのシナリオで有用
Groovy は Grails 限定Grails は人気フレームワークだが Groovy は独立動作

Groovy のデメリット

必須 Groovy ツール

使用例:

groovysh

Groovy 入門:Java プラットフォームでのスクリプティング完全ガイド

groovyConsole

Groovy 入門:Java プラットフォームでのスクリプティング完全ガイド

groovy

Groovy 入門:Java プラットフォームでのスクリプティング完全ガイド

まとめ

Java

  1. Raspberry Pi で障害物回避ロボットを自作 – 初心者ガイド
  2. 金属製造入門:初心者向け完全ガイド
  3. 初心者向けCNCルーター:容易な精度で市場をマスター
  4. PowerShell 入門: 強力なスクリプティングのための初心者ガイド
  5. C言語マスター:初心者向け包括的PDFチュートリアル
  6. Java forループをマスター:構文、例、ベストプラクティス
  7. Java配列チュートリアル:宣言、生成、初期化の完全ガイド
  8. Java スタック vs ヒープ:メモリ割り当て実践ガイド
  9. Java 拡張 for 文(for-each):カウンターなしで配列反復をシンプルに
  10. Javaでアームストロング数を判定・列挙するプログラム
  11. Javaで回文数を判定する:while文とfor文を使ったアルゴリズム