JavaRush /Blog Java /Random-PL /Parsowanie ciągów znaków w Javie

Parsowanie ciągów znaków w Javie

Opublikowano w grupie Random-PL
Programiści często stają przed zadaniami, których rozwiązanie nie zawsze jest oczywiste. Jednym z takich zadań jest analizowanie ciągów znaków. Wykorzystuje się go podczas odczytu danych z konsoli, pliku i innych źródeł. Większość danych przesyłanych przez Internet również ma postać wierszy. Niestety nie da się wykonywać operacji matematycznych na łańcuchach. Dlatego każdy programista musi dokładnie wiedzieć, jak przekonwertować ciąg znaków na liczbę w Javie. Analizowanie ciągów znaków w Javie — 1Ciągi mogą zawierać różne typy liczbowe:
  • bajt;
  • krótki;
  • int;
  • długi;
  • platforma;
  • podwójnie.
Aby wyodrębnić wartość liczbową wymaganego typu z ciągu znaków, należy użyć jego klasy opakowującej:

byte a = Byte.parseByte("42");
short b = Short.parseShort("42");
int c = Integer.parseInt("42");
long d = Long.parseLong("42");
float e = Float.parseFloat("42.0");
double f = Double.parseDouble("42.0");
Nie jest tajemnicą, że najpopularniejszym typem danych są intzatem pod względem częstotliwości jego użycia metoda parseIntw Javie bije na głowę metodę wyprowadzania informacji do konsoli System.out.println(). Ale korzystając z tej metody, Integer.parseInt()musisz pamiętać o kilku niuansach:
  1. Jeśli do metody przekażesz ciąg znaków, który nie jest liczbą całkowitą, pojawi się błąd java.lang.NumberFormatExceptionwskazujący, że wynikowy ciąg nie jest wartością całkowitą.

  2. NumberFormatExceptionstanie się to również wtedy, gdy przekazany ciąg znaków będzie zawierał spację.

  3. parseInt()- potrafi pracować z liczbami ujemnymi. Aby to zrobić, linia musi zaczynać się od znaku „-”.

  4. parseInt()— nie można przeanalizować ciągu, jeśli wartość liczbowa wykracza poza ograniczenia typu int(-2147483648 .. 2147483647).

Biorąc pod uwagę te cztery proste niuanse, możesz uniknąć w przyszłości skomplikowanych błędów, ponieważ programiści muszą bardzo często analizować ciągi znaków. A to czeka każdego z nas!
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION