100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
Programming

Your First Groovy Script

A hands-on introduction to writing, running, and iterating on a Groovy script - from Hello World to command-line arguments and interactive REPL tools.

FoundationsBeginner6 min readJul 10, 2026
Analogies

Your First Groovy Script

Unlike Java, which requires every piece of executable code to live inside a class with a public static void main(String[] args) entry point, Groovy scripts let you write top-level statements directly in a .groovy file and run them immediately. A file containing nothing but println "Hello, Groovy!" is a complete, runnable Groovy program. This scripting-style entry point is what makes Groovy approachable for quick tasks - one-off data transformations, build logic, or exploratory testing - without paying Java's structural overhead for something that doesn't need a full class hierarchy.

🏏

Cricket analogy: Like a quick backyard match that doesn't need a full stadium, umpires, or a toss ceremony to get started, a Groovy script lets you write top-level statements like println "Hello" directly without wrapping them in a class the way Java requires.

Writing and Running Hello World

To write your first script, create a file named HelloWorld.groovy containing a single line: println "Hello, Groovy!". Run it from a terminal with groovy HelloWorld.groovy, and Groovy will print the greeting to standard output. Behind the scenes, the Groovy compiler wraps your top-level statements in an implicitly generated class that extends groovy.lang.Script, complete with its own main method - you never see or write that scaffolding, but it's what actually executes on the JVM. This is why a Groovy script file can later be refactored into an explicit class with methods without changing how it's invoked from the command line.

🏏

Cricket analogy: Like a net practice session where the ball is bowled and hit without any formal match setup, running groovy HelloWorld.groovy executes println "Hello, Groovy!" directly, with Groovy silently wrapping it in an implicit Script class behind the scenes.

groovy
// HelloWorld.groovy
println "Hello, Groovy!"
bash
$ groovy HelloWorld.groovy
Hello, Groovy!

Working with Command-Line Arguments

Groovy scripts have implicit access to an args array (a String[], same as Java's) representing whatever values were passed after the script name on the command line - no declaration needed, it's simply available. Running groovy Sum.groovy 3 5 7 makes args equal to ["3", "5", "7"] inside the script. Since these come in as strings, numeric arguments need explicit conversion, typically with .toInteger() or .toDouble(), before doing arithmetic. Combined with args.each { ... } or a simple for loop, this makes it straightforward to turn a Groovy script into a small, reusable command-line utility.

🏏

Cricket analogy: Like a scorer noting down each ball bowled in an over as a running list, a Groovy script accesses command-line input through the implicit args array, so groovy Sum.groovy 3 5 7 lets args hold ["3", "5", "7"] for the script to sum.

groovy
// Sum.groovy - sums numbers passed as command-line arguments
def total = 0
args.each { value ->
    total += value.toInteger()
}
println "Total: ${total}"
bash
$ groovy Sum.groovy 3 5 7
Total: 15

Interactive Exploration with groovysh and groovyConsole

Beyond saving and running .groovy files, Groovy ships with two interactive tools well-suited to experimentation. groovysh is a command-line REPL: launch it, and you can type one Groovy statement at a time, seeing its result printed immediately, which is ideal for quickly checking how a method like [1,2,3].sum() or a regex pattern behaves before committing it to a real script. groovyConsole is a lightweight GUI application with a text editor pane and an output pane, letting you write, edit, and re-run a full multi-line script repeatedly while inspecting results - a comfortable environment for prototyping before moving code into a proper project file.

🏏

Cricket analogy: Like a net session where a batsman tries out one shot at a time with a bowling machine, groovysh lets you type one line of Groovy at a time and see immediate results, while groovyConsole is more like a full practice match where you write and run multi-line scripts.

For truly quick one-liners, you don't even need to save a file - groovy -e "println 2 + 2" executes an inline expression directly from the command line and prints the result, which is handy for scripting inside shell pipelines or CI steps.

  • Groovy scripts run top-level statements directly, with no class or main method boilerplate required.
  • groovy ScriptName.groovy compiles and runs a script file; Groovy implicitly wraps it in a Script class behind the scenes.
  • The implicit args array (String[]) gives a script access to command-line arguments with no declaration needed.
  • Numeric command-line arguments arrive as strings and must be converted explicitly, e.g. with .toInteger().
  • groovysh is a line-by-line REPL; groovyConsole is a GUI editor for writing and re-running multi-line scripts.
  • groovy -e "<code>" runs an inline one-liner without needing a saved file.

Practice what you learned

Was this page helpful?

Topics covered

#Programming#GroovyStudyNotes#YourFirstGroovyScript#Groovy#Script#Writing#Running#StudyNotes#SkillVeris#ExamPrep