Java for Beginner
870 subscribers
1.01K photos
275 videos
14 files
1.69K links
Канал от новичков для новичков!
Изучайте Java вместе с нами!
Здесь мы обмениваемся опытом и постоянно изучаем что-то новое!

Наш YouTube канал - https://www.youtube.com/@Java_Beginner-Dev

Наш канал на RUTube - https://rutube.ru/channel/37896292/
Download Telegram
Что такое String.format() и System.out.printf()? 🤓

Ответ:

String.format()
— статический метод, который создает отформатированную строку с использованием спецификаторов формата (например, %s для строки, %d для целых чисел, %f для дробных, %n для перевода строки).

System.out.printf() делает то же самое, но сразу выводит в консоль (аналог System.out.println(String.format(...))).

Пример: String name = "Alice"; int age = 30; String msg = String.format("Name: %s, Age: %d", name, age);.


#собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
История технологии сегодня — 01 мая

ℹ️ Кто родился в этот день

Ра́дик Мартиро́сович Мартирося́н (арм. Ռադիկ Մարտիրոսի Մարտիրոսյան; 1 мая 1936, село Мадагиз, Нагорно-Карабахская АО, Азербайджанская ССР — 5 мая 2025) — советский и армянский физик, специалист по квантовой электронике, радиофизике и радиоастрономии. В Институте радиофизики и электроники АН Армянской ССР под его руководством велись фундаментальные и прикладные исследования в области высокотемпературной сверхпроводимости. Впервые обнаружено интенсивное квази-монохроматическое собственное излучение в сверхвысокочастотном диапазоне в мостиковых пленочных структурах из высокотемпературного сверхпроводника.

Пи́тер Дэ́вид Лакс (венг. Lax Péter Dávid, англ. Peter David Lax; 1 мая 1926, Будапешт, Королевство Венгрия — 16 мая 2025, Манхэттен, Нью-Йорк) — американский математик, лауреат премии Вольфа (1987) и Абелевской премии (2005). Поле деятельности Лакса многогранно: в частности, в него входило изучение интегрируемых систем, ударной волны, гидродинамики. Он также внёс существенный вклад в развитие теории солитонов. С его именем связаны такие математические достижения и числовые методы как лемма Лакса — Мильграма, теорема эквивалентности Лакса, схема Лакса — Фридрихса, схема Лакса — Вендрофа, условие энтропии Лакса и теория Лакса — Левермора, уравнение Лакса.


🌐 Знаковые события

1006 — вспыхнула сверхновая звезда SN 1006.

1930 – опубликовано имя открытой 18 февраля девятой планеты Солнечной системы — Плутон.



