Зміст курсу
Java ООП
Java ООП
Основні Функції Редактора Коду
Функціональні можливості
Розглянемо коротко допоміжний функціонал IntelliJ IDEA:
Обробка помилок
Наше завдання — написати метод, який приймає string і сортує всі літери в ньому у алфавітному порядку. Під час написання цього методу ми ознайомимося з можливостями нашої IDE. Сигнатура методу вже задана, але IDEA підсвічує синтаксичну помилку. Якщо навести курсор на цю помилку, можна побачити, у чому проблема: ми не додали ключове слово return
з типом, який повертає метод. IDEA також пропонує виправити це, натиснувши одну кнопку.
Note
Синтаксична помилка — це помилка, яка вказує на некоректний синтаксис у коді. Наприклад, якщо ми хочемо оголосити змінну типу
String
і замістьString variable
напишемоSrting variable
, це буде синтаксична помилка.
Також, у верхньому правому куті видно одну синтаксичну помилку та одне попередження. Натиснувши на цю кнопку, відкриється консоль, де буде показано список помилок у форматі: "назва помилки: рядок, де виявлено цю помилку." У нашому випадку це missing return statement: 9
.
Підказки коду
Спочатку створюємо змінну типу String
. Коли починаємо вводити з літери "S", бачимо диво — IntelliJ IDEA автоматично пропонує варіанти. Можна переміщатися між підказками за допомогою стрілок на клавіатурі. Щоб вибрати потрібний варіант, натискаємо клавішу "tab", і IntelliJ IDEA автоматично завершує написання за нас.
Note
Такі підказки автозавершення з'являтимуться дуже часто і майже для всього. Рекомендую спробувати написати різні програми самостійно, і ви побачите, наскільки це спрощує та автоматизує роботу.
Підказки методів
Далі потрібно створити масив типу String
і помістити в нього кожен символ string
з параметра. Для цього скористаємося методом split()
. Коли ставимо крапку для виклику методу, знову з'являється вікно з підказкою використати метод split()
. IntelliJ IDEA виконує всю роботу за нас. Праворуч можна побачити тип даних, який повертає метод, а ліворуч — назву та параметри, які приймає метод. Обираємо метод split()
і рухаємося далі.
Пропозиції щодо імпорту
Щоб відсортувати масив в алфавітному порядку, необхідно використати метод sort()
з бібліотеки Arrays
. Цю бібліотеку можна імпортувати автоматично, просто ввівши Arrays
, і IntelliJ автоматично імпортує бібліотеку за нас. Все, що потрібно зробити — натиснути "tab", коли IntelliJ запропонує імпорт цієї бібліотеки.
Автозаповнення циклів
Масив створено та відсортовано. Далі створено об'єкт класу StringBuilder
для перетворення відсортованого масиву у String
. Для цього потрібен цикл for-each, у якому використовується метод append()
для додавання елементів масиву до рядка. Коли починаємо вводити ім'я масиву, IntelliJ пропонує кілька варіантів — "for" та "for-each". Обираємо "for-each" за допомогою стрілок, і IntelliJ створює шаблон для написання циклу for-each.
Підсумок
Було написано метод для сортування рядка в алфавітному порядку з використанням інструментів, які надає IntelliJ. Не всі інструменти були розглянуті, оскільки їх дуже багато. Їх настільки багато, що навіть годинного відео не вистачить, щоб охопити весь набір можливостей. Тому повторю: експериментуйте, практикуйтеся, і тоді зможете опанувати всі інструменти та ефективно їх використовувати.
Ось код із скріншоту, переписаний для кращої читабельності та зрозумілості:
Main.java
package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { String helloWorld = "Hello world"; System.out.println(sortString(helloWorld)); } static String sortString(String string) { String result = new String(); String[] array = string.split(""); Arrays.sort(array); StringBuilder builder = new StringBuilder(); for (String element : array) { builder.append(element); } result = builder.toString(); return result; } }
1. Що робить IntelliJ IDEA, коли виявляє синтаксичну помилку у вашому коді?
2. Як IntelliJ IDEA допомагає у виборі та завершенні підказок коду?
3. Що пропонує IntelliJ IDEA, коли ви починаєте вводити виклик методу?
4. Як IntelliJ IDEA обробляє імпорт бібліотек?
5. Як IntelliJ IDEA допомагає у створенні циклів, наприклад, for-each циклів?
Дякуємо за ваш відгук!