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

初心者向けの Groovy スクリプト チュートリアル

Groovy スクリプトとは?

Apache Groovy は、Java プラットフォーム用に構築された、オブジェクト指向で Java 構文と互換性のあるプログラミング言語です。この動的言語には、Python、Ruby、Smalltalk、および Pero に似た多くの機能があります。 Groovy ソース コードは Java Bytecode にコンパイルされるため、JRE がインストールされている任意のプラットフォームで実行できます。また、Groovy は舞台裏で多くのタスクを実行するため、より機敏で動的になります。

Groovy 言語は、Java プラットフォームのスクリプト言語として使用できます。これは、Java のエンタープライズ機能を提供する Java のスーパー バージョンのようなものです。また、DSL サポート、クロージャー、動的型付けなどの多くの生産性機能も提供します。他のいくつかの言語とは異なり、Java の代替ではなく、コンパニオンとして設計されています。

Groovy を選ぶ理由

ここに、Groovy を使用して学習する必要がある主な理由を示します-

グルーヴィーな歴史

Groovy の機能

Groovy のインストール方法

ステップ 1) Java がインストールされていることを確認します。 https://www.guru99.com/install-java.html

ステップ 2) http://groovy-lang.org/download.html に移動し、インストーラーをクリックします。

注:Zip ファイルを使用して、または Eclipse IDE として Groovy をインストールすることもできます。この Groovy チュートリアルでは、Windows インストーラーに固執します

ステップ 3) ダウンロードしたインストーラーを起動します。言語を選択して [OK] をクリックします

ステップ 4) 発売。ようこそ画面で、[次へ] をクリックします

ステップ 5) ライセンス条項に同意する

ステップ 6) インストールするコンポーネントを選択し、[次へ] をクリックします

ステップ 7) インストール ディレクトリを選択し、[次へ] をクリックします

ステップ 8) [スタート メニュー フォルダー] を選択し、[次へ] をクリックします

ステップ 9) インストールが完了したら、パスをデフォルトのままにして、[次へ] をクリックします

ステップ 10) [次へ] をクリックします

ステップ 11) スタート メニューで Groovy Console を検索

Groovy Hello World の例

Java で単純な文字列「Hello World」を出力したいとします。文字列 Groovy hello world を実現するコードは次のようになります

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

Groovy は Java のスーパーセットであるため、上記のコードは Java と Groovy の両方で有効です。しかし、Groovy の利点は、クラスの作成、パブリック メソッドの作成などを省略して、次の 1 行のコードで同じ出力を実現できることです。

println "Hello World."

セミコロンは不要です

括弧は不要です

System.out.println は println に縮小されます

Groovy 変数

Java では、静的バインディングが必須です。つまり、変数の型は事前に宣言する必要があります。

public class Demo {
    public static void main(String args[]) {
        int x = 104;
        System.out.println(x);
        //x = "Guru99";
    }
}

このGroovyチュートリアルの上記の例では、変数の型(整数)はキーワード「int」を使用して事前に宣言されています。浮動小数点数を宣言する場合は、float キーワードを使用します。

String 値を int に代入しようとすると (5 行目のコメントを外す)、次のエラーが発生します

Demo.java:5: error: incompatible types: String cannot be converted to int
x = "Guru99";

対照的に、Groovy は動的型付けをサポートしています。変数はキーワード「def」を使用して定義され、変数の型は事前に宣言する必要はありません。コンパイラは実行時に変数の型を判断し、変数の型も判断できます。

次のグルーヴィーな例を考えてみてください。

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

出力

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

Groovy では、複数行の文字列を作成できます。文字列が三重引用符で囲まれていることを確認してください。

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

出力

Groovy
at
Guru99

注意 :Groovy では、byte、short、int、long などの変数型を引き続き使用できます。ただし、明示的に宣言しているため、変数の型を動的に変更することはできません。

次のコードを検討してください:

int x = 104
println x
x = "Guru99"

次のエラーが発生します

104
Caught: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'Guru99' with class 'java.lang.String' to class 'int'
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'Guru99' with class 'java.lang.String' to class 'int'
    at jdoodle.run(jdoodle.groovy:3)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Command exited with non-zero status 1

Groovy オペレーター

演算子は、特定の数学的または論理的な操作を行うようにコンパイラに指示する記号です。

Groovy には次の 5 種類の演算子があります。

Groovy ループ

Java では、次のようにループを定義します

public class Demo {
    public static void main(String args[]) {
        for (int x = 0; x <= 5; x++) {
            System.out.println(x);
        }
    }
}

出力

0
1
2
3
4

最大のキーワードを使用して、Groovy で同じ出力を実現できます

0.upto(4) {println "$it"}

上記と同じ出力が得られます。 $it は、現在のループの値を与えるクロージャです。

次のコードを検討してください

2.upto(4) {println "$it"}

出力を提供します

2
3
4

「times」キーワードを使用して同じ出力を取得することもできます

5.times{println "$it"}

Java で for ループを使用して 0,2,4 を出力したいとします

public class Demo {
    public static void main(String args[]) {
        for (int x = 0; x <= 5; x=x+2) {
            System.out.println(x);
        }
    }
}

出力:

0
2
4

同じために step メソッドを使用できます

0.step(7,2){println "$it"}

Groovy - 意思決定

ステートメント 欺瞞
ifステートメント Java と同様に、条件が真の場合に if ステートメントが実行されます。
if/else ステートメント if/else ステートメントでは、最初に条件が if ステートメントで評価されます。条件が真の場合、その後のステートメントを実行します。 else 条件の前で停止し、ループから抜けます。ただし、条件が false の場合は、else ステートメント ブロック内のステートメントが実行されます。その後、ループを終了します。
ネストされた If ステートメント 複数の if ステートメントが必要な場合に使用されます。
切り替えステートメント 複数の条件がある場合、ネストされた if-else ステートメントが読めなくなることがありました。コードを読みやすくするために、switch ステートメントが使用されます。
ネストされた Switch ステートメント Groovy では、入れ子になった switch ステートメントを使用することもできます。

Groovy リスト

リスト構造により、データ項目のコレクションを保存できます。 Groovy プログラミング言語では、List は一連のオブジェクト参照を保持します。また、シーケンス内の位置も示します。 List リテラルは、コンマで区切られ、角括弧で囲まれた一連のオブジェクトとして表されます。

Grrovy リストの例:

