In this section, we will cover the fundamental concepts of Groovy programming. By the end of this module, you should have a solid understanding of the basic syntax and features of Groovy, which will serve as the foundation for more advanced topics.

Key Concepts

  1. Groovy Shell (groovysh)
  2. Basic Syntax
  3. Comments
  4. Data Types
  5. Variables
  6. Basic Input/Output

  1. Groovy Shell (groovysh)

The Groovy Shell, or groovysh, is an interactive command-line shell for evaluating Groovy expressions, defining classes, and running scripts. It is a great tool for experimenting with Groovy code.

Example:

$ groovysh
Groovy Shell (2.5.14, JVM: 1.8.0_292)
Type ':help' or ':h' for help.
groovy:000> println 'Hello, Groovy!'
Hello, Groovy!

  1. Basic Syntax

Groovy syntax is similar to Java but with some enhancements and simplifications. Here are some basic syntax rules:

  • Semicolons: Optional at the end of statements.
  • Parentheses: Optional in method calls if there is no ambiguity.
  • Dynamic Typing: Variables can be defined without specifying their type.

Example:

println 'Hello, Groovy!'  // No semicolon needed
def name = 'John'         // Dynamic typing
println "Hello, $name"    // String interpolation

  1. Comments

Comments in Groovy are similar to those in Java.

  • Single-line comments: Use //
  • Multi-line comments: Use /* ... */
  • Documentation comments: Use /** ... */

Example:

// This is a single-line comment

/*
 This is a multi-line comment
 spanning multiple lines
*/

/**
 * This is a documentation comment
 * used for generating API docs
 */

  1. Data Types

Groovy supports various data types, including:

  • Primitive types: int, float, double, char, boolean
  • Wrapper types: Integer, Float, Double, Character, Boolean
  • String: String
  • Collections: List, Map, Set

Example:

int age = 30
double price = 19.99
boolean isActive = true
String greeting = "Hello, Groovy!"
List<Integer> numbers = [1, 2, 3, 4, 5]
Map<String, String> user = [name: 'John', city: 'New York']

  1. Variables

Variables in Groovy can be declared using the def keyword or by specifying the type explicitly.

Example:

def name = 'John'  // Dynamic typing
int age = 30       // Static typing

  1. Basic Input/Output

Groovy provides simple ways to handle input and output.

Example:

// Output
println 'Enter your name:'

// Input
def name = System.console().readLine()
println "Hello, $name!"

Practical Exercises

Exercise 1: Hello World

Write a Groovy script that prints "Hello, World!" to the console.

Solution:

println 'Hello, World!'

Exercise 2: User Input

Write a Groovy script that asks the user for their name and age, then prints a greeting message.

Solution:

println 'Enter your name:'
def name = System.console().readLine()

println 'Enter your age:'
def age = System.console().readLine().toInteger()

println "Hello, $name! You are $age years old."

Exercise 3: Data Types

Create variables of different data types and print their values.

Solution:

int age = 25
double salary = 50000.50
boolean isEmployed = true
String name = 'Alice'
List<String> hobbies = ['Reading', 'Traveling', 'Cooking']
Map<String, String> address = [city: 'New York', country: 'USA']

println "Name: $name"
println "Age: $age"
println "Salary: $salary"
println "Employed: $isEmployed"
println "Hobbies: $hobbies"
println "Address: $address"

Common Mistakes and Tips

  • Forgetting to use def for dynamic variables: Always use def when you don't specify a type.
  • String interpolation: Use double quotes (") for strings that include variables.
  • Input handling: Remember to convert input strings to the appropriate data type.

Conclusion

In this section, we covered the basics of Groovy, including its syntax, data types, variables, and basic input/output operations. These fundamentals are crucial for understanding more advanced topics in Groovy. In the next module, we will delve deeper into Groovy's syntax and language features.

© Copyright 2024. All rights reserved