#Biography #Birth_Date #Events #01мая
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
[Совет по Java #032]

Тема: Arrays.asList() возвращает список фиксированного размера.

Проблема: Метод Arrays.asList(T... a) возвращает не java.util.ArrayList, а внутренний статический класс Arrays.ArrayList, который не реализует операции изменения размера.

Этот список является представлением (view) переданного массива. Попытка вызвать add(), remove(), clear() или другие методы, изменяющие размер, выбрасывает UnsupportedOperationException. Даже метод clear(), который кажется безопасным, выбрасывает исключение.

Решение: Если нужен изменяемый список, создайте новый ArrayList на основе результата Arrays.asList(): new ArrayList<>(Arrays.asList(с)).

Начиная с Java 9, можно использовать List.of() для неизменяемых списков (еще более строгие ограничения) или List.copyOf(). Если массив уже существует, и нужно его изменяемое представление, используйте цикл или Stream API. Помните, что изменения существующих элементов через set() работают и отражаются на исходном массиве.

public class ArraysAsListExample {

public static void main(String[] args) {
String[] colorsArray = {"Red", "Green", "Blue"};

//Антипаттерн: модификация списка из Arrays.asList()
List<String> fixedList = Arrays.asList(colorsArray);
System.out.println("Fixed list: " + fixedList); // [Red, Green, Blue]

try {
fixedList.add("Yellow"); // UnsupportedOperationException
} catch (UnsupportedOperationException e) {
System.out.println("Cannot add: " + e);
}

try {
fixedList.remove(0); // UnsupportedOperationException
} catch (UnsupportedOperationException e) {
System.out.println("Cannot remove: " + e);
}

try {
fixedList.clear(); // Тоже UnsupportedOperationException
} catch (UnsupportedOperationException e) {
System.out.println("Cannot clear: " + e);
}

//Можно изменять существующие элементы
fixedList.set(0, "Cyan");
System.out.println("After set: " + fixedList); // [Cyan, Green, Blue]
// Обратите внимание: исходный массив тоже изменился!
System.out.println("Original array: " + Arrays.toString(colorsArray)); // [Cyan, Green, Blue]

//Решение 1: копирование в новый ArrayList
List<String> mutableList = new ArrayList<>(Arrays.asList(colorsArray));
mutableList.add("Yellow");
mutableList.remove(0);
System.out.println("Mutable list: " + mutableList);

//Решение 2: Java 8+ Stream для примитивов
List<Integer> numbers = Arrays.stream(new int[]{1, 2, 3})
.boxed()
.collect(Collectors.toList());
numbers.add(4);
System.out.println("From stream: " + numbers);

//Решение 3: Java 9+ неизменяемые списки
List<String> immutable = List.of("A", "B", "C");
// immutable.add("D"); // UnsupportedOperationException
// immutable.set(0, "Z"); // Также выбрасывает исключение!

//Решение 4: явное создание ArrayList с инициализацией
List<String> explicit = new ArrayList<>();
explicit.add("X");
explicit.add("Y");
explicit.add("Z");
}


Объяснение: Arrays.asList() предназначен для быстрого создания оболочки вокруг массива для использования в API, требующих Collection. Возвращаемый объект хранит ссылку на исходный массив и не поддерживает изменение размера, так как массив имеет фиксированную длину. Методы add, remove, clear не переопределены и наследуются от AbstractList, где по умолчанию выбрасывают UnsupportedOperationException.

При этом метод set() переопределен и работает корректно, изменяя соответствующий элемент в массиве. Важно помнить, что изменения в списке видны в исходном массиве, и наоборот. Начиная с Java 8, для примитивных массивов удобнее использовать стримы с boxed(). Java 9 ввел List.of(), который создает полностью неизменяемые списки (даже set() не работает), что лучше для констант.


#Java #советы
👍6
Что выведет код?

import java.util.Arrays;
import java.util.List;

public class Task010526 {
public static void main(String[] args) {
List<String> list = Arrays.asList("A", "B", "C");
String[] array = {"X", "Y", "Z"};
List<String> list2 = Arrays.asList(array);

list.set(1, "B2");
array[2] = "Z2";

System.out.print(list.get(1) + " ");
System.out.print(list2.get(2) + " ");

try {
list.add("D");
} catch (Exception e) {
System.out.print("Exception1 ");
}

try {
list2.remove(0);
} catch (Exception e) {
System.out.print("Exception2");
}
}
}


#Tasks
👍2
Что такое Date и Calendar? Какие есть альтернативы? 🤓

Ответ:

java.util.Date
— представляет момент времени (миллисекунды с 1970-01-01). Многие методы устарели.

java.util.Calendar — абстрактный класс для работы с датами и временем (получение компонентов: год, месяц, день и т.д.).

Оба имеют проблемы: мутабельность, неинтуитивные индексы месяцев (0-11), неудобство.

Начиная с Java 8, появился новый пакет java.time (LocalDate, LocalTime, LocalDateTime, ZonedDateTime, Duration, Period) — immutable, потокобезопасный, интуитивный.


#собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Всем привет! ✌️

Так как неожиданно для меня самого у меня стало много свободного времени, наберу желающих изучить Java.

Золотых гор не обещаю, но на Junior+/ middle вытяну однозначно.

Моя экспертиза по видео и каналу, наверняка понятна.

Пишите в лс @Oleborn
🔥7👍1
История технологии сегодня — 02 мая

ℹ️ Кто родился в этот день

Сю Такуми (яп. 巧 舟 Такуми Сю:) (род. май 1971, Сайтама)японский сценарист и геймдизайнер. Наиболее известен своей работой над серией игр Ace Attorney. Также он был сценаристом игры Ghost Trick: Phantom Detective, вышедшей в 2010 году.


🌐 Знаковые события

Не нашел((


#Biography #Birth_Date #Events #02мая
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Обновление devforge.ru

Обновил визуал страниц, добавил боковую панель, удобные иконки и ссылки.

По мне - так стало заебумба 💃

Оцените?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1🤯1🍾1
История технологии сегодня — 03 мая

ℹ️ Кто родился в этот день

Джордж Паджет Томсон (англ. George Paget Thomson; 3 мая 1892 — 10 сентября 1975) — английский учёный, физик-ядерщик, нобелевский лауреат (1937) — «за экспериментальное открытие дифракции электронов на кристаллах» (совместно с Джозефом Дэвиссоном).

Альфре́д Кастле́р (фр. Alfred Kastler; 3 мая 1902, Гебвиллер, Германская империя — 7 января 1984, Бандоль, Франция)французский физик, лауреат Нобелевской премии по физике в 1966 году «за открытие и разработку оптических методов исследования резонансов Герца в атомах».

Сти́вен Ва́йнберг (англ. Steven Weinberg; 3 мая 1933, Нью-Йорк — 23 июля 2021, Остин) — американский физик-теоретик, один из создателей единой теории электрослабого взаимодействия и Стандартной модели. Лауреат Нобелевской премии по физике в 1979 году (совместно с Шелдоном Ли Глэшоу и Абдусом Саламом) «за вклад в объединённую теорию слабых и электромагнитных взаимодействий между элементарными частицами, в том числе предсказание слабых нейтральных токов».


🌐 Знаковые события

2004 — новый интернет-червь «Sasser» поразил сотни тысяч персональных компьютеров по всему миру.


#Biography #Birth_Date #Events #03мая
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Наш проект поехал в прод! 🏝
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9
🤣6