logo

Java의 REPL(읽기-평가-인쇄 루프)

그만큼 읽기-평가-인쇄 루프 또는 REPL 쉘 인터페이스입니다. 이 인터페이스는 각 입력 줄을 읽고 평가한 다음 결과를 인쇄합니다. 그만큼 읽기-평가-인쇄 루프 특정 상태에 있는 애플리케이션 런타임과 상호 작용하는 데 도움이 됩니다. 명령은 다음에 의해 읽고 평가됩니다. REPL 그리고 결과를 인쇄해 보세요. 결과를 인쇄한 후 REPL은 시작 부분으로 돌아가 다음 입력을 읽고 평가하고 인쇄합니다.

Java의 REPL(읽기-평가-인쇄 루프)

REPL을 사용하면 Java 코드를 컴파일하지 않고도 쉽게 작성하고 테스트할 수 있으며 콘솔에서 직접 출력을 볼 수 있습니다.

Java에는 아직 REPL이 없나요?

확실히 REPL은 다음과 같은 확립된 언어로 되어 있어야 합니다. 자바 . 그러나 모든 언어에 REPL이 있는 것은 아니며 Java도 그 중 하나입니다. Java 개발자는 이를 가장 요구했습니다. Java에는 한동안 Java Beanshell과 같은 REPL과 같은 기능이 있었습니다. 그러나 이 프로젝트는 다른 언어에 대한 완전한 기능을 갖춘 REPL이 아니었습니다. 이를 위해 2016년에는 완전한 REPL 환경 기능을 제공하는 Java 9가 출시되었습니다.

REPL이 왜 그렇게 도움이 되나요?

REPL을 사용하면 javac 명령을 사용하여 Java 코드를 컴파일하거나 테스트할 필요가 없습니다. REPL을 사용한 후,

  1. Java 프로그램을 작성하기 위해 편집기가 필요하지 않습니다.
  2. Java 프로그램을 저장할 필요가 없습니다.
  3. Java 프로그램을 컴파일할 필요가 없습니다.
  4. 컴파일 시간이나 런타임 오류가 발생하면 편집할 필요가 없습니다.
  5. 과정을 반복할 필요가 없습니다.
Java의 REPL(읽기-평가-인쇄 루프)

클래스를 만들지 않고도 메서드, 클래스 및 명령문을 평가할 수 있습니다. 'Hello World' 프로그램은 클래스를 생성하지 않고도 작성할 수도 있습니다.

라텍스의 글꼴 크기

REPL 사용을 위한 요구 사항

사용 조건은 단 하나입니다. REPL 즉, 우리는 자바 9 또는 우리 시스템의 더 높은 버전. Java 9가 시스템에 설치되어 있으면 사용할 준비가 된 것입니다. REPL . 현재 상태를 확인하기 위해 자바 버전 시스템에서 명령 프롬프트를 열고 다음 명령을 입력하십시오.

자바 문자열을 정수로 변환
 java -version 

Java의 REPL(읽기-평가-인쇄 루프)

REPL 사용

다음은 수학적 표현식을 평가하고, 피보나치 수열을 계산하고, 동적 클래스를 생성하고, 기록을 알고, 클래스를 수정하는 REPL의 몇 가지 예입니다.

예 1: 수학적 표현식 평가

 jshell> double a = 10; jshell> a= Math.pow(a, 2); jshell> a+20 jshell> /vars jshell> double data = Math.pow(8.3, 5); 

설명:

첫 번째 줄에서는 변수를 만듭니다. 'ㅏ' double 유형을 사용하고 초기 값을 10으로 설정합니다. 그런 다음 변수 'a'의 제곱을 찾아 동일한 변수에 저장합니다. 그런 다음 변수 'a'에 20을 추가하면 됩니다. Jshell은 결과를 임시 변수에 넣습니다. '' . 다음으로 우리는 '/누구의' 생성된 모든 변수를 보여주는 명령입니다. 마지막으로 변수를 생성합니다. '데이터' double 유형이고 5를 저장합니다.숫자의 거듭제곱 8.3.

산출:

리눅스에서 내보내기 명령은 무엇입니까
Java의 REPL(읽기-평가-인쇄 루프)

예 2: 피보나치 수열 계산

 jshell> int fibo(int no) (no == 1)) ...> return no;e all possible completions; total possible completions ...> else ...> return fibo(no-1)+fibo(no-2); ...> jshell> /methods jshell> fibo(11) jshell> fibo(12) jshell> int[] arr = { 1,2,3,4,5,6}; jshell> for(int i: arr){ ...> System.out.println(fibo(i)); ...> } 

설명:

코드의 처음 6줄에서는 피보나치 수열에 대한 메서드를 만듭니다. 그 후, 우리는 /행동 양식 사용 가능한 모든 메소드를 보여주는 Jshell의 명령입니다. 다음 두 줄에서는 다음을 테스트합니다. 피보() 정수 값을 전달하는 방법입니다. 우리는 배열을 만듭니다 도착 피보나치 수열을 구하려는 항 수를 결정합니다. 다음으로 각 루프를 사용하여 arr의 각 값을 반복합니다. arr의 각 값을 fibo() 메서드에 전달하고 반환 값을 인쇄합니다.

산출:

Java의 REPL(읽기-평가-인쇄 루프)

예시 3: 재사용을 위한 REPL

 jshell> int fibo(int no){ ...> return 2; ...> } jshell> for(int i: arr){ ...> System.out.println(fibo(i)); ...> } 

설명:

위 코드에서는 이전에 생성한 것과 동일한 반환 유형과 인수를 사용하여 fibo() 메서드를 생성합니다. 이때 Jshell은 이전 버전을 재정의합니다. '파이보()' 현재의 방법으로. 다음으로, arr의 각 값을 함수에 전달하여 fibo() 메서드가 재정의되는지 여부를 확인합니다.

산출:

문자열을 정수로 변환하는 방법
Java의 REPL(읽기-평가-인쇄 루프)

예제 4: 클래스 정의

 jshell> class Student{ ...> public String Name; ...> public int age; ...> public String course; ...> public int semester; ...> public Student(String Name, int age, String course, int semester){ ...> this.Name=Name; ...> this.age=age; ...> this.course = course; ...> this.semester=semester; ...> } ...> public void showData(){ ...> System.out.println('Name= '+ Name); ...> System.out.println('Age= '+ age); ...> System.out.println('Course= '+ course); ...> System.out.println('Semester= '+semester); ...> } ...> } 

설명:

위 코드에서는 클래스를 생성합니다. '학생' , 이름, 나이, 과목, 학기 등이 있습니다. 이러한 변수에 값을 설정하는 생성자를 만듭니다. 생성자 뒤에는 클래스의 각 인스턴스에 대한 모든 변수의 값을 표시하는 메서드를 만듭니다.

산출:

Java의 REPL(읽기-평가-인쇄 루프)

예제 5: 클래스의 인스턴스 생성

 jshell> Student s1 = new Student( 'Shubham Rastogi', 18, 'MCA', 4); jshell> Student s2 = new Student( 'Kartik Rastogi', 23, 'MCA', 3); jshell> /vars jshell> s1.showData(); jshell> s2.showData(); 

설명:

우선순위 큐 자바

위 코드에서는 클래스의 두 인스턴스를 생성하고 모든 클래스 변수에 대한 생성자에 값을 전달합니다. 다음으로 Jshell 명령을 실행하여 s1 및 s2 변수가 생성되었는지 확인합니다. 마지막으로 showData() 메서드를 호출하여 각 인스턴스의 데이터를 표시합니다.

산출:

Java의 REPL(읽기-평가-인쇄 루프)