산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

초보자를 위한 Groovy 스크립트 튜토리얼

Groovy 스크립트란 무엇입니까?

아파치 그루비 Java 플랫폼용으로 구축된 객체 지향 및 Java 구문 호환 프로그래밍 언어입니다. 이 동적 언어에는 Python, Ruby, Smalltalk 및 Pero와 유사한 많은 기능이 있습니다. Groovy 소스 코드는 Java 바이트코드로 컴파일되어 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 Installer를 고수할 것입니다.

3단계) 다운로드한 설치 프로그램을 실행합니다. 언어를 선택하고 확인을 클릭하십시오.

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의 장점은 클래스 생성, 공용 메서드 생성 등을 없애고 다음과 같이 한 줄의 코드로 동일한 출력을 얻을 수 있다는 것입니다.

println "Hello World."

세미콜론은 필요하지 않습니다.

괄호가 필요하지 않습니다.

System.out.println이 println으로 축소되었습니다.

그루비 변수

Java에서는 정적 바인딩이 필수입니다. 변수의 유형을 미리 선언해야 함을 의미합니다.

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

이 Groovy 튜토리얼의 위 예제에서는 "int" 키워드를 사용하여 변수의 유형(정수)을 미리 선언합니다. 부동 소수점 숫자를 선언하려면 float 키워드를 사용합니다.

문자열 값을 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-Operators

연산자는 컴파일러에게 특정 수학적 또는 논리적 조작을 수행하도록 지시하는 기호입니다.

Groovy에는 다음과 같은 5가지 유형의 연산자가 있습니다. –

그루비 루프

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

동일한 단계 방법을 사용할 수 있습니다.

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

Groovy- 의사결정

기만
if 문 자바와 마찬가지로 조건이 참이면 if문이 실행됩니다.
if/else 문 if/else 문에서 처음에는 조건이 if 문에서 평가됩니다. 조건이 참이면 그 이후의 명령문을 실행합니다. else 조건 이전에 멈추고 루프를 종료합니다. 그러나 조건이 false이면 else 문 블록의 문을 실행합니다. 그런 다음 루프를 종료합니다.
중첩 If 문 여러 개의 if 문이 요구될 때 사용됩니다.
Switch 문 중첩된 if-else 문은 여러 조건이 있는 경우 읽을 수 없게 될 수 있습니다. 코드를 더 읽기 쉽게 만들기 위해 switch 문을 사용합니다.
중첩된 Switch 문 Groovy에서는 중첩된 switch 문을 사용할 수도 있습니다.

그루비 목록

목록 구조를 사용하면 데이터 항목 모음을 저장할 수 있습니다. Groovy 프로그래밍 언어에서 List는 일련의 개체 참조를 보유합니다. 또한 시퀀스의 위치를 ​​보여줍니다. 목록 리터럴은 쉼표로 구분되고 대괄호로 묶인 일련의 개체로 표시됩니다.

그로비 목록의 예:

문자열 목록- ['Angular', 'Nodejs,]

개체 참조 목록 - ['Groovy', 2,4 2.6]

정수 값 목록 - [16, 17, 18, 19]

빈 목록- [ ]

다음은 Groovy에서 사용할 수 있는 목록 메서드입니다.

메소드 설명
추가() 이 목록의 끝에 새 값을 추가할 수 있습니다.
포함() 이 목록에 특정 값이 포함되어 있으면 true를 반환합니다.
get() 정확한 위치에 있는 요소를 반환
빈() 목록에 요소가 없으면 true 값을 반환합니다.
빼기() 이 명령을 사용하면 컬렉션에 지정된 요소를 제외한 원본 요소로 구성된 새 목록을 만들 수 있습니다.
플러스() 컬렉션에서 언급된 것과 함께 원본의 요소로 구성된 새 목록을 만들 수 있습니다.
팝() 목록에서 마지막 항목 제거
제거() 특정 위치에 있는 요소 제거
역() 원래 목록의 요소를 뒤집는 새 목록 만들기
크기() 이 목록의 요소 수를 반환합니다.
정렬() 정렬된 사본을 반환

다음 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

그루비 맵

Map Groovy는 키 값 쌍의 모음입니다.

Groovy 맵의 예:

다음은 Groovy에서 사용할 수 있는 지도 방법 목록입니다.

메소드 설명
containsKey() 지도에 이 키가 포함되어 있는지 확인하시겠습니까?
get() 이 명령은 이 맵에서 키를 찾아 해당 값을 반환합니다. 이 지도에서 항목을 찾지 못하면 null을 반환합니다.
keySet() 이 지도에서 키 세트를 찾을 수 있습니다.
put() 지정된 값을 이 맵의 지정된 키와 연결합니다. 이전에 맵에 이 키에 대한 매핑이 포함된 경우. 그러면 이전 값이 지정된 값으로 대체됩니다.
크기() 키-값 매핑의 수를 반환합니다.
값() 이 명령은 값의 컬렉션 보기를 반환합니다.

멋진 예:

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

출력

Jen

Groovy- 클로저

그루비 클로저는 객체로 래핑된 코드 조각입니다. 메소드 또는 기능의 역할을 합니다.

단순 폐쇄의 예

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

출력:

My First Closure

클로저는 매개변수를 받아들일 수 있습니다. 식별 목록은

로 구분된 쉼표입니다.

매개변수 목록의 끝을 표시하는 화살표(->).

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에서 기본 액세스 지정자는 public입니다. 이는 지정된 액세스 한정자가 없는 메서드가 공용이며 클래스 및 패키지 경계 외부에서 액세스할 수 있음을 의미합니다. 자바에서 기본 액세스 수정자는 패키지입니다. 즉, 필드, 메소드 또는 클래스에 대한 액세스 수정자를 지정하지 않으면 패키지 전용이 됩니다.
게터와 세터는 클래스 멤버에 대해 자동으로 생성됩니다. 자바, 필드에 대한 getter 및 setter 메서드를 정의해야 합니다.
Groovy는 문자열에 큰따옴표를 사용하여 변수를 대체할 수 있습니다. 자바는 변수 대체를 지원하지 않습니다.
정보 입력은 선택 사항입니다. 자바에서는 정보를 입력해야 합니다.
Groovy는 세미콜론으로 끝날 필요가 없습니다. 자바에서 모든 문장은 세미콜론으로 끝납니다.
Groovy는 자동으로 모든 프로그램에 대해 Script라는 래핑 클래스입니다. 자바에서 클래스를 실행 가능하게 만들기 위해서는 메인 메소드가 필요합니다.

Groovy에 대한 오해

신화 현실
우리는 스크립팅용으로만 Groovy를 사용할 수 있습니다. 스크립팅에 사용할 수 있습니다. 그러나 그 외에도 많은 다른 작업을 수행할 수 있습니다.
Groovy는 모두 클로저에 관한 것입니다. "그냥 함수형 프로그래밍 언어입니다." Groovy는 Lisp 또는 Closure와 같은 함수형 프로그래밍 언어를 채택했습니다.
TDD를 하고 싶다면 Groovy가 이상적인 선택입니다. 이 말은 사실입니다. 그러나 이것이 Groovy를 사용하는 유일한 이유는 아닙니다.
Grails를 사용하려는 경우에만 Groovy를 사용할 수 있습니다. Grails는 강력한 웹 개발 프레임워크입니다.

그러나 Groovy는 그 이상을 제공합니다.

Groovy 사용의 단점

그루비 도구

이 Groovy 스크립트 자습서에서 3가지 중요한 도구에 대해 설명합니다.

1. groovysh:대화형으로 코드를 실행합니다.

2. groovyConsole:대화형 코드 실행을 위한 GUI

3. groovy:groovy 스크립트를 실행합니다. Perl, Python 등과 같이 사용할 수 있습니다.

그루비시

그루비 콘솔

그루비

Groovy 프로그램과 스크립트를 실행하는 프로세서입니다. U

간단한 Groovy 식을 테스트하는 데 사용할 수 있습니다.

요약


java

  1. 루프용 자바
  2. Raspberry Pi 로봇 빌드:초보자를 위한 최고의 자습서
  3. 초보자를 위한 CNC 라우터
  4. 초보자를 위한 Powershell 튜토리얼:Powershell 스크립팅 배우기
  5. C 프로그래밍 언어 PDF:초보자를 위한 기본 자습서
  6. Java Arrays Tutorial:선언, 생성, 초기화 [예시]
  7. Java 스택 및 힙:Java 메모리 할당 자습서
  8. For 루프를 사용하는 JAVA 프로그램의 암스트롱 번호
  9. while 및 for 루프를 사용하는 Java의 회문 수 프로그램
  10. 초보자를 위한 개요:금속 가공이란 무엇입니까?