The Цикл читання-оцінки-друку або REPL це інтерфейс оболонки. Цей інтерфейс читає та оцінює кожен рядок введення, а потім друкує результат. The Цикл читання-оцінки-друку допомагає нам взаємодіяти з нашим середовищем виконання програми, яке знаходиться в певному стані. Команди читаються та оцінюються REPL і роздрукуйте результат. Після друку результату REPL повертається до початку, щоб прочитати, оцінити та надрукувати наш наступний вхід.
Використовуючи REPL, ми можемо легко писати та тестувати наш код Java без його компіляції та бачити вихідні дані безпосередньо на консолі.
Java ще не має REPL?
Звичайно, REPL має бути на усталеній мові, наприклад Java . Але не всі мови мають REPL, і Java є однією з них. Розробникам Java це найбільше потрібно. Деякий час у Java було щось на зразок REPL як Java Beanshell. Але проект не був повнофункціональним REPL з іншими мовами. Для цього в 2016 році була випущена Java 9, яка забезпечує повнофункціональне середовище REPL.
Чому REPL такий корисний?
Використовуючи REPL, нам не потрібно компілювати або тестувати наш код Java за допомогою команди javac. Після використання REPL,
- Для написання програми на Java не потрібен редактор.
- Не потрібно зберігати програму Java.
- Не потрібно компілювати програму Java.
- Не потрібно редагувати, якщо виникає будь-яка помилка під час компіляції чи виконання.
- Не потрібно повторювати процес.
Ми можемо оцінювати методи, класи та заяви без створення класу. Програму «Hello World» також можна написати без створення класу.
попередній обхід дерева
Вимоги до використання REPL
Існує лише одна вимога до використання REPL , тобто ми повинні були Java 9 або вищої версії в нашій системі. Якщо в нашій системі встановлено Java 9, ми готові до використання REPL . Щоб перевірити струм версія Java у вашій системі відкрийте командний рядок і введіть таку команду:
java -version
Використання 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);
опис:
java приводить рядок до int
У першому рядку ми створюємо змінну 'а' типу double і встановлюємо його початкове значення 10. Після цього знаходимо квадрат змінної 'a' і зберігаємо його в тій самій змінній. Після цього ми просто додаємо 20 до змінної 'a'. Jshell помістить результат у тимчасову змінну '' . Далі ми виконуємо '/чий' команда, яка показує нам усі створені змінні. Нарешті ми створюємо змінну 'дані' типу double і збереження 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)); ...> }
опис:
У перших шести рядках коду ми створюємо метод для ряду Фібоначчі. Після цього використовуємо /методи команду Jshell, яка показує нам усі доступні методи. У наступних двох рядках ми перевіряємо fibo() метод шляхом передачі цілих значень. Створюємо масив обр щоб визначити, скільки членів ми хочемо отримати в ряді Фібоначчі. Далі ми повторюємо кожне значення arr, використовуючи для кожного циклу. Ми передаємо кожне значення arr методу fibo() і друкуємо його повернуте значення.
Вихід:
Приклад 3: REPL для повторного використання
jshell> int fibo(int no){ ...> return 2; ...> } jshell> for(int i: arr){ ...> System.out.println(fibo(i)); ...> }
опис:
C++ графічний інтерфейс
У наведеному вище коді ми створюємо метод fibo() з тим самим типом повернення та аргументом, які ми створили раніше. У цей час Jshell замінює попередній 'fibo()' метод з поточним. Далі ми передаємо кожне значення arr у функцію, щоб перевірити, чи є наш метод fibo() перевизначеним чи ні.
Вихід:
Приклад 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();
опис:
перетворення рядка в дату
У наведеному вище коді ми створюємо два екземпляри класу та передаємо значення конструктору для всіх змінних класу. Далі ми запускаємо команду Jshell, щоб перевірити, чи створено змінні s1 і s2. Нарешті, ми викликаємо метод showData() для відображення даних кожного екземпляра.
Вихід: