В Java, что такое Parsing? Почему они используются?
Например: Integer.parseInt(...)
и разбор строки?
В Java, что такое Parsing? Почему они используются?
Например: Integer.parseInt(...)
и разбор строки?
Можно сказать, что синтаксический анализ строки символов анализирует эту строку, чтобы найти маркеры или элементы, а затем создать структуру из результата.
В вашем примере вызов Integer.parseInt
в строке обрабатывает эту строку, чтобы найти целое число.
Итак, если у вас есть:
String someString = "123";
И затем вы вызываете:
int i = Integer.parseInt( someString );
Вы передаете java для анализа строки "123"
и найдите там целое число.
Другой пример:
Одно из действий, выполняемых java-компилятором при компиляции исходного кода, заключается в "анализе" вашего .java файла и создании токенов, соответствующих java-грамматике.
Если вы не смогли правильно записать исходный код (например, забудьте добавить ;
в конце инструкции), это парсер, который идентифицирует ошибку.
Здесь дополнительная информация: http://en.wikipedia.org/wiki/Parse
Анализ состоит в том, чтобы прочитать значение одного объекта, чтобы преобразовать его в другой тип. Например, у вас может быть строка со значением "10". Внутренне эта строка содержит символы Unicode '1' и '0', а не фактическое число 10. Метод Integer.parseInt принимает это строковое значение и возвращает реальное число.
String tenString = "10"
//This won't work since you can't add an integer and a string
Integer result = 20 + tenString;
//This will set result to 30
Integer result = 20 + Integer.parseInt(tenString);
Компьютеры. для анализа (строка символов), чтобы связать группы символов с синтаксические единицы грамматика.
Контекст определения - это перевод текста программы или языка в общем смысле на его составные части по отношению к определенной грамматике - превращение текста программы в код. Однако в контексте ключевого слова конкретного языка обычно это означает преобразование строкового значения фундаментального типа данных во внутреннее представление этого типа данных. Например, строка "10" становится числом (целое число) 10.
Анализ может рассматриваться как синоним "Разрушение на мелкие кусочки", а затем анализ того, что есть или использующего его модифицированным способом. В Java строки анализируются в десятичные, восьмеричные, двоичные, шестнадцатеричные и т.д. Это делается, если ваше приложение принимает входные данные от пользователя в форме строки, но где-то в вашем приложении вы хотите использовать этот ввод в форме целое или двойное. Это не то же самое, что тип литья. Для литья типов используемые типы должны быть совместимы для касты, но ничего подобного при разборе.
Анализ - это разделение текста на набор частей или токенов.
Анализ - это просто процесс анализа строки символа и поиска маркеров из этой строки, а парсер - это компонент интерпретатора и компилятора. Он использует лексический анализ, а затем синтаксический анализ. Он анализирует его, а затем компилирует этот код после всего этого процесса компиляции.
Разбор означает, что мы конкретно анализируем объект. Например, когда мы вводим некоторые ключевые слова в поисковой системе, они анализируют ключевые слова и возвращают результаты, ища каждое слово. Таким образом, он в основном берет строку из файла и обрабатывает ее, чтобы извлечь нужную нам информацию.
Пример синтаксического анализа с использованием indexOf
для вычисления позиции строки в другой строке:
String s="What a Beautiful day!";
int i=s.indexOf("day");//value of i would be 17
int j=s.indexOf("be");//value of j would be -1
int k=s.indexOf("ea");//value of k would be 8
paresInt
по существу преобразует a String
в Integer
.
String s="9876543";
int a=new Integer(s);//uses constructor
System.out.println("Constructor method: " + a);
a=Integer.parseInt(s);//uses parseInt() method
System.out.println("parseInt() method: " + a);
Вывод:
Constructor method: 9876543 parseInt() method: 9876543