Java
Łańcuchy, liczby, tablice
Znaki – klasa Character
Uwagi – kilka przydatnych
metod
Character(char)
Konstruktor obiektu klasy Character
compareTo(Character)
Porównuje wartości obiektów typu Character
equals(Object)
Porównuje wartości przechowywane przez obiekty. Zwraca wartość logiczną
toString()
Konwersja obiekty do reprezentacji w postaci łańcucha
charValue()
Zwraca zawartość obiektu typu Character jako zmienna typu podstawowego
(primitive)
isUpperCase(char)
Konwersja na dużą literę
Dwie klasy łańcuchowe
W Javie istnieją dwie klasy operujące na łańcuch
String oraz StringBuffor
Klasa String jest przeznaczona do
przechowywania łańcuchów, które rzadko nie
ulegają zmianie.
Klasa StringBuffor ma zastosowanie, gdy
będziemy dokonywali częstych operacji na
łańcuchu powodujących jego przekształcanie.
Istnieje istotna różnica wydajności przetwarzania
obu typów łańcuchów (modyfikacja obiektu klasy
String powoduje jego wielokrotne przepisywanie w
pamięci).
String vs. StrinBuffor
Łańcuchy - przydatne metody
• Długość łańcucha length() = 11
• Pojemność capacity() w przypadku łańcucha klasy StringBuffor
zaalokowana w konstruktorze StringBuffor(15) wynosi 15. (Klasa
String nie ma metody capacity()
• Dostęp do litery na pozycji 5
Character c = s.charAt(5); // dla klasy String
gdzie s jest łańcuchem
• Przydatne metody
• substring(4,5) - wycina łańcuch od pozycji do pozycji
• indexOf(int znak) – pozycja znaku w łańcuchu
• indexOf(String s) – pozycja łańcucha w łańcuchu
Modyfikacje obiektów klasy
StrigBuffor
append(String s) – dopisywanie na końcu
insert(int pozycja, String s) – wstawianie
łańcucha począwszy od pozycji
StringBuffor sb = new StringBuffor(”To jest teściowa”);
sb.insert(8,” zła ”);
sb.append(” i biedny teść”).
Modyfikacja znaku w obiekcie klasy StringBuffor – metoda
setCharAt(int poz, char znak);
Konwersja łańcucha na liczbę i
liczby na łańcuch
Każdy obiekt może być
konwertowany do postaci łąńcucha
metodą toString()
Można używać metody klasy String
valueOf( … )
Konwersja Łańcucha na liczbę:
String piStr = ”3.1416”;
Float pi =
Float.valueOf(piStr);
Liczby – kasa Number
Formatowanie liczb
Liczby są wewnętrznie zapisywane
w formacie niezależnym od
ustawień lokalnych
Program konwertuje liczby na
łańcuchy w formacie zależnym od
ustawień lokalnych.
Możemy wykorzystywać
formaty predefiniowane
formaty własne
Formaty predefiniowane
FORMATOWANIE LICZBY
Double liczba = new Double(345987.246);
NumberFormat numberFormat;
String liczbaStr;
numberFormat = NumberFormat.getNumberInstance();
liczbaStr = numberFormat.format(liczba);
System.out.println(liczbaStr);
FORMATOWANIE WALUTY
Double kwota = new Double(
345678.52
);
NumberFormat currencyFormat;
String kwotaStr;
currencyFormat = NumberFormat.getCurrencyInstance();
kwotaStr = currencyFormat.format(kwota);
System.out.println(kwotaStr);
Wyniki: 345 987,246
345 678,52 zł
Tworzenie własnych formatów
Wzorce
Symbole używanne we wzorcach
Symbol
Opis
X*
0 lub wiecej
egzemplarzy X
(X | Y)
X lub Y
X..Y
Dowolny znak od X do
Y
S - T
Znaki w S, za
wyjątkiem tych z
T
{X}
X jest opcjonalne
Symb
ol
Opis
0
Cyfra
#
Cyfra, pomija skrajne zera
.
Miejsce na separator części
ulamkowej
,
Miejsce na separator cyfr
E
Rozdzielacz cechy i mantysy w
zapisie wykładniczym
;
Rozdzielacz formatów
-
Domyślny znak ujemny
%
procent
X
Dowolny znak
'
Zaznaczenie znaków specjalnych
Tablice
Tablica jest obiektem, więc musi być
konstrukcja.
Tablice są indeksowane od zera (jak w C)
Tablica obiektów
Tablica obiektów jest chwili konstrukcji tablicą referencji z
wartościami null
Jeśli chcemy, aby elementy odwoływały się do konkretnych
obiektów, to obiekty te muszą być wcześniej skonstruowane.
Tablica tablic