uz
Feedback
Java | Фишки и трюки

Java | Фишки и трюки

Kanalga Telegram’da o‘tish

Java: примеры кода, интересные фишки и полезные трюки Купить рекламу: https://telega.in/c/java_tips_and_tricks ✍️По всем вопросам: @Pascal4eg

Ko'proq ko'rsatish
6 824
Obunachilar
+724 soatlar
-97 kunlar
-6030 kunlar
Postlar arxiv
public class Quest {
    public static void main(String[] args) {
        boolean b = false;
        System.out.println(b++);
    }
}

photo content

⌨️ Чем абстрактный класс отличается от интерфейса? В каких случаях следует использовать абстрактный класс, а в каких интерфейс? ✅ В Java класс может одновременно реализовать несколько интерфейсов, но наследоваться только от одного класса. ✅ Абстрактные классы используются только тогда, когда присутствует тип отношений «is a» (является). Интерфейсы могут реализоваться классами, которые не связаны друг с другом. ✅ Абстрактный класс - средство, позволяющее избежать написания повторяющегося кода, инструмент для частичной реализации поведения. Интерфейс - это средство выражения семантики класса, контракт, описывающий возможности. Все методы интерфейса неявно объявляются как public abstract или (начиная с Java 8 ) default - методами с реализацией по-умолчанию, а поля - public static final. ✅ Интерфейсы позволяют создавать структуры типов без иерархии. ✅ Наследуясь от абстрактного, класс «растворяет» собственную индивидуальность. Реализуя интерфейс, он расширяет собственную функциональность. Абстрактные классы содержат частичную реализацию, которая дополняется или расширяется в подклассах. При этом все подклассы схожи между собой в части реализации, унаследованной от абстрактного класса, и отличаются лишь в части собственной реализации абстрактных методов родителя. Поэтому абстрактные классы применяются в случае построения иерархии однотипных, очень похожих друг на друга классов. В этом случае наследование от абстрактного класса, реализующего поведение объекта по умолчанию может быть полезно, так как позволяет избежать написания повторяющегося кода. Во всех остальных случаях лучше использовать интерфейсы.

📌 Составили список лучших каналов для любого айтишника: Java Developer — советы и практики от действующего Senior-разработчи
📌 Составили список лучших каналов для любого айтишника: Java Developer — советы и практики от действующего Senior-разработчика Python Developer — секреты и тонкости программирования на Python CodeLang — изучение английского языка в IT сфере Библиотека Кодера — лучшие книги, шпаргалки и советы для разработчиков

⌨️ Дайте определение понятию «интерфейс». Какие модификаторы по умолчанию имеют поля и методы интерфейсов? Ключевое слово interface используется для создания полностью абстрактных классов. Основное предназначение интерфейса - определять каким образом мы можем использовать класс, который его реализует. Создатель интерфейса определяет имена методов, списки аргументов и типы возвращаемых значений, но не реализует их поведение. Все методы неявно объявляются как public. Начиная с Java 8 в интерфейсах разрешается размещать реализацию методов по умолчанию default и статических static методов. Интерфейс также может содержать и поля. В этом случае они автоматически являются публичными public, статическими static и неизменяемыми final.

⌨️ Зачем нужен модификатор abstract? Модификатор abstract применяется для создания абстрактных классов и методов. Абстрактный
⌨️ Зачем нужен модификатор abstract? Модификатор abstract применяется для создания абстрактных классов и методов. Абстрактный класс является шаблоном для других классов и не может быть инстанциирован сам по себе. Он предоставляет общие черты для всех своих подклассов, которые могут быть как абстрактными, так и конкретными классами. Абстрактный метод, который помечен ключевым словом abstract, не имеет реализации в абстрактном классе. Если в классе есть хотя бы один абстрактный метод, то весь класс должен быть объявлен как абстрактный. Использование абстрактных классов и методов позволяет определить общий шаблон объекта, который должен быть реализован в других классах. В них же самих описывается лишь некое общее для всех потомков поведение.

Как разобраться в вышмате за 1 вечер? 😨 Да никак. Но можно научиться понимать математику. И сэкономить месяцы жизни, килогра
Как разобраться в вышмате за 1 вечер? 😨 Да никак. Но можно научиться понимать математику. И сэкономить месяцы жизни, килограмм нервов и сил. И поможет вам в этом единственный канал в телеграме о высшей математике. Его автор - выпускник СПБГУ, а ныне — преподаватель предмета. На простом языке разбирает сложные вещи, даёт шпаргалки и проводит эфиры с решением задач 📈 Находка для студентов и тех, кому нужен вышмат по работе. От полезных материалов и книг до ответов на вопросы и уроков. Посмотрите сами 👉 @lav_math

⌨️ Почему нельзя объявить метод интерфейса с модификатором final? В случае интерфейсов указание модификатора final бессмысленно, т.к. все методы интерфейсов неявно объявляются как абстрактные, т.е. их невозможно выполнить, не реализовав где-то еще, а этого нельзя будет сделать, если у метода идентификатор final.

⌨️ Логические операторы «И» (AND): конъюнкция, логическое умножение

true  && true  = true
false && false = false
true  && false = false
false && true  = false

true  & true  = true
false & false = false
true  & false = false
false & true  = false

Побитовые операции:
1010
&&&&
1001
====
1000
Включающее «ИЛИ» (OR): дизъюнкция, логическое сложение

true  || true  = true
false || false = false
true  || false = true
false || true  = true

true  | true  = true
false | false = false
true  | false = true
false | true  = true

