Тхе Реад-Евал-Принт Лооп или РЕПЛ је интерфејс љуске. Овај интерфејс чита и процењује сваки ред уноса, а затим штампа резултат. Тхе Реад-Евал-Принт Лооп помаже нам да ступимо у интеракцију са нашим рунтиме-ом који је присутан у одређеном стању. Команде читају и процењују РЕПЛ и одштампајте резултат. Након штампања резултата, РЕПЛ се враћа на почетак да прочита, процени и одштампа наш следећи унос.
Користећи РЕПЛ, можемо лако писати и тестирати наш Јава код без компајлирања и можемо видети излаз директно на конзоли.
Јава већ нема РЕПЛ?
Дефинитивно, РЕПЛ мора бити на устаљеном језику као што је Јава . Али, немају сви језици РЕПЛ, а Јава је један од њих. Јава програмери су то највише захтевали. Јава је већ неко време имала нешто попут РЕПЛ-а као Јава Беансхелл. Али пројекат није био потпуно опремљен РЕПЛ са другим језицима. За ово је 2016. објављена Јава 9, која пружа пуно функционално РЕПЛ окружење.
Зашто је РЕПЛ толико користан?
Коришћењем РЕПЛ-а, не морамо да компајлирамо или тестирамо наш Јава код помоћу команде јавац. Након употребе РЕПЛ-а,
- Није потребан уређивач за писање Јава програма.
- Нема потребе за чувањем Јава програма.
- Нема потребе за компајлирањем Јава програма.
- Нема потребе за уређивањем ако дође до грешке у времену компајлирања или извођења.
- Нема потребе да понављате процес.
Можемо да проценимо методе, класе и исказе без креирања класе. Програм 'Хелло Ворлд' се такође може написати без прављења класе.
ц# туториал
Захтеви за коришћење РЕПЛ-а
Постоји само један захтев за коришћење РЕПЛ тј. требало би да имамо Јава 9 или новију верзију у нашем систему. Ако је Јава 9 инсталирана у нашем систему, спремни смо за употребу РЕПЛ . Да би се проверила струја верзија Јаве у вашем систему, отворите командну линију и откуцајте следећу команду:
java -version
Коришћење РЕПЛ
Испод су неки примери РЕПЛ-а у којима процењујемо математичке изразе, израчунавамо Фибоначијев низ, креирамо динамичку класу, познајемо историју и мењамо класу.
јава са замахом
Пример 1: Вредновање математичких израза
jshell> double a = 10; jshell> a= Math.pow(a, 2); jshell> a+20 jshell> /vars jshell> double data = Math.pow(8.3, 5);
Опис:
У првом реду креирамо променљиву 'а' типа доубле и постављамо његову почетну вредност 10. Након тога налазимо квадрат променљиве 'а' и смештамо га у исту променљиву. Након тога, једноставно додамо 20 променљивој 'а'. Јсхелл ће ставити резултат у привремену променљиву '' . Затим извршавамо '/чији' команду, која нам показује све креиране варијабле. Коначно, креирамо променљиву 'подаци' типа доубле и сачувајте 5тхснага цифре 8.3.
Излаз:
сањаи дутт анд
Пример 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)); ...> }
Опис:
У првих шест редова кода креирамо метод за Фибоначијев низ. Након тога користимо /метходс команду Јсхелл-а, која нам показује све доступне методе. У следећа два реда тестирамо фибо() метод преношењем целобројних вредности. Креирамо низ арр да одредимо колико појмова желимо да добијемо Фибоначијев низ. Затим понављамо сваку вредност арр користећи за сваку петљу. Сваку вредност арр прослеђујемо методи фибо() и штампамо њену повратну вредност.
Излаз:
Пример 3: РЕПЛ за поновну употребу
jshell> int fibo(int no){ ...> return 2; ...> } jshell> for(int i: arr){ ...> System.out.println(fibo(i)); ...> }
Опис:
У горњем коду креирамо метод фибо() са истим типом поврата и аргументом које смо креирали раније. У овом тренутку, Јсхелл надјачава претходни 'фибо()' метод са актуелним. Затим, сваку вредност арр-а прослеђујемо функцији да бисмо осигурали да ли је наш метод фибо() замењен или не.
Излаз:
Пример 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); ...> } ...> }
Опис:
У горњем коду креирамо класу 'Ученик' , који имају Име, узраст, курс и семестар. Креирамо конструктор у коме постављамо вредности овим променљивим. Након конструктора, креирамо метод који показује вредност свих променљивих за сваку инстанцу класе.
Излаз:
Пример 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();
Опис:
компјутер измислио које године
У горњем коду креирамо две инстанце класе и прослеђујемо вредност конструктору за све варијабле класе. Затим покрећемо команду Јсхелл да проверимо да ли су променљиве с1 и с2 креиране или не. Коначно, позивамо метод сховДата() да прикажемо податке сваке инстанце.
Излаз: