image-pol-00-14

Do kabiny weszła kobieta o różowych włosach. „Ciekawe, czy wszystkie ludzkie kobiety mają takie włosy” – pomyślał Amigo.

– Cześć! Nazywam się Barbara Przewoźnik. Możesz nazywać mnie Baśka. Jestem nawigatorem Galaktycznej Szarży.

– Cześć, Baśka – odpowiedział Amigo.

– Opowiem Ci o najciekawszej części całego języka Java: o zmiennych.

– Jestem gotów. Czym one właściwie są?

Zmienne to specjalne jednostki używane do przechowywania danych. Dowolnych danych. W Javie wszystkie dane przechowuje się w zmiennych. Najlepszą analogią jest tu pudełko.

– Pudełko? Jakiego rodzaju pudełko?

– Po prostu dowolne, stare pudełko. Załóżmy, że napisałeś na kartce papieru liczbę 13 i włożyłeś ją do pudełka. Teraz możemy powiedzieć, że pudełko przechowuje wartość 13.

– W Javie każda zmienna ma trzy ważne cechy: typ, nazwę i wartość.

– Czy możesz wyjaśnić, co to znaczy?

– Jasne. Nazwy pozwalają nam odróżnić jedną zmienną od drugiej. To jak etykieta na pudełku.

Typ zmiennej określa, jakie rodzaje danych można w nim przechowywać. Kapelusz wkładamy do pudełka na kapelusze, buty do pudełka na buty i tak dalej.

– Wartość to konkretny obiekt, dane lub informacje przechowywane w zmiennej.

– Czy możesz opowiedzieć więcej o typach?

– Jasne. Każdy obiekt w Javie ma swój typ. Przykłady to liczba całkowita, liczba zmiennoprzecinkowa, tekst, Kot, Dom itp.

– Zmienna również ma typ. Może przechowywać tylko te wartości, które są tego samego typu, co ona.

– W życiu jest przecież podobnie: Różne rodzaje pudełek służą do przechowywania różnych rzeczy:

– Żeby utworzyć (lub zadeklarować) zmienną, używamy nazwy typu: NazwaTypu nazwaZmiennej.

– Oto kilka przykładów:

Aby zadeklarować zmienną:
podaj typ, a następnie nazwę.
Opis
1
int a;
Tworzy zmienną typu int o nazwie a.
2
String s;
Tworzy zmienną typu String o nazwie s.
3
double c;
Tworzy zmienną typu double o nazwie c.

– Dwa najczęściej używane typy to liczby całkowite (deklarowane za pomocą słowa int) i tekst (deklarowane za pomocą słowa String).

– Czym jest double?

Double to liczby zmiennoprzecinkowe lub rzeczywiste.

– Powiedziałaś, że w Javie każda zmienna ma trzy cechy: typ, nazwę i wartość. Ale ja widzę tylko dwie. W takim razie jak przypisać wartość do zmiennej?

– Wróćmy do naszego przykładu z pudełkiem. Wyobraź sobie, że bierzesz kartkę papieru, zapisujesz na niej liczbę 42 i wkładasz ją do pudełka. Teraz pudełko przechowuje wartość 42.

– Rozumiem.

– Aby przypisać wartość do zmiennej, używamy specjalnej operacji (przypisania). Przypisanie kopiuje wartości z jednej zmiennej do drugiej. Nie przenosi ich. Tylko kopiuje. Jak plik na dysku. Wygląda to tak:

Kod Opis
1
i = 3;
Przypisuje wartość 3 do zmiennej i.
2
a = 1;
b = a+1;
Przypisuje wartość 1 do zmiennej a.
Przypisuje wartość 2 do zmiennej b.
3
x = 3;
x = x + 1;
Przypisuje wartość 3 do zmiennej x.
W następnej linii wartość x jest zwiększana o 1, co powoduje, że wartość x jest równa 4.

– Aby wykonać operację przypisania, używamy znaku równości (=).

– Powtarzam: To nie jest porównanie. Kopiujemy wartość zapisaną na prawo od znaku równości do zmiennej zapisanej po jego lewej stronie. Aby wykonać porównanie, Java używa podwójnego znaku równości (==).

– Wiem, jak umieścić kota w zmiennej. To prawie jak program.

Jak złapać kota:

1. Weź puste pudełko.

2. Zaczekaj.

– Nie, Amigo. Do pudełka możesz wcisnąć tylko jednego kota. Eh, do zmiennej możesz przypisać tylko jedną wartość.

– Rozumiem. Czy możesz pokazać mi więcej przykładów tworzenia zmiennych?

– OK. Powtarzam: żeby utworzyć (lub zadeklarować) zmienną, używamy zapisu «NazwaTypu nazwaZmiennej».

Kod Wyjaśnienie
1
String s;
Tworzona jest zmienna String o nazwie s.
Ta zmienna może przechowywać tekst.
2
int x;
Tworzona jest zmienna int o nazwie x.
Ta zmienna może przechowywać liczby całkowite.
3
int a, b, c;
int d;
Tworzone są zmienne int o nazwach a, b, c oraz d.
Te zmienne mogą przechowywać liczby całkowite.

– Och, teraz rozumiem!

– Pamiętaj, że w jednej metodzie nie możesz utworzyć dwóch zmiennych o takich samych nazwach.

– A w różnych metodach?

– Tak, możesz tak zrobić. To tak, jakby mieć pudełka w różnych domach.

