Использование конкатенации строк
Конкатенация строк (сцепление) — это операция объединения строк. Для этой операции в Java используется знак +
. К строке можно присоединять не только другую строку, но и значение любого другого типа, которое будет преобразовано к строке автоматически. Как же понять в каких случаях знак +
это конкатенация, а в каких случаях арифметическая операция?
Важно запомнить всего два правила:
- Если один из операндов типа String, то оператор
+
используется как конкатенация строк. - Если оба операнда являются числами, то оператор
+
используется в качестве сложения.
В этом примере просто объединяем две строки:
public class StringExample1 {
public static void main(String[] args) {
String str1 = "world";
System.out.println("Hello " + str1);
System.out.println("First line\n" + "Second line");
}
}
В следующем примере в первом System.out.println
на консоль выведется строка "X Y". Мы объединяем char
со String
- это конкатенация. Во втором же System.out.println
на консоль выведется не строка, как многие ожидают, а число 177. Почему число? Тип char является псевдоцелочисленным типом, и может участвовать в арифметических операциях. В данном случае складываются коды символов:
public class StringExample2 {
public static void main(String[] args) {
char x, y;
x = 88; // Код символа 'X'
y = 'Y';
System.out.println(x + " " + y); //Выведется X Y
System.out.println(x + y); //Выведется 177
}
}
В следующем примере на консоль выведется значение "str=48" - не забываем о приоритетах операций. Операция умножения имеет больший приоритет чем сложение:
public class StringExample3 {
public static void main(String[] args) {
System.out.println("str=" + 4 + 4 * 2);
}
}
В строке можно использовать также кодировку Unicode, так же как и в переменных типа char
:
public class StringExample4 {
public static void main(String[] args) {
// Слово "Украина" в кодировке Unicode
System.out.println("\u0423\u043A\u0440\u0430\u0438\u043D\u0430");
}
}
Чтобы сравнить на равенство две строки, необходимо воспользоваться методом equals() или Objects.equals()
(начиная с Java 7):
import java.util.Objects;
public class StringExample5 {
public static void main(String[] args) {
String str1 = "Hello";
String str2 = "Hi";
System.out.println(str1.equals(str2));
System.out.println(Objects.equals(str1, str2));
}
}
Длина строки определяется с помощью метода length()
:
public class StringExample6 {
public static void main(String[] args) {
String str = "Hello";
System.out.println("Длина строки: " + str.length());
}
}
Презентацию с видео можно скачать на Patreon.
Зарегистрируйтесь или войдите, чтобы иметь возможность оставить комментарий.