W drugiej części kursu Javy dowiemy się, w jaki sposób tworzyć zmienne i stałe, jak wykonywać działania na liczbach i jak obsługuje się tablice. Część pierwszą znajdziesz tutaj.
O zmiennych
Zmienna to fragment pamięci posiadający nazwę i wartość. Definicja może brzmieć dość nieciekawie, ale sprawdźmy zastosowanie. (wszystkie przykłady będą pojawiać się w metodzie public static void main(String[] args)
):
Po uruchomieniu programu, w konsoli pojawi się tekst „3+4=7″. Liczba 7 została zapisana w zmiennej o nazwie „siedem” i typie „int”.
Zmienne tworzy się w następujący sposób:
TYP NAZWA = WARTOŚĆ
Na przykład:
int mojaZmienna = 7;
tworzy zmienną liczbową (typ int
) o nazwie „mojaZmienna” i wartości 7.
Oto wszystkie typy liczb całkowitych (nie posiadających przecinków):
byte
– typ zmiennej, która zajmuje 1 bajt pamięci. Może przechowywać bardzo małe liczby (od -128 do 127). Rzadko używany.short
– zajmuje 2 bajty pamięci. Może przechowywać małe liczby (od -32.768 do 32.767). Rzadko używany.int
– zajmuje 4 bajty pamięci. Może przechowywać średnie liczby (od -2.147.483.648 do 2.147.483.647). Najczęściej używany typ zmiennej liczbowej.long
– zajmuje 8 bajtów pamięci. Może przechowywać duże liczby (od ok. -9 trylionów do +9 trylionów). Używany rzadziej odint
, przy bardzo dużych liczbach.
O ile typ int
może w zupełności wystarczyć, by podać np. średnią pensję administratorów naszych serwerów, ale ilość mieszkańców Ziemi się w int
nie zmieści, więc użyjemy wtedy long
.
Po uruchomieniu tego programu dowiemy się, że administracja zarabia aż 6 złotych miesięcznie(co jest oczywiście bzdurą. Oni są miliarderami.) oraz że na Ziemi żyje ok. 7,2 miliarda ludzi.
Nie możemy jednak w tych zmiennych zapisać liczb z przecinkiem. Do takich służą nam dwa osobne typy zmiennych:
float
– zajmuje 4 bajty pamięci. Rzadko wykorzystywany. Ma 6-7 cyfr po przecinku.double
– zajmuje 8 bajtów pamięci. Wykorzystywany częściej odfloat
, ma 15 cyfr po przecinku.
Notacja liczb zmiennoprzecinkowych jest wykonywana za pomocą kropki, a nie przecinka. To oznacza, że chcąc zapisać liczbę „trzy i pół”, nie zapiszemy jej tak:
double liczba = 3,5;
lecz tak:
double liczba = 3.5;
Tworząc zmienną typu float
, należy pamiętać, że po wartości pojawia się sufiks F
. Przykład:
float liczba = 3.5F
Kolejnym ważnym typem jest typ boolean
. Może on mieć tylko dwie wartości: true
(prawda) i false
(fałsz). Sposób wykorzystania tego typu omówimy na lekcji 3. przy instrukcjach warunkowych.
Ostatnim omawianym na dzisiejszej lekcji typem jest łańcuch znaków, czyli typ String
(pisany dużą literą!). Już ten typ spotkaliście. Jego wartość jest zapisywana wewnątrz cudzysłowów „”. String
ma za zadanie przechowywać tekst.
String tekst = "Witaj, świecie!";
Program z pierwszej lekcji możemy więc zapisać w sposób następujący:
String tekst = "Witaj, świecie!";
System.out.println(tekst);
Możemy łączyć łańcuchy znaków za pomocą znaku plusa.
String a = "Witaj, ";
String b = "świecie!";
System.out.println(a + b);
da ten sam efekt, co kod wyżej.
Nie ma żadnych problemów, by łączyć String
z innymi typami:
String tekst = "Niedozwolone od lat ";
int wiek = 18;
String wiadomosc = tekst + wiek;
System.out.println(wiadomosc);
O stałych
Wartość zmiennej można w każdej chwili zmienić.
int a = 15;
System.out.prinln(a);
a = 17;
System.out.println(a);
wyświetli w konsoli najpierw 15, a później 17. Jeśli nie chcemy, aby można było zmienić wartość danej zmiennej, należy przed jej typem podać słowo kluczowe final
.
final int a = 15;
System.out.println(a);
a = 17;
System.out.println(a);
Przy zmianie wartości zmiennej a
na 17, program zgłosi błąd.
Zauważ, że zmieniając wartość istniejącej zmiennej, nie podajemy jej typu.
O działaniach na liczbach
Możemy korzystać ze znanych nam operatorów + (dodawanie), – (odejmowanie), * (mnożenie), / (dzielenie).
int a = 8;
int b = 4;
System.out.println(a + b);
System.out.println(a - b);
System.out.println(a * b);
System.out.println(a / b);
Program wyświetli nam w konsoli następujące liczby:
12
4
32
2
Istnieją również specjalne operatory: % (reszta z dzielenia), ++ (zwiększenie o 1) i — (zmniejszenie o 1).
int a = 10;
System.out.println(a);
a++;
System.out.println(a);
int b = 7;
System.out.println(b);
b--;
System.out.println(b);
int c = a % b;
System.out.println(c);
Program najpierw wydrukuje wartość zmiennej a
(10). Następnie zwiększy a
o 1 (w konsoli pojawi się 11). Dalej, do konsoli zostaną wydrukowane liczby 7 i 6. Na końcu pojawi się liczba 5, ponieważ reszta z dzielenia a
(11) przez b
(6) to 5.
Jeśli chcemy zmienić wartość danej zmiennej, możemy połączyć odpowiedni operator z znakiem równości. Przykład:
int a = 6;
a = a + 2;
System.out.println(a)
Wyświetli w konsoli liczbę 8. a = a + 2
możemy zapisać jako a += 2
. Podobnie działają operatory -=
, *=
, /=
i %=
.
Na lekcji 3:
- Zaawansowane działania liczbowe: operatory bitowe
- Tablice zmiennych (miały być na lekcji 2, ale wyszło zbyt obszernie)
- Wczytywanie danych z zewnątrz – wreszcie użytkownik będzie mógł coś zrobić!
if
,for
,while
,switch
,do
ielse
, czyli instrukcje sterujące- Pierwszy projekt: prosty kalkulator