✨Відео про перерахування (так-так, це enum) вже на каналі. Говоримо про теоретичну та практичну складову enum, застосовуємо на практиці до системи ел. журналу.
❗️Відео ТУТ.❗️
Усім перемог! 😎
❗️Відео ТУТ.❗️
Усім перемог! 😎
🔥3
Яку колекцію треба використовувати, якщо потрібно часто видаляти та переміщувати елементи?
Anonymous Quiz
25%
ArrayList
9%
HashSet
56%
LinkedList
10%
HashMap
🔥Привіт, сьогодні трошки поговоримо про особливість поведінки Scanner.
Якщо ви виконували практичні задачі з інших сайтів, чи почали виконувати мої задачі зі закріплених коментарів під відео, то могли зіткнутися з певною проблемою.
❌Проблема: Після отримання значення примітивного типу з використанням Scanner, наступне отримання рядка стає неможливим, оскільки
💡Сутність: Справа в тому, що сканер для примітивних типів даних, наприклад
✅Вирішення: Для вирішення цієї проблеми є декілька підходів.
1️⃣ Якщо ми отримуємо значення і плануємо його просто вивести у складі іншого рядка, ми можемо отримати значення одразу у вигляді рядка. Написати
2️⃣ Якщо ми плануємо працювати з числом, наприклад, перевіряти вік користувача, ми можемо отримати також значення у вигляді рядка, а потім його перетворити (parsing) у число. Для цього ми маємо використати клас-оболонку.
3️⃣ Я хочу одразу отримати число і потім отримати рядок! НАЩО ЦЯ МАГІЯ?! Окей, так можна. Ми використаємо
Усім перемог! 😎
Якщо ви виконували практичні задачі з інших сайтів, чи почали виконувати мої задачі зі закріплених коментарів під відео, то могли зіткнутися з певною проблемою.
❌Проблема: Після отримання значення примітивного типу з використанням Scanner, наступне отримання рядка стає неможливим, оскільки
nextLine() програма просто пропускає.💡Сутність: Справа в тому, що сканер для примітивних типів даних, наприклад
nextInt(), після сканування залишає за собою пустий рядок (послідовність \n). Тому наступний виклик nextLine(), замість того, аби отримати щось від користувача, заповнить себе пустим рядком. Наприклад, якщо спочатку сканувати рядок, а потім число — проблеми не буде.✅Вирішення: Для вирішення цієї проблеми є декілька підходів.
1️⃣ Якщо ми отримуємо значення і плануємо його просто вивести у складі іншого рядка, ми можемо отримати значення одразу у вигляді рядка. Написати
String age = scan.nextLine(), таке рішення може виглядати не ідеально, але нам однаково, адже це значення стане рядком у будь-якому випадку. Після такого у нас не буде проблем з отриманням подальших рядків, оскільки ми не сканували примітив.2️⃣ Якщо ми плануємо працювати з числом, наприклад, перевіряти вік користувача, ми можемо отримати також значення у вигляді рядка, а потім його перетворити (parsing) у число. Для цього ми маємо використати клас-оболонку.
String ageLine = scan.nextLine();
int age = Integer.parseInt(ageLine);
У такому разі ми отримали рядок з віком, перетворили його у число і можемо вільно виконувати потрібні арифметичні операції з числом у змінній age. У цьому разі ми теж не будемо мати проблем з подальшим скануванням рядків, адже ми не сканували примітив.3️⃣ Я хочу одразу отримати число і потім отримати рядок! НАЩО ЦЯ МАГІЯ?! Окей, так можна. Ми використаємо
scan.nextInt(), а потім зробимо один глухий scan.nextLine(), і один той, який вже спрацює і збереже значення у змінну. Виглядатиме це ось так:int age = scan.nextInt(); // отримали вік одразу примітивом
scan.nextLine(); // нічого не отримали, просто з'їли пустий рядок
String city = scan.nextLine(); // запитали у користувача місто
У такому разі ми і одразу число отримали, нічого не парсили, і проблем зі скануванням не мали, адже пустий рядок отримає scan.nextLine(), котрий нічого не зберігає. Усім перемог! 😎
👍8🔥7
Java Classroom
🔥Привіт, сьогодні трошки поговоримо про особливість поведінки Scanner. Якщо ви виконували практичні задачі з інших сайтів, чи почали виконувати мої задачі зі закріплених коментарів під відео, то могли зіткнутися з певною проблемою. ❌Проблема: Після отримання…
Зрозумів, що це нормально дивитися з комп'ютера та ноутбука, але дуже незручно з телефону. Не псуйте зір, він вам ще буде потрібен.😅
😁6
Чи може бути статичним (static) поле з модифікатором доступу protected?
Anonymous Quiz
71%
Так.
29%
Ні.
🎉Відео про імутабельні (immutable, незмінні) класи та нововведення Java 14, яке отримало реліз з версією JDK 16, записи (record) вже на каналі. Урок вийшов доволі довгим, через практичну частину.
❗️Відео ТУТ.❗️
Усім перемог! 😎
❗️Відео ТУТ.❗️
Усім перемог! 😎
🔥8
🔥Привіт, відео про Exception (виключення) та обробку виключень (try-catch, try-catch-finally) вже на каналі. Вийшло доволі багато матеріалу, тому я детально поділив відео за тайм-кодами.
❗️Відео ТУТ.❗️
Усім перемог! 😎
❗️Відео ТУТ.❗️
Усім перемог! 😎
👍6🔥2
🤪Привіт! Дуже давно обіцяне відео — заглиблення в оператори, логічні скорочені та побітові операції, двійкова система.
🔥Поговоримо про різницю між операторами && та & і операторами || та |. Розкажу про те, як на практиці можна застосувати побітові зсуви праворуч і ліворуч! Ось ці страшенні та незрозумілі >> та << стануть абсолютно зрозумілими і простими (вони тепер навіть мені стали зрозумілими😂😂😂).
❗️Відео ТУТ.❗️
Усім перемог! 😎
🔥Поговоримо про різницю між операторами && та & і операторами || та |. Розкажу про те, як на практиці можна застосувати побітові зсуви праворуч і ліворуч! Ось ці страшенні та незрозумілі >> та << стануть абсолютно зрозумілими і простими (вони тепер навіть мені стали зрозумілими😂😂😂).
❗️Відео ТУТ.❗️
Усім перемог! 😎
🔥3😁2
Оберіть приклад checked-виключень.
Anonymous Quiz
25%
NullPointerException, ArithmeticException
70%
IOException, FileNotFoundException
5%
StackOverFlowError
Чи буде виведено в консоль "Hello World"?
Anonymous Quiz
73%
Так.
16%
Ні, але програма запуститься.
11%
Ні, буде помилка компіляції.
👍3🤯1
Java Classroom
Оберіть приклад checked-виключень.
👆🏻Тут у підказці помилка, але правильна відповідь обрана вірна. Хто вибере правильно/неправильно — зрозуміє у чому справа.
👍3
❗️Базовий курс з Java підходить до свого логічного кінця.
🔥Анонс залишкових уроків:
1. Методи класу Object. Контракт equals і hashCode.
2. Дата та час. LocalDate, LocalTime, LocalDateTime.
3. Класи обгортки, автопакування (wrapper, autoboxing).
4. BigInteger, BigDecimal. Як зберігати зароблені гроші?
Попереду нас чекає просунутий курс роботи з лямбдою та Stream API, а після — багатонитковість (multithreading) та конкурентність (concurrency) в Java.
А ще, як було обіцяно в давньому анонсі, на 1000 підписників запустимо дуже круту інтерактивну рубрику. Частину кандидатів вже знайдено, від вас мінімум — лайк, а максимум — участь.😏
🔥Анонс залишкових уроків:
1. Методи класу Object. Контракт equals і hashCode.
2. Дата та час. LocalDate, LocalTime, LocalDateTime.
3. Класи обгортки, автопакування (wrapper, autoboxing).
4. BigInteger, BigDecimal. Як зберігати зароблені гроші?
Попереду нас чекає просунутий курс роботи з лямбдою та Stream API, а після — багатонитковість (multithreading) та конкурентність (concurrency) в Java.
А ще, як було обіцяно в давньому анонсі, на 1000 підписників запустимо дуже круту інтерактивну рубрику. Частину кандидатів вже знайдено, від вас мінімум — лайк, а максимум — участь.😏
🔥8👍5
🔥Привіт. Відео про методи класу Object вже на каналі. Розглянули всі присутні методи (навіть застарілі), перевизначили метод clone() та застосували клонування, а також поговорили про вже відомі нам методи toString() та equals() до яких додався hashCode().
❗️Відео ТУТ. ❗️
Усім перемог! 😎
❗️Відео ТУТ. ❗️
Усім перемог! 😎
🔥10
🔥7👍2
🙋🏻♂Усім привіт.
🔥Завтра буде відео про обгортки (wrapper), а на вихідних — про великі числа (BigInteger, BigDecimal). Після цих уроків буде відповідне заключне відео, де поговоримо про плани каналу, нові курси та рубрики.
👇🏻А поки ловіть декілька опитувань:
🔥Завтра буде відео про обгортки (wrapper), а на вихідних — про великі числа (BigInteger, BigDecimal). Після цих уроків буде відповідне заключне відео, де поговоримо про плани каналу, нові курси та рубрики.
👇🏻А поки ловіть декілька опитувань:
🔥5👍2
У задачі потрібно створити колекцію, яка зберігає пари ключ-значення. Важливо зберегти порядок додавання, адже колекцію також можуть виводити цілком і очікують елементи у порядку їх додавання. Також має бути доступ по ключу. Яку колекцію обрати?
Anonymous Quiz
3%
LinkedList
18%
HashMap
71%
LinkedHashMap
7%
Створити свій об'єкт, який містить поля key та value, і зберігати його в ArrayList.
Чи є твердження, що Інтерфейс – це каркас для успадкування класів, а Абстрактний клас – це контракт для роботи з логікою родини класів, вірним?
Anonymous Quiz
50%
Так.
50%
Ні.
🔥Відео про класи обгортки, автопакування та авторозпакування вже на каналі. Дуже рекомендую до перегляду, стисло і чітко.
❗️Відео ТУТ.❗️
Усім перемог! 😎
❗️Відео ТУТ.❗️
Усім перемог! 😎
🔥5