Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Groovy Script-zelfstudie voor beginners

Wat is een Groovy-script?

Apache Groovy is een objectgeoriënteerde programmeertaal die compatibel is met Java-syntaxis en is gebouwd voor het Java-platform. Deze dynamische taal heeft veel functies die vergelijkbaar zijn met Python, Ruby, Smalltalk en Pero. Groovy-broncode wordt gecompileerd in Java Bytecode, zodat het kan worden uitgevoerd op elk platform waarop JRE is geïnstalleerd. Groovy voert ook veel taken achter de schermen uit waardoor het wendbaarder en dynamischer wordt.

Groovy-taal kan worden gebruikt als scripttaal voor het Java-platform. Het is bijna een superversie van Java die de zakelijke mogelijkheden van Java biedt. Het biedt ook veel productiviteitsfuncties zoals DSL-ondersteuning, sluitingen en dynamisch typen. In tegenstelling tot sommige andere talen, is het ontworpen als een aanvulling, niet als vervanging voor Java.

Waarom Groovy?

Hier zijn de belangrijkste redenen waarom u Groovy-

. zou moeten gebruiken en leren
  • Groovy is een behendige en dynamische taal
  • Naadloze integratie met alle bestaande Java-objecten en bibliotheken
  • Voelt gemakkelijk en natuurlijk aan voor Java-ontwikkelaars
  • Beknopte en betekenisvollere code in vergelijking met Java
  • Je kunt het zo veel of zo weinig gebruiken als je wilt met Java-apps

Groovy geschiedenis

  • 2003:Ontwikkeld door Bob McWhirter &James Strachan
  • 2004:Opgedragen aan JSR 241 maar het werd verlaten
  • 2005:Teruggebracht door Jeremy Rayner &Guillaume Laforge
  • 2007:Groovy versie 1.0
  • 2012:Groovy versie 2
  • 2014:Groovy versie 2.3 (officiële ondersteuning voor JDK 8)
  • 2015:Groovy werd een project bij de Apache Software Foundation

Kenmerken van Groovy

  • Lijst, kaart, bereik, letterlijke uitdrukkingen voor reguliere expressies
  • Multimethode en metaprogrammering
  • Groovy-klassen en scripts worden meestal opgeslagen in .groovy-bestanden
  • Scripts bevatten Groovy-statements zonder enige klassedeclaratie.
  • Scripts kunnen ook methodedefinities bevatten buiten klassedefinities.
  • Het kan worden gecompileerd en volledig worden geïntegreerd met de traditionele Java-toepassing.
  • Ondersteuning op taalniveau voor kaarten, lijsten, reguliere expressies
  • Ondersteunt sluitingen, dynamisch typen, metaobjectprotocol
  • Ondersteuning voor statisch en dynamisch typen en overbelasting door operators
  • Letterlijke declaratie voor lijsten (arrays), kaarten, bereiken en reguliere expressies

Hoe Groovy te installeren

Stap 1) Zorg ervoor dat Java is geïnstalleerd. https://www.guru99.com/install-java.html

Stap 2) Ga naar http://groovy-lang.org/download.html en klik op installer.

Opmerking:u kunt Groovy ook installeren met behulp van het Zip-bestand of als een Eclipse IDE. In deze Groovy-zelfstudie houden we het bij Windows Installer

Stap 3) Start het gedownloade installatieprogramma. Selecteer de taal en klik op OK

Stap 4) Launch. Klik in het welkomstscherm op VOLGENDE

Stap 5) Ga akkoord met de licentievoorwaarden

Stap 6) Selecteer componenten die u wilt installeren en klik op VOLGENDE

Stap 7) Selecteer Installatiemap en klik op VOLGENDE

Stap 8) Kies Start Menu Map en klik op VOLGENDE

Stap 9) Zodra de installatie is voltooid, laat u de paden standaard en klikt u op VOLGENDE

Stap 10) Klik op VOLGENDE

Stap 11) Zoek in het startmenu naar Groovy Console

Groovy Hello World-voorbeeld

Overweeg dat we een eenvoudige tekenreeks "Hallo wereld" in Java willen afdrukken. De code om de string Groovy hallo wereld te bereiken zou zijn

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

De bovenstaande code is geldig in zowel Java als Groovy, aangezien Groovy een superset van Java is. Maar het voordeel van Groovy is dat we het maken van klassen, het maken van openbare methoden, enz. Kunnen elimineren en als volgt dezelfde uitvoer kunnen bereiken met een enkele regelcode:

println "Hello World."

Puntkomma's zijn niet nodig

Er zijn geen haakjes nodig

System.out.println wordt gereduceerd tot println

Groovy-variabelen

In Java is statische binding verplicht. Dit betekent dat het type van een variabele vooraf moet worden aangegeven.

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

In het bovenstaande voorbeeld van deze Groovy-zelfstudie wordt het type variabele (integer) vooraf gedeclareerd met het trefwoord "int". Als u een getal met drijvende komma zou declareren, gebruikt u het trefwoord float.

Als u een String-waarde probeert toe te wijzen aan een int (uncomment-regel #5), krijgt u de volgende foutmelding

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

Groovy daarentegen ondersteunt dynamisch typen. Variabelen worden gedefinieerd met het trefwoord 'def' en het type variabele hoeft niet van tevoren te worden aangegeven. De compiler berekent het variabeletype tijdens runtime en u kunt zelfs het variabeletype bepalen.

Beschouw het volgende groovy voorbeeld,

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

Uitgang

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

In Groovy kun je strings met meerdere regels maken. Zorg ervoor dat u de String tussen drievoudige aanhalingstekens plaatst.

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

Uitgang

Groovy
at
Guru99

Opmerking :Je kunt nog steeds variabele typen zoals byte, short, int, long, etc met Groovy. Maar u kunt het variabeletype niet dynamisch wijzigen zoals u het expliciet hebt aangegeven.

Overweeg de volgende code:

int x = 104
println x
x = "Guru99"

Het geeft de volgende fout

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-Operators

Een operator is een symbool dat de compiler vertelt om bepaalde wiskundige of logische manipulaties uit te voeren.

Groovy heeft de volgende vijf soorten operators –

  • Rekenkundige operatoren:optellen (+), aftrekken (-), vermenigvuldigen (*), delen (/)
  • Relationele operatoren:gelijk aan (==), Niet gelijk aan (!=), Kleiner dan (<) Kleiner dan of gelijk aan (<=), Groter dan (>), Groter dan of gelijk aan (>=)
  • Logische operatoren:And (&&), Or(||), Not(!)
  • Bitwise-operators:And(&), Or(|), (^), Xor of Exclusive-or-operator
  • Opdrachtoperatoren:ontkenningsoperator (~)

Groovy-Loops

In Java zou u een lus als volgt definiëren

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

Uitgang

0
1
2
3
4

U kunt dezelfde output in Groovy bereiken met maximaal trefwoorden

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

Je krijgt dezelfde output als hierboven. $it is een sluiting die de waarde van de huidige lus geeft.

Overweeg de volgende code

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

Het geeft een output

2
3
4

U kunt ook het trefwoord "tijden" gebruiken om dezelfde output te krijgen

5.times{println "$it"}

Overweeg, u wilt 0,2,4 afdrukken met for loop in Java

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

Uitgang:

0
2
4

U kunt de stapmethode voor hetzelfde gebruiken

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

Groovy- Besluitvorming

Uitspraken Misleiding
if-statement Net als in Java wordt het if-statement uitgevoerd als de voorwaarde waar is.
if/else-verklaring In if/else-statement wordt eerst een voorwaarde geëvalueerd in het if-statement. Als de voorwaarde waar is, worden de instructies daarna uitgevoerd. Het stopt voor de else-voorwaarde en verlaat de lus. Als de voorwaarde echter onwaar is, worden de instructies in het else-instructieblok uitgevoerd. Dan verlaat het de lus.
Geneste If-instructie Het wordt gebruikt wanneer er een vereiste is om meerdere if-statements te hebben.
Switchverklaring Het geneste if-else statement kan onleesbaar worden als je meerdere voorwaarden hebt. Om de code leesbaarder te maken, wordt een switch-statement gebruikt.
Instructie geneste switch In Groovy is het ook mogelijk om geneste schakelinstructies te gebruiken.

Groovy-lijst

Lijststructuur stelt u in staat een verzameling gegevensitems op te slaan. In een Groovy-programmeertaal bevat de lijst een reeks objectverwijzingen. Het toont ook een positie in de reeks. Een letterlijke lijst wordt gepresenteerd als een reeks objecten gescheiden door komma's en tussen vierkante haken geplaatst.

Voorbeeld van Grovy-lijst:

Een lijst met Strings- ['Angular', 'Nodejs,]

Een lijst met objectreferenties – [‘Groovy’, 2,4 2.6]

Een lijst met gehele waarden – [16, 17, 18, 19]

Een lege lijst- [ ]

Hieronder volgen lijstmethoden die beschikbaar zijn in Groovy:

Methoden Beschrijving
add() Hiermee kunt u de nieuwe waarde aan het einde van deze lijst toevoegen.
bevat() Retourneert waar als deze lijst een bepaalde waarde bevat.
get() Retourneert het element op de definitieve positie
isEmpty() Retourneert ware waarde als Lijst geen elementen bevat
min() Met deze opdracht kunt u een nieuwe lijst maken die is samengesteld uit de elementen van het origineel, met uitzondering van de elementen die in de verzameling zijn opgegeven.
plus() Hiermee kunt u een nieuwe lijst maken die is samengesteld uit de elementen van het origineel en die in de verzameling zijn vermeld.
pop() Verwijdert het laatste item uit de lijst
verwijder() Verwijdert het element op de specifieke positie
reverse() Maak een nieuwe lijst die de elementen van de originele lijst omdraait
maat() Retourneert het aantal elementen in deze lijst
sort() Retourneert een gesorteerde kopie

Overweeg het volgende Groovy-scriptvoorbeeld

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

Uitgang

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

Groovy Maps

A Map Groovy is een verzameling sleutelwaardeparen

Voorbeelden van Groovy-kaarten:

  • [Tutorial:'Java, Tutorial:'Groovy] - Verzameling van sleutel-waardeparen met Tutorial als de sleutel en hun respectieve waarden
  • [ :] Vertegenwoordig een lege kaart

Hier is een lijst met kaartmethoden die beschikbaar zijn in Groovy.

Methoden Beschrijving
bevatKey() Controleren of de kaart deze sleutel bevat of niet?
get() Dit commando zoekt de sleutel op in deze map en geeft de corresponderende waarde terug. Als u geen vermelding op deze kaart vindt, wordt null geretourneerd.
keySet() Hiermee kunt u een reeks sleutels in deze kaart vinden
put() Koppelt de opgegeven waarde aan de gegeven sleutel in deze kaart. Als de kaart eerder een toewijzing voor deze sleutel bevatte. Dan wordt de oude waarde vervangen door de opgegeven waarde.
maat() Retourneert het aantal sleutel/waarde-toewijzingen.
waarden() Deze opdracht retourneert een verzamelingsweergave van de waarden.

Groovy voorbeeld:

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

Uitgang

Jen

Groovy- Sluitingen

Een groovy sluiting is een stukje code dat als een object is verpakt. Het fungeert als een methode of een functie.

Voorbeeld van eenvoudige sluiting

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

Uitgang:

My First Closure

Een sluiting kan parameters accepteren. De lijst met identificaties wordt door komma's gescheiden met

een pijl (->) die het einde van de parameterlijst aangeeft.

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

Uitgang

6

Een sluiting kan een waarde retourneren.

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

Uitgang

6

Er zijn veel ingebouwde sluitingen zoals "Het", "identiteit", enz. Sluitingen kunnen andere sluitingen als parameters nemen.

Groovy Vs. Java

Groovy Java
In Groovy is de standaard toegangsspecificatie openbaar. Het betekent dat een methode zonder een specifieke toegangsmodifier openbaar is en toegankelijk is buiten de klassen- en pakketgrenzen. In Java is de standaard toegangsmodifier een pakket, d.w.z. als je geen toegangsmodifier opgeeft voor velden, methoden of klasse, wordt het pakket-private,
Getters en setters worden automatisch gegenereerd voor klasleden. Java, je moet de getters en setters methode voor velden definiëren
Groovy staat variabele vervanging toe met dubbele aanhalingstekens met strings. Java ondersteunt geen vervanging van variabelen.
Het typen van informatie is optioneel. Het typen van informatie is verplicht in Java.
Groovy, het is niet verplicht om te eindigen met een puntkomma. In Java eindigt elke instructie met een puntkomma.
Groovy is automatisch een inpakklasse genaamd Script voor elk programma In Java heb je de hoofdmethode nodig om een ​​klasse uitvoerbaar te maken.

Mythen over Groovy

Mythe Realiteit
We kunnen Groovy alleen gebruiken voor scripting. Het kan gebruikt worden voor scripting. U kunt er echter nog vele andere taken naast uitvoeren.
Bij Groovy draait alles om sluitingen. "Het is gewoon functionele programmeertaal." Groovy neemt over van functionele programmeertalen zoals Lisp of Closure.
Groovy is een ideale keuze als je TDD wilt doen Deze bewering is waar. Het is echter zeker niet de enige reden om Groovy te gebruiken.
Je kunt Groovy alleen gebruiken als je Grails wilt gebruiken. Grails is een krachtig framework voor webontwikkeling.

Maar Groovy biedt meer dan dat.

Nadelen van het gebruik van Groovy

  • JVM en Groovy script starttijd is traag, wat scripting op OS-niveau beperkt
  • Groovy wordt niet helemaal geaccepteerd in andere communities.
  • Het is niet handig om Groovy te gebruiken zonder IDE te gebruiken
  • Groovy kan langzamer zijn, wat de ontwikkeltijd verlengt
  • Groovy heeft mogelijk veel geheugen nodig
  • Kennis van Java is noodzakelijk.

Groovy-tools

We zullen 3 belangrijke tools bespreken in deze Groovy script-tutorial

1. groovysh:voert code interactief uit.

2. groovyConsole:GUI voor het uitvoeren van interactieve code

3. groovy:Voert groovy scripts uit. Je kunt het gebruiken zoals Perl, Python, enz.

Groovysh

  • opdrachtregelshell
  • Helpt u om Groovy-code interactief uit te voeren
  • Staat het invoeren van instructies of hele scripts toe

Groovy-console

  • Swing-interface die fungeert als een minimale Groovy-ontwikkelingseditor.
  • Hiermee kun je Groovy-code gebruiken
  • Helpt u bij het laden en uitvoeren van Groovy-scriptbestanden

Groovy

Het is de processor die Groovy-programma's en -scripts uitvoert. U

Het kan worden gebruikt om eenvoudige Groovy-expressies te testen.

Samenvatting

  • Groovy is een objectgeoriënteerde programmeertaal die wordt gebruikt voor het Java-platform
  • Groovy-scripting biedt naadloze integratie met alle bestaande Java-objecten en -bibliotheken
  • Bob McWhirter &James Strachan ontwikkelden groovy in 2003
  • Lijst, kaart, bereik, letterlijke uitdrukkingen van reguliere expressies zijn belangrijke kenmerken van Groovy
  • Vier typen operators die door Groovy worden ondersteund zijn 1. Relationeel 2.Logisch 3. Bitgewijs 4. Toewijzing
  • Groovy voerde de besluitvorming uit met behulp van if, if/else, Nested if, switch, Netsted switch-statements
  • Lijststructuur stelt u in staat een verzameling gegevensitems op te slaan
  • A Map Groovy is een verzameling sleutelwaardeparen
  • In Groovy worden Getters en setters automatisch gegenereerd voor klasleden
  • In Java kunt u de methode getters en setters voor velden gebruiken
  • De grootste mythe over Groovy is dat het alleen kan worden gebruikt voor scripts die niet correct zijn
  • Er is een tijd dat Groovy langzamer kan zijn, waardoor de ontwikkeltijd is toegenomen
  • Drie Groovy Tools zijn:groovysh die code uitvoert, groovy Console die GUI is voor interactieve code-uitvoering en groovy die scripts uitvoert

Java

  1. Java voor Loop
  2. Bouw Raspberry Pi-robots:de beste tutorial voor beginners
  3. CNC-routers voor beginners
  4. Powershell-zelfstudie voor beginners:leer Powershell-scripting
  5. C Programmeertaal PDF:Basishandleiding voor beginners
  6. Zelfstudie Java-arrays:declareren, maken, initialiseren [voorbeeld]
  7. Java Stack and Heap:zelfstudie over Java-geheugentoewijzing
  8. Voor elk voorbeeld:Verbeterd voor lus om Java-array te herhalen
  9. Armstrong-nummer in JAVA-programma met For Loop
  10. Palindroomnummerprogramma in Java While &for Loop gebruiken
  11. Een overzicht voor beginners:wat is metaalbewerking?