👍3🤯3😱1👌1
Vaadin - это Java библиотека для создания веб-приложений с использованием пользовательского интерфейса на основе компонентов. Она предоставляет набор готовых элементов управления и возможность создавать собственные компоненты.
Пример создания UI с использованием Vaadin:
public class MyUI extends UI {
@Override
protected void init(VaadinRequest request) {
Button button = new Button("Click me");
button.addClickListener(e -> Notification.show("Button clicked"));
setContent(button);
}
}В данном примере мы создаем кнопку и добавляем к ней обработчик нажатия, который выводит уведомление при клике на кнопку.
Пример использования Layout для размещения компонентов:
VerticalLayout layout = new VerticalLayout();
layout.addComponent(new Label("Hello, Vaadin!"));
layout.addComponent(new Button("Click me"));
setContent(layout);
Также Vaadin предоставляет множество других компонентов, таких как Table, Form, DateField и др., которые можно использовать для создания более сложных интерфейсов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤1🔥1👏1👨💻1
public class Quest {
public static void main(String[] args) {
System.out.println(true &! false);
}
}👍4❤3🔥1🎉1
Метод
main() - точка входа в программу. В приложении может быть несколько таких методов. Если метод отсутствует, то компиляция возможна, но при запуске будет получена ошибка `Error: Main method not found`.
public static void main(String[] args) {}
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29💯2❤1🔥1
public class Quest {
public static void main(String[] args) {
System.out.println(isEqual(1, 1));
}
private static boolean isEqual(int i, int j) {
return (i == j) ? null : false;
}
}🤯8😱1🎉1
Пример:
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.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥5❤3👨💻2
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");
}
}
}👏8🎉3🤯1😱1🤩1
public class Quest {
public static void main(String[] args) {
int i = 0;
System.out.println(--i++);
}
}😁18
🤯7🎉3😁1👌1
👏6👍3🤯3🎉2
«И» (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)
Если одинаковые операции стоят по соседству, то раньше выполняется та, что левее.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33✍3❤2❤🔥1🔥1👏1💯1👨💻1
В случае интерфейсов указание модификатора
final бессмысленно, т.к. все методы интерфейсов неявно объявляются как абстрактные, т.е. их невозможно выполнить, не реализовав где-то еще, а этого нельзя будет сделать, если у метода идентификатор final.Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤1🔥1👏1
Модификатор
abstract применяется для создания абстрактных классов и методов. Абстрактный класс является шаблоном для других классов и не может быть инстанциирован сам по себе. Он предоставляет общие черты для всех своих подклассов, которые могут быть как абстрактными, так и конкретными классами.Абстрактный метод, который помечен ключевым словом
abstract, не имеет реализации в абстрактном классе. Если в классе есть хотя бы один абстрактный метод, то весь класс должен быть объявлен как абстрактный.Использование абстрактных классов и методов позволяет определить общий шаблон объекта, который должен быть реализован в других классах. В них же самих описывается лишь некое общее для всех потомков поведение.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👍1
Ключевое слово
interface используется для создания полностью абстрактных классов. Основное предназначение интерфейса - определять каким образом мы можем использовать класс, который его реализует. Создатель интерфейса определяет имена методов, списки аргументов и типы возвращаемых значений, но не реализует их поведение. Все методы неявно объявляются как public.Начиная с Java 8 в интерфейсах разрешается размещать реализацию методов по умолчанию
default и статических static методов.Интерфейс также может содержать и поля. В этом случае они автоматически являются публичными
public, статическими static и неизменяемыми final.Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤1🔥1👏1