Одинарные и двойные кавычки
В Java есть такое понятие, как символ (Char). Это определённая буква, цифра, эмодзи и т.д. Несколько таких символов уже составляют строку (String).
Так вот, в одинарных кавычках мы записываем только один символ, а в двойных кавычках мы создаём строку.
С этим нужно быть очень осторожным, поскольку пытаясь получить
#java #lesson #theory
В Java есть такое понятие, как символ (Char). Это определённая буква, цифра, эмодзи и т.д. Несколько таких символов уже составляют строку (String).
Так вот, в одинарных кавычках мы записываем только один символ, а в двойных кавычках мы создаём строку.
С этим нужно быть очень осторожным, поскольку пытаясь получить
"MY"
, выполняя 'M' + 'Y'
, вы получите 166.#java #lesson #theory
Перегрузка функций
Если у вас есть несколько функций с одним и тем же именем, но они принимают разные типы, то будет вызван тот что больше всего подходит.
Перегрузка позволяет нам менять поведение функции в зависимости от типа или кол-ва параметров, которые мы получили.
Самой простой пример —
#java #lesson #overloading
Если у вас есть несколько функций с одним и тем же именем, но они принимают разные типы, то будет вызван тот что больше всего подходит.
Перегрузка позволяет нам менять поведение функции в зависимости от типа или кол-ва параметров, которые мы получили.
Самой простой пример —
System.out.println()
. Если вы посмотрите определение метода, то увидите что он принимает и String, и char, и int.#java #lesson #overloading
В чём разница между абстрактными классами и интерфейсами?
С первого взгляда эти два объекта выполняют одну и тоже функцию — планирование классов. Однако не всё так очевидно.
Абстрактные классы — это такие же обычные классы, но некоторые их методы можно «оставить на потом». Другими словами метод объявленный ключевым словом abstract не надо реализовывать, он будет реализован в дочерних объектах.
Интерфейсы же являются описанием структуры методов класса, которые нужно реализовать. В интерфейсах нельзя объявлять переменные.
#java #lesson #oop
С первого взгляда эти два объекта выполняют одну и тоже функцию — планирование классов. Однако не всё так очевидно.
Абстрактные классы — это такие же обычные классы, но некоторые их методы можно «оставить на потом». Другими словами метод объявленный ключевым словом abstract не надо реализовывать, он будет реализован в дочерних объектах.
Интерфейсы же являются описанием структуры методов класса, которые нужно реализовать. В интерфейсах нельзя объявлять переменные.
#java #lesson #oop
Класс LinkedList
Это структура данных в виде связанного списка. Таким образом мы можем быстро добавлять элементы, но нам будет проблематично брать данные по индексу.
У него есть все методы, которые определены в интерфейсах List, Queue, Deque.
📌 Документация
#java #lesson #collections
Это структура данных в виде связанного списка. Таким образом мы можем быстро добавлять элементы, но нам будет проблематично брать данные по индексу.
У него есть все методы, которые определены в интерфейсах List, Queue, Deque.
addFirst() / offerFirst()
— добавляет элемент в начало списка. addLast() / offerLast()
— в конец.removeFirst() / pollFirst()
— удаляет первый элемент из начала списка. removeLast() / pollLast()
— с конца списка.getFirst() / peekFirst()
; getLast() / peekLast()
— возвращает первый/последний элемент списка.📌 Документация
#java #lesson #collections
Теория дженериков в Java
Дженерики — это невероятно важная часть языка Java, которую вы используете повсеместно. Их суть в обобщении типов, тем самым делая классы и методы гибкими.
Использовать дженерики можно в классах и методы. Обозначаются они стрелочными скобками и именем типа <T> (примеры вы можете увидеть выше).
По сути дженерики это лишь синтаксический сахар, поскольку в скомпилированном коде они не отличимы от обычного преобразования типов.
#java #lesson #oop
Дженерики — это невероятно важная часть языка Java, которую вы используете повсеместно. Их суть в обобщении типов, тем самым делая классы и методы гибкими.
Использовать дженерики можно в классах и методы. Обозначаются они стрелочными скобками и именем типа <T> (примеры вы можете увидеть выше).
По сути дженерики это лишь синтаксический сахар, поскольку в скомпилированном коде они не отличимы от обычного преобразования типов.
#java #lesson #oop
Аннотация FunctionalInterface
С версии Java 1.8 были добавлены лямбда-выражения. Они позволяют в короткой форме описать действия метода, который был описан в функциональном интерфейсе.
Такой интерфейс имеет лишь один метод, который и будет реализован как лямбда-выражение. Именно на наличие такого метода проверяет аннотация FunctionalInterface. Если в интерфейсе будет больше чем одного метода или вовсе их не будет, то при компиляции будет выведена ошибка.
Для создания функциональных интерфейсов не обязательно использования этой аннотации, но с ней редактор кода будет лучше понимать как обрабатывать данный интерфейс.
#java #lesson #annotations
С версии Java 1.8 были добавлены лямбда-выражения. Они позволяют в короткой форме описать действия метода, который был описан в функциональном интерфейсе.
Такой интерфейс имеет лишь один метод, который и будет реализован как лямбда-выражение. Именно на наличие такого метода проверяет аннотация FunctionalInterface. Если в интерфейсе будет больше чем одного метода или вовсе их не будет, то при компиляции будет выведена ошибка.
Для создания функциональных интерфейсов не обязательно использования этой аннотации, но с ней редактор кода будет лучше понимать как обрабатывать данный интерфейс.
#java #lesson #annotations
Нужно быстро отправить файлы с одного компьютера на другой?
Важное условие, чтобы они были в одной локальной сети. Вы можете запустить сервер на Java и перекинуть файлы с одного компьютера на другой.
Для этого вводите:
📌 Документация
Доступно с Java 18
#java #lesson #tricks
Важное условие, чтобы они были в одной локальной сети. Вы можете запустить сервер на Java и перекинуть файлы с одного компьютера на другой.
Для этого вводите:
jwebserver -b 0.0.0.0
, а на другом компьютере открываете сервер по IP, выбираете и загружаете нужный вам файл.📌 Документация
Доступно с Java 18
#java #lesson #tricks
Media is too big
VIEW IN TELEGRAM
Сохраняй огромный сборник задач на практику по разным языкам включая Java + Код и статьи к проектам
🟢 Парсинг
🟢 Боты для популярных соц.сетей
🟢 Веб-приложения на Django и Flask
🟢 Big data и Machine learning
🟢 Компьютерное зрение
🟢 Глубокое обучение и много чего интересного
🔜 Ссылка: тык
👉 Java Portal | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM