background image

 

 

Java

Łańcuchy, liczby, tablice

background image

 

 

Znaki – klasa Character

background image

 

 

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ę

background image

 

 

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).

background image

 

 

String vs. StrinBuffor

background image

 

 

Ł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

background image

 

 

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);

background image

 

 

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);

background image

 

 

Liczby – kasa Number

background image

 

 

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

background image

 

 

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ł

background image

 

 

Tworzenie własnych formatów

background image

 

 

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

background image

 

 

Tablice

Tablica jest obiektem, więc musi być 
konstrukcja.

Tablice są indeksowane od zera (jak w C)

background image

 

 

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.

background image

 

 

Tablica tablic


Document Outline