– Czy mogę wybierać dowolne nazwy zmiennych?

– Prawie. Nazwy zmiennych nie mogą zawierać spacji, +, - itp. Najlepiej używać w nazwach tylko liter i cyfr.

– Pamiętaj, że w Javie rozróżniana jest wielkość liter. int a to nie to samo, co Int a.

– Przy okazji, w Javie możesz utworzyć zmienną i równocześnie przypisać do niej wartość. Oszczędza to czas i miejsce.

Kompaktowy kod Równoważny, ale dłuższy kod
1
int a = 5;
int b = 6;
int a;
a = 5;
int b;
b = 6;
2
int c = 7;
int d = c+1;
int c;
c = 7;
int d;
d = c+1;
3
String s = "Jestem Amigo";
String s;
s = "Jestem Amigo";

– Taki zapis jest dużo krótszy i bardziej czytelny.

– Tak to właśnie działa.

– Są dwa typy, które musi poznać każdy początkujący programista Java: int (liczby całkowite) i String (tekst/ciągi tekstowe).

– Typ int pozwala przechowywać w zmiennych liczby i wykonywać na nich operacje: dodawania, odejmowania, mnożenia, dzielenia itp.

Kod Wyjaśnienie
1
int x = 1;
int y = x*2;
int z = 5*y*y + 2*y + 3;
x równa się 1
y równa się 2
z równa się 20+4+3, co daje wynik 27
2
int a = 5;
int b = 1;
int c = (a-b) * (a+b);
a równa się 5
b równa się 1
c równa się 4*6, co daje wynik 24
3
int a = 64;
int b = a/8;
int c = b/4;
int d = c*3;
a równa się 64
b równa się 8
c równa się 2
d równa się 6

– Kumam. Czy programowanie zawsze jest takie łatwe?

– Właściwie – to tak.

– Super! To co dalej?

– Typ String pozwala przechowywać linie tekstu, nazywane też „ciągami tekstowymi” lub potocznie „stringami”.

– Aby przypisać string w Javie, musisz umieścić tekst w cudzysłowie. Oto kilka przykładów:

Kod Wyjaśnienie
1
String s = "Amigo";
s zawiera "Amigo".
2
String s = "123";
s zawiera "123".
3
String s = "123 + 456";
s zawiera "123 + 456".

– Kumam. To nie wydaje się takie trudne.

– Jeszcze jeden ciekawa informacja.

– Możesz łączyć stringi ze sobą używając znaku plus (+). Spójrz na te przykłady.

Kod Wyjaśnienie
1
String s = "Amigo" + " jest najlepszy";
s zawiera "Amigo jest najlepszy".
2
String s = "";
s zawiera pusty string – ciąg tekstowy niezawierający żadnych symboli.
3
int x = 333;
String s = "Amigo" + x;
s zawiera "Amigo333".

– Czyli można dodawać stringi do liczb?

– Tak, ale pamiętaj, że gdy dodajesz stringi i liczby, wynik jest zawsze stringiem.

– Zrozumiałem to na Twoim przykładzie.

– Jeśli jesteś taki sprytny, spróbuj wymyślić, jak wyświetlić zmienną na ekranie.

– Hmmm. Zmienną? Na ekranie? Nic mi nie przychodzi do głowy.

– Właściwie, to proste. Aby wyświetlić coś na ekranie, używamy komendy System.out.println() i przekazujemy jako argument to, co chcemy wyświetlić.

Kod Wynik na ekranie
1
System.out.println("Amigo");
Amigo
2
System.out.println("Ami"+"go");
Amigo
3
String s = "Amigo";
System.out.println(s);
Amigo
4
String s = "Am";
System.out.println(s+"igo");
Amigo

– Aha! Teraz wszystko wydaje się prostsze.

– Świetnie. Oto trzy kolejne ćwiczenia dla Ciebie.

2
Zadanie
Składnia Java,  poziom 0lekcja 4
Niedostępne
Miłe słowo dla nauczyciela
W tajnym centrum CodeGym każdy nauczyciel reprezentuje najwyższy poziom. Mimo, że studenci i studentki zauważają to od początku (poziom 0), rzadko mówią o tym na głos. A któż z nas nie chciałby usłyszeć czegoś miłego? Najlepszym komplementem dla każdego nauczyciela programowania jest program. A jeśli w dodatku wyświetla on odpowiedni komunikat, to jest on bezcenny! Napiszmy zatem program z komplementem.
2
Zadanie
Składnia Java,  poziom 0lekcja 4
Niedostępne
Mój młody przyjacielu
W roku 3126 każdy zna polecenie System.out.println() i często go używa. Nie tylko dla studentów i studentek CodeGym to polecenie jest początkiem nauki programowania. Znają je nawet dzieci. Napiszmy program, który wyświetla rok urodzenia mojego przyjaciela. Urodził się 8 lat temu.
1
Zadanie
Składnia Java,  poziom 0lekcja 4
Niedostępne
Deklaruj zmienne
W Javie nie można tak po prostu zacząć używać zmiennej! Nikt by Cię nie zrozumiał. Kompilatory też nie zrozumieją i będą cię przeklinać — zobaczysz! Zatem jeśli zdecydujesz się zrobić coś ze zmienną, musisz publicznie ogłosić swoje zamiary! Napisz program, który deklaruje zmienne int i String.