文字列のリスト - ['Angular', 'Nodejs,]

オブジェクト参照のリスト – ['Groovy', 2,4 2.6]

整数値のリスト – [16, 17, 18, 19]

空のリスト- [ ]

以下は、Groovy で使用できるメソッドのリストです:

メソッド 説明
add() このリストの末尾に新しい値を追加できます。
contains() このリストに特定の値が含まれている場合、true を返します。
get() 特定の位置にある要素を返します
isEmpty() リストに要素が含まれていない場合、真の値を返します
マイナス() このコマンドを使用すると、コレクションで指定された要素を除いた元の要素で構成される新しいリストを作成できます。
plus() オリジナルの要素とコレクションで言及された要素で構成された新しいリストを作成できます。
pop() リストから最後のアイテムを削除します
remove() 特定の位置にある要素を削除します
reverse() 元のリストの要素を逆にした新しいリストを作成します
サイズ() このリストの要素数を返します
sort() ソートされたコピーを返します

次の Groovy スクリプトの例を検討してください

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

Groovy マップ

Map Groovy は Key-Value ペアのコレクションです

Groovy マップの例:

これは、Groovy で使用できるマップ メソッドのリストです。

メソッド 説明
containsKey() マップにこのキーが含まれているかどうかを確認しますか?
get() このコマンドは、このマップでキーを検索し、対応する値を返します。このマップにエントリが見つからない場合、null が返されます。
keySet() このマップで一連のキーを見つけることができます
put() 指定された値をこのマップ内の指定されたキーに関連付けます。 Map に以前にこのキーのマッピングが含まれていた場合。その後、古い値は指定された値に置き換えられます。
サイズ() キーと値のマッピングの数を返します。
values() このコマンドは、値のコレクション ビューを返します。

グルーヴィーな例:

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

出力

Jen

Groovy- クロージャ

Groovy クロージャーは、オブジェクトとしてラップされたコードです。メソッドまたは関数として機能します。

単純な閉鎖の例

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

出力:

My First Closure

クロージャーはパラメーターを受け入れることができます。 ID のリストはカンマで区切られています

パラメーター リストの終わりを示す矢印 (->)。

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

出力

6

クロージャーは値を返すことができます。

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

出力

6

「It」、「identity」などの多くの組み込みクロージャーがあります。クロージャーは、パラメーターとして他のクロージャーを取ることができます。

Groovy 対。ジャワ

Groovy Java
Groovy では、デフォルトのアクセス指定子は public です。これは、アクセス修飾子が指定されていないメソッドが public であり、クラスとパッケージの境界の外でアクセスできることを意味します。 Java では、デフォルトのアクセス修飾子はパッケージです。つまり、フィールド、メソッド、またはクラスにアクセス修飾子を指定しないと、パッケージ プライベートになります。
ゲッターとセッターは、クラス メンバーに対して自動的に生成されます。 Java、フィールドのゲッターとセッター メソッドを定義する必要があります
Groovy では、文字列で二重引用符を使用して変数を置換できます。 Java は変数置換をサポートしていません。
入力情報はオプションです。 Java では入力情報は必須です。
Groovy はセミコロンで終わる必要はありません。 Java では、すべてのステートメントはセミコロンで終わります。
Groovy は自動的にすべてのプログラムのスクリプトと呼ばれるラッピング クラスになります Java では、クラスを実行可能にするために main メソッドが必要です。

Groovy に関する誤解

神話 現実
Groovy はスクリプト作成のみに使用できます。 スクリプトに使用できます。ただし、それ以外にも多くのタスクを実行できます。
Groovy はクロージャーがすべてです。 「ただの関数型プログラミング言語です。」 Groovy は、Lisp や Closure などの関数型プログラミング言語を採用しています。
TDD を実行する場合、Groovy は理想的な選択肢です この声明は真実です。ただし、Groovy を使用する理由はそれだけではありません。
Grails を使用する場合にのみ、Groovy を使用できます。 Grails は強力な Web 開発フレームワークです。

しかし、Groovy はそれ以上のものを提供します。

Groovy を使用する短所

Groovy ツール

この Groovy スクリプト チュートリアルでは、3 つの重要なツールについて説明します

1. groovysh:コードを対話的に実行します。

2. groovyConsole:インタラクティブなコード実行のための GUI

3. groovy:groovy スクリプトを実行します。 Perl、Python などのように使用できます。

グルーヴィッシュ

Groovy コンソール

グルーヴィー

Groovy のプログラムやスクリプトを実行するプロセッサです。う

単純な Groovy 式のテストに使用できます。

まとめ


Java

  1. Java for ループ
  2. Raspberry Piロボットの構築:初心者向けの最高のチュートリアル
  3. 初心者のためのCNCルーター
  4. 初心者向け Powershell チュートリアル:Powershell スクリプトを学ぶ
  5. C プログラミング言語 PDF:初心者向けの基本チュートリアル
  6. Java Arrays チュートリアル:宣言、作成、初期化 [例]
  7. Java スタックとヒープ:Java メモリ割り当てのチュートリアル
  8. For-Each の例:Java 配列を反復するための強化された for ループ
  9. forループを使用したJAVAプログラムのアームストロング数
  10. while &for ループを使用した Java の回文数プログラム
  11. 初心者のための概要:金属加工とは何ですか?