четверг, 29 октября 2020 г.

Экранирование символов в Java. Escape-последовательности

   Экранирование символов - это замена в тексте управляющих символов на соответствующие текстовые подстановки (Escape-последовательности).

 

   Пример: В Java текст можно представить в виде типа String, для обозначения данных которого используются управляющие символы - парные кавычки, которые обозначают начало и конец строки. Поэтому, чтобы вывести в кавычки в тексте и программа не восприняла бы эти символы как управляющие, необходимо преобразовать их в escape-последовательности.

 

   Экранированиесимволов в Java (Escape-последовательности Java) в строках (строковых литералах):

    \” – экранирование двойной кавычки, помогает, например, вывести символ двойной кавычки в тексте;

   \’ — Символ одинарной кавычки

   Пример экранирования одинарной кавычки для инициализации типа char одинарной кавычкой:

char primer = '\ ' ';

   \\ – экранирование обратной косой черты (\) (слэш)

   Символ обратной косой черты экранируют, например, для указания, что последующий символ не будет являтся частью escape-последовательности или при работе с путями к файлам.

    \t — Символ табуляции (в java – эквивалент четырех пробелов)

(Однако, если длина строки, состоящая из четырех пробелов будет равна длине четырех символов, то длина строки с символом табуляции будет равна одному)

   Символ табуляции часто используется для построения таблиц или псевдографических элементов интерфейса, т.к. это удобнее записи четырех пробелов.

   \b — Символ возврата в тексте на один шаг назад или удаление последнего символа в строке вывода, подобно нажатию на клавишу backspace.

   \n — Символ перехода на новую строку подобно нажатию на клавишу Enter

   \r — Символ возврата каретки позволяет нам вернуть курсор к началу строки вывода и отображать новую информацию так, как будто ранее в этой строке ничего не было

   \f— для обозначения, что текст необходимо начать печатать с новой страницы (Прогон страницы к началу следующей страницы)

 

   В java экранирование символов используется и в форматировании строк. Например, задавая формат строки для отображения символа процента, необходимо продублировать символ процента – %%, иначе получим ошибку, а IDE будет предлагать дописать процент.

 

   Об escape-последовательностях класса Pattern можно прочитать здесь: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html.

   Более развернуто об экранировании можно проситать здесь: https://javarush.ru/groups/posts/614-----ehkranirovanie-simvolov-v-java

суббота, 10 октября 2020 г.

О методах в Java

 Что такое метод


   Метод (функция) - это набор инструкций (команд), выполняемых программой, которому присвоили имя (имя метода).


    Методы - это функционал класса (то, что объекты этого класса умеют делать).

   Имена методов в Java принято записывать с маленькой буквы.

   Код (тело) метода – это набор выражений (команд) (инструкций). Инструкции для метода должны быть размещены между его фигурными скобками - в "теле метода".

   Аргументы (параметры) метода - все параметры, "принимаемые на входЦ, которые нужно передать методу, указываются внутри пары круглых скобок в виде списка элементов, разделенных символами ";" (точка с запятой). Каждый элемент списка параметров состоит из разделенных пробелом типа и идентификатора.
   Метод может не принимать никаких параметров: если методу для работы не нужны входные параметры, скобки оставляют пустыми, но скобки должны быть в любом случае.

    Важным понятием является сигнатура метода.

   Сигнатура метода определяется именем метода и его аргументами (количеством, типом, порядком следования).

   Если для полей запрещается совпадение имен, то для методов в классе запрещено создание двух методов с одинаковыми сигнатурами.

   Для методов-конструкторов в связи с отсутствием имени (или из-за того, что у всех конструкторов одинаковое имя, совпадающее с именем класса) сигнатура конструктора определяется только набором входных параметров.


    В функцию (метод) можно не только передавать аргументы (параметры), функция еще может возвращать результат(значение) своей работы - это делается с помощью ключевого слова return.
   Оператор return не только возвращает результат работы метода, но и завершает его работу: компилятор Java выдаст ошибку при попытке написать код после return.

   Количество параметров метода можно сделать неопределённым: запись (String...names) переданная в качестве параметра позволяет нам указать, что в метод передается какое-то количество строк, не оговаривая заранее, сколько их должно быть.


    О статических и нестатических методах можно прочитать здесь:

https://javaika.blogspot.com/2019/01/void-static.html



   В Java изначально предопределены (существуют) некоторые специальные методы.

   Например:


   Метод main () играет очень важную роль:
   С этого метода, как правило, начинается выполнение программы: все существующие реализации Java-интерпретаторов, получив команду интерпретировать класс, начинают свою работу с вызова метода main.
   Java-транслятор может оттранслировать класс, в котором нет метода main, а вот Java-интерпретатор запускать классы без метода main не умеет.
   Если не планируется, что программу будут запускать на выполнение, а описанный класс лишь будет использоваться в других программах, то наличие в тексте метода main не обязательно.



    Пример метода main:

   public static void main (String[] args) //Данная строка должна всегда иметь имено эти ключевые слова (см. п.12.1.4 спецификации)
{
Код метода
}
Пример вызова метод:

public class Solution {
   //Далее идет метод main, в котором вызывается на печать результат вычисления в методе inc

   public static void main(String[] args)  {
      System.out.println(inc(5));
   }
   //Далее идёт вызываемый метод inc:
   public static int inc(int a) {
      return a * a;
   }
}


   Для реализации механизма конкатенации (склеивания (объединения) строк) неявно вызывается метод toString(): при сложении строки, числа и объекта число будет преобразовано в строку, и объект будет преобразован в строку.

Наследование в Java

   «родительское/дочернее»     Наследование (inheritance) - свойство системы, позволяющее описать (создать) новый класс на основе уже су...