Что выведет код?
#Tasks
public class Task260924 {
public static void main(String[] args) {
int a = 12;
int b = 7;
int result = a & b;
System.out.println(result);
}
}
#Tasks
Литералы в Java
Литералы — это фиксированные значения, которые напрямую используются в исходном коде программы. В Java они могут принимать различные формы в зависимости от типа данных. Литералы используются для представления целочисленных значений, значений с плавающей точкой, символьных и строковых данных, а также булевых значений.
Виды литералов в Java
Целочисленные литералы (Integer literals)
Литералы с плавающей точкой (Floating-point literals)
Булевы литералы (Boolean literals)
Символьные литералы (Character literals)
Строковые литералы (String literals)
Литерал null
1. Целочисленные литералы
Целочисленные литералы в Java представляют собой числа без дробной части и могут быть представлены в различных системах счисления: десятичной, восьмеричной, шестнадцатеричной и двоичной.
Десятичные числа (по умолчанию):
Шестнадцатеричные числа: начинаются с 0x или 0X.
Восьмеричные числа: начинаются с 0 (не путать с десятичным числом).
Двоичные числа: начинаются с 0b или 0B.
По умолчанию целочисленные литералы имеют тип int. Для работы с большими числами используется тип long, и для обозначения такого литерала необходимо добавить суффикс L или l:
2. Литералы с плавающей точкой
Литералы с плавающей точкой используются для представления чисел с дробной частью и могут быть в формате с фиксированной или экспоненциальной записью.
Пример литерала с плавающей точкой:
Для представления чисел с плавающей точкой используется тип double по умолчанию. Чтобы использовать тип float, нужно добавить суффикс f или F:
Экспоненциальная запись (формат E):
3. Булевы литералы
Булевы литералы принимают два значения: true или false. Эти литералы используются для логических выражений и условий в программе.
4. Символьные литералы
Символьные литералы обозначают одиночный символ и заключаются в одинарные кавычки ('), например:
Также можно использовать escape-последовательности для представления специальных символов:
\n — новая строка
\t — табуляция
\' — одинарная кавычка
\" — двойная кавычка
\\ — обратная косая черта
Символьные литералы могут быть представлены с помощью числового значения, соответствующего символу в таблице Unicode:
5. Строковые литералы
Строковые литералы представляют собой последовательности символов и заключаются в двойные кавычки ("). В отличие от символьных литералов, строка может содержать несколько символов.
Пример строкового литерала:
Строковые литералы в Java поддерживают использование escape-последовательностей, как и символьные литералы:
Также в строковых литералах можно использовать Unicode-символы:
6. Литерал null
Литерал null используется для указания на отсутствие какого-либо объекта. Он может быть присвоен любому объектному типу.
Литерал null особенно важен для работы с объектами и ссылками в Java, так как он указывает на отсутствие значения (несуществующий объект). Проверка на null помогает избежать ошибок типа NullPointerException.
#Java #Training #Medium #Literals
Литералы — это фиксированные значения, которые напрямую используются в исходном коде программы. В Java они могут принимать различные формы в зависимости от типа данных. Литералы используются для представления целочисленных значений, значений с плавающей точкой, символьных и строковых данных, а также булевых значений.
Виды литералов в Java
Целочисленные литералы (Integer literals)
Литералы с плавающей точкой (Floating-point literals)
Булевы литералы (Boolean literals)
Символьные литералы (Character literals)
Строковые литералы (String literals)
Литерал null
1. Целочисленные литералы
Целочисленные литералы в Java представляют собой числа без дробной части и могут быть представлены в различных системах счисления: десятичной, восьмеричной, шестнадцатеричной и двоичной.
Десятичные числа (по умолчанию):
int decimal = 42; // обычное десятичное число
Шестнадцатеричные числа: начинаются с 0x или 0X.
int hex = 0x2A; // 42 в шестнадцатеричной системе
Восьмеричные числа: начинаются с 0 (не путать с десятичным числом).
int octal = 052; // 42 в восьмеричной системе
Двоичные числа: начинаются с 0b или 0B.
int binary = 0b101010; // 42 в двоичной системе
По умолчанию целочисленные литералы имеют тип int. Для работы с большими числами используется тип long, и для обозначения такого литерала необходимо добавить суффикс L или l:
long bigNumber = 12345678901234L;
Важно: всегда рекомендуется использовать заглавную L, чтобы избежать путаницы с цифрой 1.
2. Литералы с плавающей точкой
Литералы с плавающей точкой используются для представления чисел с дробной частью и могут быть в формате с фиксированной или экспоненциальной записью.
Пример литерала с плавающей точкой:
double pi = 3.14159;
Для представления чисел с плавающей точкой используется тип double по умолчанию. Чтобы использовать тип float, нужно добавить суффикс f или F:
float smallFloat = 3.14f;
Экспоненциальная запись (формат E):
double exp = 1.23e4; // 1.23 * 10^4 = 12300.0
3. Булевы литералы
Булевы литералы принимают два значения: true или false. Эти литералы используются для логических выражений и условий в программе.
boolean isJavaFun = true;
boolean isFishTasty = false;
Булевы значения крайне важны для управления потоком выполнения программ (например, в условных операторах if, циклах и других конструкциях).
4. Символьные литералы
Символьные литералы обозначают одиночный символ и заключаются в одинарные кавычки ('), например:
char letter = 'A';
Также можно использовать escape-последовательности для представления специальных символов:
\n — новая строка
\t — табуляция
\' — одинарная кавычка
\" — двойная кавычка
\\ — обратная косая черта
char newLine = '\n';
char tab = '\t';
Символьные литералы могут быть представлены с помощью числового значения, соответствующего символу в таблице Unicode:
char unicodeChar = '\u0041'; // Unicode для 'A'
5. Строковые литералы
Строковые литералы представляют собой последовательности символов и заключаются в двойные кавычки ("). В отличие от символьных литералов, строка может содержать несколько символов.
Пример строкового литерала:
String greeting = "Hello, World!";
Строковые литералы в Java поддерживают использование escape-последовательностей, как и символьные литералы:
String message = "Hello,\nWorld!";
Также в строковых литералах можно использовать Unicode-символы:
String unicodeString = "\u0048\u0065\u006C\u006C\u006F"; // "Hello"
6. Литерал null
Литерал null используется для указания на отсутствие какого-либо объекта. Он может быть присвоен любому объектному типу.
String str = null;
Литерал null особенно важен для работы с объектами и ссылками в Java, так как он указывает на отсутствие значения (несуществующий объект). Проверка на null помогает избежать ошибок типа NullPointerException.
#Java #Training #Medium #Literals
Примеры использования литералов в реальном коде
Пример с целочисленными, символьными и строковыми литералами:
Вывод:
Пример с литералом с плавающей точкой и булевыми значениями:
Вывод:
Особенности использования литералов в Java
Неизменяемость строковых литералов: Все строковые литералы в Java хранятся в пуле строк и являются неизменяемыми объектами. Это означает, что при изменении строки создается новый объект, а старый остается в памяти (если на него есть ссылки).
Ограничения для целочисленных литералов: Целочисленные литералы без суффикса L должны помещаться в диапазон типа int (-2^31 до 2^31 - 1). Для значений, превышающих этот диапазон, необходимо использовать литералы типа long.
#Java #Training #Medium #Literals
Пример с целочисленными, символьными и строковыми литералами:
public class LiteralsExample {
public static void main(String[] args) {
int age = 25; // целочисленный литерал
char grade = 'A'; // символьный литерал
String name = "John Doe"; // строковый литерал
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Grade: " + grade);
}
}
Вывод:
Name: John Doe
Age: 25
Grade: A
Пример с литералом с плавающей точкой и булевыми значениями:
public class BooleanAndFloatLiteralsExample {
public static void main(String[] args) {
boolean isCorrect = true; // булевый литерал
float temperature = 36.6f; // литерал с плавающей точкой
System.out.println("Is answer correct? " + isCorrect);
System.out.println("Temperature: " + temperature);
}
}
Вывод:
Is answer correct? true
Temperature: 36.6
Особенности использования литералов в Java
Неизменяемость строковых литералов: Все строковые литералы в Java хранятся в пуле строк и являются неизменяемыми объектами. Это означает, что при изменении строки создается новый объект, а старый остается в памяти (если на него есть ссылки).
Ограничения для целочисленных литералов: Целочисленные литералы без суффикса L должны помещаться в диапазон типа int (-2^31 до 2^31 - 1). Для значений, превышающих этот диапазон, необходимо использовать литералы типа long.
#Java #Training #Medium #Literals
Кодировки в Java
Кодировка символов — это способ представления символов текстовой информации в виде последовательности байтов. В Java кодировки играют ключевую роль, так как язык поддерживает работу с различными текстовыми данными, которые могут быть закодированы в разных форматах.
Кодировка — это сопоставление символов с их цифровыми представлениями. Для компьютеров текст является всего лишь последовательностью чисел, а кодировка определяет, какое число соответствует какому символу. Например, буква A может быть представлена числом 65 в кодировке ASCII или другим числом в других кодировках.
Виды кодировок в Java
В Java поддерживается множество кодировок, но основными и наиболее распространенными являются следующие:
ASCII (American Standard Code for Information Interchange)
ISO-8859-1 (Latin-1)
UTF-8 (Unicode Transformation Format)
UTF-16
Windows-1251 (CP1251)
1. ASCII
ASCII — это базовая кодировка, которая была разработана в 1960-х годах для представления английских символов. Она использует 7 бит для представления символов, что позволяет кодировать 128 символов. Эти символы включают английские буквы, цифры и некоторые специальные символы, такие как пробел и знаки пунктуации.
2. ISO-8859-1 (Latin-1)
ISO-8859-1 — это расширение кодировки ASCII до 8 бит, которое позволяет представлять 256 символов. Эта кодировка добавляет дополнительные символы для западноевропейских языков, такие как буквы с диакритическими знаками (например, é, ñ).
3. UTF-8
UTF-8 — одна из самых популярных кодировок на сегодняшний день. Она использует от 1 до 4 байтов для представления символов и способна кодировать весь диапазон символов Unicode. UTF-8 широко используется в Интернете и поддерживается большинством операционных систем и программ.
4. UTF-16
UTF-16 использует 2 байта для большинства символов, но для символов из дополнительных плоскостей Unicode может использовать и 4 байта. Она часто используется внутри Java для представления строк в памяти, так как кодировка UTF-16 поддерживает все символы Unicode.
#Java #Training #Medium #Code
Кодировка символов — это способ представления символов текстовой информации в виде последовательности байтов. В Java кодировки играют ключевую роль, так как язык поддерживает работу с различными текстовыми данными, которые могут быть закодированы в разных форматах.
Кодировка — это сопоставление символов с их цифровыми представлениями. Для компьютеров текст является всего лишь последовательностью чисел, а кодировка определяет, какое число соответствует какому символу. Например, буква A может быть представлена числом 65 в кодировке ASCII или другим числом в других кодировках.
Виды кодировок в Java
В Java поддерживается множество кодировок, но основными и наиболее распространенными являются следующие:
ASCII (American Standard Code for Information Interchange)
ISO-8859-1 (Latin-1)
UTF-8 (Unicode Transformation Format)
UTF-16
Windows-1251 (CP1251)
1. ASCII
ASCII — это базовая кодировка, которая была разработана в 1960-х годах для представления английских символов. Она использует 7 бит для представления символов, что позволяет кодировать 128 символов. Эти символы включают английские буквы, цифры и некоторые специальные символы, такие как пробел и знаки пунктуации.
public class AsciiExample {
public static void main(String[] args) {
char letter = 'A'; // Символ 'A' в ASCII имеет числовое значение 65
int asciiValue = (int) letter;
System.out.println("ASCII значение символа 'A': " + asciiValue);
}
}
Однако ASCII не подходит для кодирования символов, встречающихся в других языках, таких как кириллица или китайские иероглифы.
2. ISO-8859-1 (Latin-1)
ISO-8859-1 — это расширение кодировки ASCII до 8 бит, которое позволяет представлять 256 символов. Эта кодировка добавляет дополнительные символы для западноевропейских языков, такие как буквы с диакритическими знаками (например, é, ñ).
import java.nio.charset.StandardCharsets;
public class ISOExample {
public static void main(String[] args) {
String text = "Résumé"; // Символы с диакритическими знаками
byte[] bytes = text.getBytes(StandardCharsets.ISO_8859_1);
String decodedText = new String(bytes, StandardCharsets.ISO_8859_1);
System.out.println(decodedText); // Вывод: Résumé
}
}
3. UTF-8
UTF-8 — одна из самых популярных кодировок на сегодняшний день. Она использует от 1 до 4 байтов для представления символов и способна кодировать весь диапазон символов Unicode. UTF-8 широко используется в Интернете и поддерживается большинством операционных систем и программ.
import java.nio.charset.StandardCharsets;
public class Utf8Example {
public static void main(String[] args) {
String text = "Привет, мир!";
byte[] utf8Bytes = text.getBytes(StandardCharsets.UTF_8);
String decodedText = new String(utf8Bytes, StandardCharsets.UTF_8);
System.out.println(decodedText); // Вывод: Привет, мир!
}
}
UTF-8 позволяет эффективно кодировать текст на многих языках, благодаря чему это стандартная кодировка для большинства современных приложений.
4. UTF-16
UTF-16 использует 2 байта для большинства символов, но для символов из дополнительных плоскостей Unicode может использовать и 4 байта. Она часто используется внутри Java для представления строк в памяти, так как кодировка UTF-16 поддерживает все символы Unicode.
public class Utf16Example {
public static void main(String[] args) {
String text = "Hello, 世界!";
byte[] utf16Bytes = text.getBytes(StandardCharsets.UTF_16);
String decodedText = new String(utf16Bytes, StandardCharsets.UTF_16);
System.out.println(decodedText); // Вывод: Hello, 世界!
}
}
#Java #Training #Medium #Code
5. Windows-1251 (CP1251)
Кодировка Windows-1251, также известная как CP1251, используется для кодирования текста на кириллице, что делает ее популярной в русскоязычных странах. Она использует 8 бит для представления символов.
Где применяются кодировки в Java?
Кодировки используются в Java везде, где происходит работа с текстом: чтение и запись файлов, работа с сетевыми протоколами, взаимодействие с базами данных и веб-страницами. Рассмотрим несколько примеров, где важна правильная работа с кодировками.
1. Чтение и запись файлов
При работе с файлами важно задавать кодировку, чтобы текст правильно отображался. Если кодировка указана неверно, текст может быть искажён.
2. Работа с базами данных
При взаимодействии с базами данных, особенно если они поддерживают многоязычные данные, важно правильно настраивать кодировки как на уровне базы данных, так и при чтении и записи данных в Java.
3. Сетевые протоколы
При передаче данных по сети важно использовать правильную кодировку, чтобы текстовые данные не искажались. Например, при отправке данных через HTTP протоколы часто используется кодировка UTF-8.
Кодировка по умолчанию
Java автоматически использует кодировку по умолчанию, которая зависит от операционной системы. Это может привести к проблемам, если программа работает на разных платформах. Для явного указания кодировки используйте методы с явным указанием Charset, как показано в примерах выше.
#Java #Training #Medium #Code
Кодировка Windows-1251, также известная как CP1251, используется для кодирования текста на кириллице, что делает ее популярной в русскоязычных странах. Она использует 8 бит для представления символов.
import java.nio.charset.Charset;
public class Cp1251Example {
public static void main(String[] args) {
String text = "Привет";
Charset charset = Charset.forName("windows-1251");
byte[] cp1251Bytes = text.getBytes(charset);
String decodedText = new String(cp1251Bytes, charset);
System.out.println(decodedText); // Вывод: Привет
}
}
Где применяются кодировки в Java?
Кодировки используются в Java везде, где происходит работа с текстом: чтение и запись файлов, работа с сетевыми протоколами, взаимодействие с базами данных и веб-страницами. Рассмотрим несколько примеров, где важна правильная работа с кодировками.
1. Чтение и запись файлов
При работе с файлами важно задавать кодировку, чтобы текст правильно отображался. Если кодировка указана неверно, текст может быть искажён.
import java.io.*;
public class FileEncodingExample {
public static void main(String[] args) throws IOException {
String text = "Пример текста";
try (Writer writer = new OutputStreamWriter(new FileOutputStream("example.txt"), "UTF-8")) {
writer.write(text);
}
try (Reader reader = new InputStreamReader(new FileInputStream("example.txt"), "UTF-8")) {
int data;
while ((data = reader.read()) != -1) {
System.out.print((char) data);
}
}
}
}
2. Работа с базами данных
При взаимодействии с базами данных, особенно если они поддерживают многоязычные данные, важно правильно настраивать кодировки как на уровне базы данных, так и при чтении и записи данных в Java.
3. Сетевые протоколы
При передаче данных по сети важно использовать правильную кодировку, чтобы текстовые данные не искажались. Например, при отправке данных через HTTP протоколы часто используется кодировка UTF-8.
Кодировка по умолчанию
Java автоматически использует кодировку по умолчанию, которая зависит от операционной системы. Это может привести к проблемам, если программа работает на разных платформах. Для явного указания кодировки используйте методы с явным указанием Charset, как показано в примерах выше.
#Java #Training #Medium #Code
Что выведет код?
#Tasks
public class Task270924 {
public static void main(String[] args) {
String str = "Hello\nWorld\t\"Java\"";
System.out.println(str);
}
}
#Tasks
Варианты ответа:
Anonymous Quiz
10%
Hello World "Java"
17%
Hello\nWorld\t"Java"
0%
Hello World Java
72%
Hello (новая строка) World "Java"
Экранирование символов в Java
Экранирование символов в Java — это способ представления специальных символов внутри строковых или символьных литералов, которые могут быть неправильно интерпретированы компилятором или интерпретатором, если они не будут обработаны специальным образом. Экранирование позволяет корректно отображать такие символы, как кавычки, символ новой строки, табуляцию и другие.
В Java есть несколько символов, которые имеют специальное значение, например, символы новой строки, табуляции или кавычек. Чтобы использовать их внутри строкового литерала, нужно экранировать такие символы, то есть перед ними ставить специальный символ \ (обратная косая черта).
Основные escape-последовательности
\n — символ новой строки (line feed)
\t — символ табуляции (tab)
\' — одинарная кавычка (single quote)
\" — двойная кавычка (double quote)
\\ — обратная косая черта (backslash)
\r — возврат каретки (carriage return)
\b — backspace
\f — символ перевода страницы (form feed)
\uXXXX — символ в формате Unicode
Примеры использования экранирования
1. Экранирование кавычек
В строках на Java можно использовать как одинарные, так и двойные кавычки. Если нужно вставить кавычки внутрь строки, они должны быть экранированы, чтобы не восприниматься компилятором как символы, завершающие строку.
2. Символ новой строки и табуляция
Символы новой строки и табуляции часто используются для форматирования текста.
Пример использования \n и \t:
Вывод:
3. Экранирование обратной косой черты
Обратная косая черта \ сама по себе является символом экранирования, поэтому, если нужно вставить саму обратную косую черту в строку, её необходимо экранировать.
4. Символы Unicode
В Java можно использовать Unicode-последовательности для представления символов, которые не могут быть легко введены с клавиатуры. Эти символы записываются в формате \uXXXX, где XXXX — это 16-битное шестнадцатеричное значение.
5. Символ возврата каретки и другие
Символы вроде возврата каретки \r и backspace \b реже используются, но всё ещё имеют своё место в текстовых форматах или системах с ограниченным набором символов.
#Java #Training #Medium #Escaping_char
Экранирование символов в Java — это способ представления специальных символов внутри строковых или символьных литералов, которые могут быть неправильно интерпретированы компилятором или интерпретатором, если они не будут обработаны специальным образом. Экранирование позволяет корректно отображать такие символы, как кавычки, символ новой строки, табуляцию и другие.
В Java есть несколько символов, которые имеют специальное значение, например, символы новой строки, табуляции или кавычек. Чтобы использовать их внутри строкового литерала, нужно экранировать такие символы, то есть перед ними ставить специальный символ \ (обратная косая черта).
Основные escape-последовательности
\n — символ новой строки (line feed)
\t — символ табуляции (tab)
\' — одинарная кавычка (single quote)
\" — двойная кавычка (double quote)
\\ — обратная косая черта (backslash)
\r — возврат каретки (carriage return)
\b — backspace
\f — символ перевода страницы (form feed)
\uXXXX — символ в формате Unicode
Примеры использования экранирования
1. Экранирование кавычек
В строках на Java можно использовать как одинарные, так и двойные кавычки. Если нужно вставить кавычки внутрь строки, они должны быть экранированы, чтобы не восприниматься компилятором как символы, завершающие строку.
public class EscapeExample {
public static void main(String[] args) {
String quote = "He said, \"Java is fun!\"";
System.out.println(quote); // Вывод: He said, "Java is fun!"
}
}
2. Символ новой строки и табуляция
Символы новой строки и табуляции часто используются для форматирования текста.
Пример использования \n и \t:
public class NewLineAndTabExample {
public static void main(String[] args) {
String formattedText = "Line1\n\tLine2\n\t\tLine3";
System.out.println(formattedText);
}
}
Вывод:
Line1
Line2
Line3
3. Экранирование обратной косой черты
Обратная косая черта \ сама по себе является символом экранирования, поэтому, если нужно вставить саму обратную косую черту в строку, её необходимо экранировать.
public class BackslashExample {
public static void main(String[] args) {
String path = "C:\\Program Files\\Java";
System.out.println(path); // Вывод: C:\Program Files\Java
}
}
4. Символы Unicode
В Java можно использовать Unicode-последовательности для представления символов, которые не могут быть легко введены с клавиатуры. Эти символы записываются в формате \uXXXX, где XXXX — это 16-битное шестнадцатеричное значение.
public class UnicodeExample {
public static void main(String[] args) {
String unicodeString = "\u0048\u0065\u006C\u006C\u006F"; // "Hello"
System.out.println(unicodeString); // Вывод: Hello
}
}
5. Символ возврата каретки и другие
Символы вроде возврата каретки \r и backspace \b реже используются, но всё ещё имеют своё место в текстовых форматах или системах с ограниченным набором символов.
public class CarriageReturnExample {
public static void main(String[] args) {
System.out.println("Hello\rWorld"); // Вывод: World
}
}
#Java #Training #Medium #Escaping_char
Применение экранирования в реальных сценариях
Экранирование символов в Java применяется в различных ситуациях, начиная от форматирования текста и заканчивая взаимодействием с внешними системами, где может быть важно корректное отображение специальных символов.
1. Форматирование текста для логов и сообщений
Когда необходимо выводить структурированную информацию в виде сообщений или логов, экранирование специальных символов помогает делать текст более читабельным.
2. Работа с файлами и путями
При работе с файловыми путями, особенно на Windows, часто приходится использовать обратную косую черту, которая должна быть экранирована.
3. Работа с JSON и XML
Экранирование символов важно при работе с форматами данных, такими как JSON и XML, где кавычки и обратные косые черты играют специальные роли.
#Java #Training #Medium #Escaping_char
Экранирование символов в Java применяется в различных ситуациях, начиная от форматирования текста и заканчивая взаимодействием с внешними системами, где может быть важно корректное отображение специальных символов.
1. Форматирование текста для логов и сообщений
Когда необходимо выводить структурированную информацию в виде сообщений или логов, экранирование специальных символов помогает делать текст более читабельным.
public class LogExample {
public static void main(String[] args) {
String logMessage = "INFO:\n\tTime: 12:00\n\tMessage: \"Process completed\"";
System.out.println(logMessage);
}
}
2. Работа с файлами и путями
При работе с файловыми путями, особенно на Windows, часто приходится использовать обратную косую черту, которая должна быть экранирована.
public class FilePathExample {
public static void main(String[] args) {
String filePath = "C:\\Users\\Public\\Documents\\report.txt";
System.out.println(filePath);
}
}
3. Работа с JSON и XML
Экранирование символов важно при работе с форматами данных, такими как JSON и XML, где кавычки и обратные косые черты играют специальные роли.
public class JsonExample {
public static void main(String[] args) {
String jsonString = "{ \"name\": \"John\", \"age\": 30 }";
System.out.println(jsonString);
}
}
#Java #Training #Medium #Escaping_char
Всем доброго субботнего утра!☀️
Как ваше настроение?
Каждую субботу взял за правило спрашивать про Ваши пет проекты и как правило никто ничего не рассказывает😂😂😂
Сменим тему? 🫣
Какие интересные фильмы и сериалы Вы знаете на тему программирования и IT в целом?😏
Может что посоветуете на вечер?🫢
От себя могу сказать что недавно посмотрел "Силиконовую долину" и остался доволен)))
Жду комментариев😎
Хороших всем выходных!)🎉
Как ваше настроение?
Каждую субботу взял за правило спрашивать про Ваши пет проекты и как правило никто ничего не рассказывает😂😂😂
Сменим тему? 🫣
Какие интересные фильмы и сериалы Вы знаете на тему программирования и IT в целом?😏
Может что посоветуете на вечер?🫢
От себя могу сказать что недавно посмотрел "Силиконовую долину" и остался доволен)))
Жду комментариев😎
Хороших всем выходных!)🎉
Рисуем 2D солнечную систему на Java Swing и awt! Встреча от 29.09.2024
Запись нашей сегодняшней встречи -
YOUTUBE
RUTUBE
Спасибо тем кто был, за Ваше терпение и подсказки, сегодня было сложно!🙏
На сегодняшней встрече с подписчиками, мы создали приложение, в котором отображается солнечная система, с планетами от Меркурия до Юпитера со спутниками, реально приближенная к физическим параметрам. Рассмотрели на примере работу с библиотеками Swing и Awt и попрактиковались в поиске ошибок кода)))
Код на GitHUB - https://github.com/Oleborn/SolarSystemProject.git
Смотрите, комментируйте, задавайте вопросы! Обязательно подписывайтесь на ютуб и рутюб каналы!!!
Всем лунной ночи и отличного настроения! 🫡✌️
Запись нашей сегодняшней встречи -
YOUTUBE
RUTUBE
Спасибо тем кто был, за Ваше терпение и подсказки, сегодня было сложно!🙏
На сегодняшней встрече с подписчиками, мы создали приложение, в котором отображается солнечная система, с планетами от Меркурия до Юпитера со спутниками, реально приближенная к физическим параметрам. Рассмотрели на примере работу с библиотеками Swing и Awt и попрактиковались в поиске ошибок кода)))
Код на GitHUB - https://github.com/Oleborn/SolarSystemProject.git
Смотрите, комментируйте, задавайте вопросы! Обязательно подписывайтесь на ютуб и рутюб каналы!!!
Всем лунной ночи и отличного настроения! 🫡✌️
Регулярные выражения в Java
Регулярные выражения (или регэкспы) — это мощный инструмент для поиска и обработки текста на основе шаблонов. В Java они представляют собой гибкий способ для проверки строк, поиска подстрок, замены и других текстовых операций. Регулярные выражения используются в самых разных ситуациях: от простой валидации данных до сложной обработки текста.
Регулярное выражение — это строка, которая описывает шаблон для поиска в тексте. С помощью такого шаблона можно легко проверять, соответствует ли строка определённому формату, искать совпадения и даже заменять текст.
В Java для работы с регулярными выражениями используется пакет java.util.regex, который включает два основных класса:
Pattern — компилирует регулярное выражение в объект шаблона.
Matcher — используется для поиска и обработки текста на основе скомпилированного шаблона.
Как работают регулярные выражения в Java?
Компиляция регулярного выражения: Шаблон регулярного выражения компилируется в объект типа Pattern. Это важно для повышения производительности, так как скомпилированное выражение можно использовать повторно.
Создание объекта Matcher: Объект Matcher создается на основе строки, которую необходимо обработать, и объекта Pattern.
Поиск и проверка совпадений: С помощью метода find() или matches() проверяется, соответствует ли строка регулярному выражению.
Основные элементы регулярных выражений
Регулярные выражения включают разнообразные элементы, такие как символы, классы символов, метасимволы, квантификаторы и группы.
Символы и их экранирование
Обычные символы в регулярных выражениях соответствуют самим себе. Например, выражение a найдет символ a в строке. Однако существуют специальные символы, которые необходимо экранировать обратной косой чертой \, чтобы использовать их как обычные символы.
. — соответствует любому символу, кроме новой строки.
\. — экранированная точка, соответствует точке ..
Классы символов
Классы символов позволяют описать множество символов, которые могут быть в определённой позиции строки.
[abc] — соответствует одному из символов a, b или c.
[^abc] — соответствует любому символу, кроме a, b или c.
[0-9] — соответствует любой цифре от 0 до 9.
Предопределенные классы символов
\d — соответствует любой цифре, эквивалентно [0-9].
\D — соответствует любому символу, который не является цифрой, эквивалентно [^0-9].
\w — соответствует букве, цифре или символу подчеркивания, эквивалентно [a-zA-Z0-9_].
\W — соответствует любому символу, который не является буквой, цифрой или подчеркиванием.
\s — соответствует пробельному символу (пробел, табуляция, перенос строки).
\S — соответствует любому символу, кроме пробельных.
#Java #Training #Medium #Regular_ExpressionsAPI
Регулярные выражения (или регэкспы) — это мощный инструмент для поиска и обработки текста на основе шаблонов. В Java они представляют собой гибкий способ для проверки строк, поиска подстрок, замены и других текстовых операций. Регулярные выражения используются в самых разных ситуациях: от простой валидации данных до сложной обработки текста.
Регулярное выражение — это строка, которая описывает шаблон для поиска в тексте. С помощью такого шаблона можно легко проверять, соответствует ли строка определённому формату, искать совпадения и даже заменять текст.
В Java для работы с регулярными выражениями используется пакет java.util.regex, который включает два основных класса:
Pattern — компилирует регулярное выражение в объект шаблона.
Matcher — используется для поиска и обработки текста на основе скомпилированного шаблона.
Как работают регулярные выражения в Java?
Компиляция регулярного выражения: Шаблон регулярного выражения компилируется в объект типа Pattern. Это важно для повышения производительности, так как скомпилированное выражение можно использовать повторно.
Создание объекта Matcher: Объект Matcher создается на основе строки, которую необходимо обработать, и объекта Pattern.
Поиск и проверка совпадений: С помощью метода find() или matches() проверяется, соответствует ли строка регулярному выражению.
import java.util.regex.*;
public class RegexExample {
public static void main(String[] args) {
// Шаблон регулярного выражения
String regex = "\\d+"; // Ищет одну или более цифр
// Строка для поиска
String input = "В Java 17 появилась новая функциональность.";
// Компиляция шаблона
Pattern pattern = Pattern.compile(regex);
// Создание объекта Matcher
Matcher matcher = pattern.matcher(input);
// Поиск совпадений
while (matcher.find()) {
System.out.println("Найдено совпадение: " + matcher.group());
}
}
}
В этом примере регулярное выражение \\d+ ищет одну или более цифр в строке.
Основные элементы регулярных выражений
Регулярные выражения включают разнообразные элементы, такие как символы, классы символов, метасимволы, квантификаторы и группы.
Символы и их экранирование
Обычные символы в регулярных выражениях соответствуют самим себе. Например, выражение a найдет символ a в строке. Однако существуют специальные символы, которые необходимо экранировать обратной косой чертой \, чтобы использовать их как обычные символы.
. — соответствует любому символу, кроме новой строки.
\. — экранированная точка, соответствует точке ..
Классы символов
Классы символов позволяют описать множество символов, которые могут быть в определённой позиции строки.
[abc] — соответствует одному из символов a, b или c.
[^abc] — соответствует любому символу, кроме a, b или c.
[0-9] — соответствует любой цифре от 0 до 9.
Предопределенные классы символов
\d — соответствует любой цифре, эквивалентно [0-9].
\D — соответствует любому символу, который не является цифрой, эквивалентно [^0-9].
\w — соответствует букве, цифре или символу подчеркивания, эквивалентно [a-zA-Z0-9_].
\W — соответствует любому символу, который не является буквой, цифрой или подчеркиванием.
\s — соответствует пробельному символу (пробел, табуляция, перенос строки).
\S — соответствует любому символу, кроме пробельных.
public class PredefinedClassesExample {
public static void main(String[] args) {
String regex = "\\w+"; // Соответствует одному или более "словам"
String input = "Java_17 is awesome!";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println("Найдено слово: " + matcher.group());
}
}
}
#Java #Training #Medium #Regular_ExpressionsAPI
Метасимволы
Метасимволы — это символы, которые имеют специальное значение в регулярных выражениях.
. — любой символ, кроме новой строки.
^ — соответствует началу строки.
$ — соответствует концу строки.
| — логическое "или".
() — группы для объединения подвыражений.
Квантификаторы
Квантификаторы задают, сколько раз символ или группа могут повторяться.
* — ноль или более повторений.
+ — одно или более повторений.
? — ноль или одно повторение.
{n} — ровно n повторений.
{n,} — не менее n повторений.
{n,m} — от n до m повторений.
Виды регулярных выражений
Регулярные выражения могут быть простыми и сложными в зависимости от задачи. Они делятся на несколько основных категорий:
Простые регулярные выражения: Подходят для простых операций поиска, например, нахождения цифр или букв.
Сложные регулярные выражения: Используются для более сложных задач, таких как валидация форматов (например, номера телефона или электронной почты).
Глобальные и локальные регулярные выражения: В Java можно искать все совпадения в строке или только одно с помощью методов find() или matches().
#Java #Training #Medium #Regular_ExpressionsAPI
Метасимволы — это символы, которые имеют специальное значение в регулярных выражениях.
. — любой символ, кроме новой строки.
^ — соответствует началу строки.
$ — соответствует концу строки.
| — логическое "или".
() — группы для объединения подвыражений.
public class GroupExample {
public static void main(String[] args) {
String regex = "(Java|Python)"; // Найдет либо "Java", либо "Python"
String input = "Я учу Java и Python.";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println("Найдено: " + matcher.group());
}
}
}
Квантификаторы
Квантификаторы задают, сколько раз символ или группа могут повторяться.
* — ноль или более повторений.
+ — одно или более повторений.
? — ноль или одно повторение.
{n} — ровно n повторений.
{n,} — не менее n повторений.
{n,m} — от n до m повторений.
public class QuantifierExample {
public static void main(String[] args) {
String regex = "\\d{2,4}"; // Ищет числа с 2 до 4 цифр
String input = "Числа: 12, 345, 6789 и 12345.";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println("Найдено число: " + matcher.group());
}
}
}
Виды регулярных выражений
Регулярные выражения могут быть простыми и сложными в зависимости от задачи. Они делятся на несколько основных категорий:
Простые регулярные выражения: Подходят для простых операций поиска, например, нахождения цифр или букв.
Сложные регулярные выражения: Используются для более сложных задач, таких как валидация форматов (например, номера телефона или электронной почты).
Глобальные и локальные регулярные выражения: В Java можно искать все совпадения в строке или только одно с помощью методов find() или matches().
#Java #Training #Medium #Regular_ExpressionsAPI
Что выведет код?
#Tasks
import java.util.regex.*;
public class Task300924 {
public static void main(String[] args) {
String input = "123 abc 456 def 789";
String regex = "\\d+";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
int count = 0;
while (matcher.find()) {
count++;
}
System.out.println(count);
}
}
#Tasks