Введение
В этом практическом занятии (лабораторной работе) вы научитесь проверять, является ли строка пустой на Java. Мы рассмотрим три ключевые техники: использование метода length() для проверки длины строки, применение специального метода isEmpty() для прямого тестирования и, что особенно важно, обработку потенциально нулевых строк перед проверкой на пустоту, чтобы избежать ошибок. По завершении этого практического занятия вы будете хорошо понимать, как эффективно определять пустоту строк в своих Java - программах.
Проверка длины строки с использованием метода length()
На этом этапе мы рассмотрим, как определить длину строки на Java с помощью встроенного метода length(). Понимание длины строки является фундаментальным понятием при работе с текстовыми данными на любом языке программирования.
В Java String представляет собой последовательность символов. Метод length() - простой способ узнать, сколько символов содержится в строке. Это похоже на то, как вы считаете буквы в слове или слова в предложении.
Создадим простую Java - программу, чтобы продемонстрировать это.
Откройте файл
HelloJava.javaв редакторе WebIDE, если он еще не открыт.Замените все содержимое файла следующим кодом:
public class HelloJava { public static void main(String[] args) { String greeting = "Hello, Java!"; int length = greeting.length(); System.out.println("The string is: " + greeting); System.out.println("The length of the string is: " + length); } }Рассмотрим новые части этого кода:
String greeting = "Hello, Java!";: Эта строка объявляет переменную с именемgreetingи присваивает ей строковое значение "Hello, Java!".int length = greeting.length();: Именно здесь мы используем методlength(). Мы вызываемlength()для строкиgreeting, и он возвращает количество символов в этой строке. Затем это число сохраняется в целочисленной переменной с именемlength.System.out.println("The string is: " + greeting);: Эта строка выводит исходную строку в консоль.System.out.println("The length of the string is: " + length);: Эта строка выводит вычисленную длину строки.
Сохраните файл (Ctrl+S или Cmd+S).
Теперь скомпилируем нашу программу. Откройте терминал внизу WebIDE и убедитесь, что вы находитесь в каталоге
~/project. Затем выполните следующую команду:javac HelloJava.javaЕсли компиляция прошла успешно, вы не увидите никакого вывода.
Наконец, запустим скомпилированную программу:
java HelloJavaВы должны увидеть вывод, похожий на следующий:
The string is: Hello, Java! The length of the string is: 12Вывод показывает исходную строку и ее длину, которая равна 12 (включая запятую, пробел и восклицательный знак).
Вы успешно использовали метод length() для определения длины строки на Java! Это простая, но важная операция при работе с текстовыми данными.
Проверка строки на пустоту с использованием метода isEmpty()
На этом этапе мы научимся проверять, является ли строка пустой на Java с помощью метода isEmpty(). Пустая строка - это строка, которая не содержит ни одного символа. Она отличается от строки, содержащей пробелы или другие символы.
Метод isEmpty() - удобный способ проверить, имеет ли строка длину, равную нулю. Он возвращает true, если строка пуста, и false в противном случае.
Модифицируем нашу программу HelloJava.java, чтобы продемонстрировать метод isEmpty().
Откройте файл
HelloJava.javaв редакторе WebIDE.Замените существующий код следующим:
public class HelloJava { public static void main(String[] args) { String str1 = "Hello"; String str2 = ""; // This is an empty string String str3 = " "; // This string contains a space System.out.println("String 1: \"" + str1 + "\""); System.out.println("Is String 1 empty? " + str1.isEmpty()); System.out.println("\nString 2: \"" + str2 + "\""); System.out.println("Is String 2 empty? " + str2.isEmpty()); System.out.println("\nString 3: \"" + str3 + "\""); System.out.println("Is String 3 empty? " + str3.isEmpty()); } }В этом коде:
- Мы объявляем три строки:
str1с содержимым,str2, которая пуста, иstr3, которая содержит пробел. - Мы используем
str1.isEmpty(),str2.isEmpty()иstr3.isEmpty()для проверки, является ли каждая строка пустой. - Операторы
System.out.println()будут выводить строку и результат проверки методомisEmpty()(trueилиfalse).
- Мы объявляем три строки:
Сохраните файл (Ctrl+S или Cmd+S).
Скомпилируйте модифицированную программу в терминале:
javac HelloJava.javaОпять же, отсутствие вывода означает успешную компиляцию.
Запустите программу:
java HelloJavaВы должны увидеть вывод, похожий на следующий:
String 1: "Hello" Is String 1 empty? false String 2: "" Is String 2 empty? true String 3: " " Is String 3 empty? falseКак вы можете видеть, метод
isEmpty()правильно определяет, чтоstr2пуста (true), ноstr1иstr3не пусты (false). Это потому, чтоstr3содержит символ пробела, даже если кажется, что она может быть пустой.
Вы успешно использовали метод isEmpty() для проверки строк на пустоту. Это полезно для валидации пользовательского ввода или обработки текстовых данных, когда вам нужно обрабатывать случаи отсутствия или пустых строк.
Обработка нулевых строк перед проверкой на пустоту
На предыдущем этапе мы узнали, как использовать метод isEmpty() для проверки, является ли строка пустой. Однако в Java есть важное понятие, называемое null. Значение null означает, что переменная не ссылается на какой - либо объект. Если вы попытаетесь вызвать такой метод, как isEmpty(), для строки со значением null, ваша программа завершится аварийно с ошибкой NullPointerException.
Важно обработать строки со значением null перед попыткой вызвать на них какие - либо методы. Самый безопасный способ сделать это - сначала проверить, является ли строка null.
Модифицируем нашу программу, чтобы продемонстрировать, как обрабатывать строки со значением null.
Откройте файл
HelloJava.javaв редакторе WebIDE.Замените существующий код следующим:
public class HelloJava { public static void main(String[] args) { String str1 = "Hello"; String str2 = ""; String str3 = null; // This string is null System.out.println("Checking String 1: \"" + str1 + "\""); if (str1 != null && !str1.isEmpty()) { System.out.println("String 1 is not null and not empty."); } else { System.out.println("String 1 is null or empty."); } System.out.println("\nChecking String 2: \"" + str2 + "\""); if (str2 != null && !str2.isEmpty()) { System.out.println("String 2 is not null and not empty."); } else { System.out.println("String 2 is null or empty."); } System.out.println("\nChecking String 3: " + str3); // Note: printing null doesn't crash if (str3 != null && !str3.isEmpty()) { System.out.println("String 3 is not null and not empty."); } else { System.out.println("String 3 is null or empty."); } } }В этом коде:
- Мы вводим строку
str3со значениемnull. - Перед вызовом метода
isEmpty()мы сначала проверяем, является ли строкаnull, используяstr != null. - Мы используем логический оператор И (
&&) для объединения проверки наnullи проверки на пустоту с помощьюisEmpty(). Часть!str.isEmpty()вычисляется только в том случае, еслиstr != nullистинно, что предотвращает ошибкуNullPointerException. - Условный оператор
ifпроверяет, является ли строка неnullи не пустой.
- Мы вводим строку
Сохраните файл (Ctrl+S или Cmd+S).
Скомпилируйте программу в терминале:
javac HelloJava.javaЗапустите программу:
java HelloJavaВы должны увидеть вывод, похожий на следующий:
Checking String 1: "Hello" String 1 is not null and not empty. Checking String 2: "" String 2 is null or empty. Checking String 3: null String 3 is null or empty.Этот вывод показывает, что наш код правильно определяет, что
str1не являетсяnullи не пуста, аstr2иstr3являютсяnullили пустыми, не завершаясь аварийно.
Проверяя на null перед вызовом методов для строк, вы делаете свои Java - программы более надежными и предотвращаете распространенные ошибки. Это очень важная практика в программировании на Java.
Резюме
В этом практическом занятии мы научились проверять, является ли строка пустой на Java. Мы начали с изучения метода length() для определения количества символов в строке, что является фундаментальным понятием при работе с текстовыми данными. Мы написали простую Java - программу, чтобы продемонстрировать, как использовать метод length() и вывести строку и ее длину в консоль.
Мы продолжим изучать другие методы, такие как isEmpty(), и научимся обрабатывать строки со значением null, чтобы обеспечить надежную проверку на пустоту в наших Java - программах.