Побитовые операции:
1010
||||
1001
====
1011
Исключающее «ИЛИ» (XOR): строгая дизъюнкция, логическое вычитание

true  ^ true  = false
false ^ false = false
true  ^ false = true
false ^ true  = true

Побитовые операции:
1010
^^^^
1001
====
0011
«НЕ» (NOT): инверсия, отрицание

!true  = false
!false = true

Побитовый унарный оператор NOT:
~~
01
==
10
Порядок выполнения операторов Когда в выражении несколько логических операторов, результат вычисляется с учётом их приоритета. Если нет логических скобок, то операции выполняются в таком порядке:
!  ~ (NOT)
& (AND)
^ (XOR)
| (OR)
&& (условный AND)
|| (условный OR)
Если одинаковые операции стоят по соседству, то раньше выполняется та, что левее.

В мае стартует новая программа «Java разработчик. Уровень Специалист». Обучение проходит в мини-группе с преподавателем и жив
В мае стартует новая программа «Java разработчик. Уровень Специалист». Обучение проходит в мини-группе с преподавателем и живой практикой. Часть материалов — для самообучения. Программа включает в себя: 📌 Применение ООП и функциональной парадигмы, 📌 Spring Framework,  📌 работу с БД,  📌 архитектуру REST,  📌 вспомогательные инструменты Java-разработчика, 📌 продвинутые аспекты применения Java,  📌 стандартную библиотеку Java II. 👉 Узнать подробнее 👈 Бонусы: ✔️ всем, кто запишется на программу до 17 мая, предоставляем бесплатный доступ к первым 5 урокам на 3 дня ✔️ подготовка к сдаче Java-сертификации и скидка 50% на ее прохождение ✔️ бесплатный курс «Разработка на Java и Spring с помощью Chat GPT: от составления ТЗ до модульного тестирования» Реклама. АНО ДПО "УЦ ИБС". ИНН 7713388004. erid: LjN8K63R4

Что выведет код?
Anonymous voting

System.out.println(true ^ true & false);

Майские скидки! Профессия «Java-разработчик» 🎁 Получите скидку до 80 900 р. Успейте получить специальное предложение до 14 м
Майские скидки! Профессия «Java-разработчик» 🎁 Получите скидку до 80 900 р. Успейте получить специальное предложение до 14 мая! Освойте язык крупного бизнеса и финансовых технологий и научитесь разрабатывать веб-приложения на фреймворке Spring. Уже во время обучения вы вступите в программу «Карьерный трек», чтобы найти свою первую работу в IT.  Вы научитесь подбирать правильные структуры для хранения и обработки данных, познакомитесь с автоматизированным тестированием и напишите свои первые модульные тесты. 📌 Пройдите 5 бесплатных уроков и поймите, подходит ли вам профессия!

Что выведет код?
Anonymous voting

public class Quest {
    public static void main(String[] args) {
        int i = 0;
        System.out.println(--i++);
    }
}

Оплачиваемая стажировка и трудоустройство без опыта — ну ничего себе 😳 Все возможно с Добровольным квалификационным экзамено
Оплачиваемая стажировка и трудоустройство без опыта — ну ничего себе 😳 Все возможно с Добровольным квалификационным экзаменом! Это бесплатный проект Правительства Москвы, где ты можешь показать свои знания по специальности, запомниться потенциальным работодателям и получить оффер в престижные компании Москвы. Тебя ждет всего три шага: 1️⃣ Пройди тест После регистрации на сайте ДКЭ тебе будет доступно 70 профессий по 7 направлениям. Выбирай тест по своей специальности и проверь уровень своих знаний! 2️⃣ Реши кейс Если ты успешно сдал тест, тебя пригласят на следующий этап, где ты с другими участниками в команде будешь решать реальный кейс одного из работодателей. 3️⃣ Стань победителем Окажись в числе лучших по общему количеству баллов за оба этапа и получи шанс попасть на оплачиваемую стажировку с дальнейшим трудоустройством. Готов проявить себя? Регистрируйся и начинай проходить тест — https://dke.moscow Реклама. АНО "РАЗВИТИЕ ЧЕЛОВЕЧЕСКОГО КАПИТАЛА", АНО "РЧК". ИНН 7710364647. erid: LjN8JwPY5

Что выведет код?
Anonymous voting

public class Quest {
    public static void main(String[] args) {
        String s = null;
        if (s != null & s.length() > 0) {
            System.out.println("FULL");
        } else {
            System.out.println("EMPTY");
        }
    }
}

⌨️ Как ^, | и & работают с целочисленными операндами Пример:

int a = 3 & 5;
int b = 3 | 5;
int c = 3 ^ 5;

System.out.println(a); // 1
System.out.println(b); // 7
System.out.println(c); // 6
Чтобы думать как Java, нужно: ✅ Перевести значения обоих операндов в двоичную систему счисления. ✅ Расположить результаты перевода друг под другом. ✅ Сравнять в них число разрядов (дополнить лидирующими нулями). ✅ Применить к битам из каждого столбца оператор (&, | или ^). ✅ Записать результат каждой операции ниже в том же столбце. ✅ Перевести итог в десятичную форму. Потренеруемся на примере 3 & 5: Число 3 в двоичной системе счисления имеет вид 11, а число 5 — 101. Так как у числа 5 три разряда в двоичной системе, а у числа 3 — всего два, добавим лидирующий ноль к числу 3 в двоичной системе и получим 011. Берём цифры из обоих чисел и применяем к ним попарно оператор & (AND):
011
&&&
101
===
001
Получаем число 001. В десятичной записи ему соответствует число 1. Поэтому операция 3 & 5 и возвращает в результате 1.