CodeGym /Kursy Java /Składnia Java /Adresowanie pamięci i zmienne

Adresowanie pamięci i zmienne

Składnia Java
Poziom 1 , Lekcja 3
Dostępny

– To znowu ja. Zapomniałem coś Ci wyjaśnić. Opowiem Ci o zmiennych i adresowaniu pamięci. Nie będziemy zagłębiać się w ten temat, ale dobrze będzie, jeżeli cokolwiek zapamiętasz.

– Lubię Twoje podejście do lekcji: Jeżeli coś rozumiesz - świetnie. Jeżeli nic nie rozumiesz - w porządku.

– Miłości nie można narzucać. To oczywiste. Na Twojej planecie chyba też tak jest?

– Nie. Mamy inne podejście. Jeżeli chcesz, uczysz się; jeżeli nie chcesz, również się uczysz, tylko niechętnie.

– Co za zacofane podejście do nauczania! Przez to marnuje się dużo energii, czasu i osiąga kiepskie wyniki.

– Rzeczywiście tak jest. Ale nie rozmawiajmy o smutnych sprawach.

– OK. Wyobraź sobie Excela. Wszyscy znają Excela. Arkusz w Excelu składa się z komórek. Każda komórka ma swój unikalny identyfikator (A1, A2,…B1, B2). Jeżeli znasz identyfikator komórki, zawsze możesz zapisać tam jakąś wartość lub odczytać wartość, która jest tam przechowywana. Pamięć komputera jest zorganizowana w podobny sposób.

image-pol-01-25

– Jak dotąd wszystko rozumiem.

– Program i jego dane są podczas działania programu przechowywane w pamięci. Cała pamięć komputera jest podzielona na małe komórki lub bajty. Każda komórka ma przypisany unikalny identyfikator lub numer: 0, 1, 2, 3,… (liczby zaczynają się od 0). Jeśli znasz numer komórki, możesz zapisać w niej dane. Lub pobrać z niej dane. Niektóre komórki przechowują kod programu, tj. zestaw poleceń dla procesora. Inne przechowują dane używane przez program. Numer każdej komórki nazywamy jej adresem.

– Profesor opowiadał mi już o procesorze i komendach, ale bez szczegółów.

– Procesor wie, jak wykonywać komendy załadowane do pamięci. Prawie wszystkie polecenia procesora wyglądają mniej więcej tak: „weź dane z jakiejś komórki, zrób coś z nimi, wyślij wynik do innej komórki”. Łączymy setki prostych komend, aby uzyskać złożone i użyteczne komendy.

– Ale po co mi to wszystko?

– Kiedy w kodzie deklarowana jest zmienna, zostaje do niej przypisany fragment nieużywanej pamięci. Zazwyczaj jest to kilka bajtów. Deklaracja zmiennej wymaga wskazania, jakiego typu informacje będą w niej przechowywane: liczby, tekst czy może inne dane. Dla wygody do każdej zmiennej przypisywana jest unikalna nazwa.

– Czy to znaczy, że zmienna to nazwa, typ, część pamięci oraz wartość?

– To wszystkie te rzeczy połączone w jedno. Spójrz na te przykłady:

Kod Wyjaśnienie
1
String s;
Ta linia tworzy zmienną o nazwie s. Deklarujemy jej typ jako String, ponieważ będzie używana do przechowywania tekstu.
W tej samej funkcji lub klasie nie możemy zadeklarować innej zmiennej o takiej samej nazwie.
2
String s2 = "Jestem Diego";
Ta linia tworzy zmienną typu String o nazwie s2 i natychmiast przypisuje jej wartość "Jestem Diego".
3
int a;
Tutaj tworzymy zmienną o nazwie a. Jej typ danych odpowiada temu, co będzie w niej przechowywane. Typ danych int to skrót od integer, czyli liczby całkowitej.
4
int b = 4;
Tworzymy zmienną o nazwie b. Jej typ danych (int) służy do przechowywania liczb całkowitych. Do zmiennej natychmiast przypisywana jest wartość 4.

– Oto kilka zadań od Diego. Popracuj trochę nad nimi.

Komentarze (13)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Maks Poziom 3, Poland, Poland
18 lipca 2022
jeżeli ktoś to czyta przed zakupem subskrybcji to taki protip mam, jak chcecie o ok.10 zł taniej kupić, to zmieńcie walute i w google sprawdźcie która wam się najbardziej opłaca, tak czy tak wam pobierze w zł, więc luz
m.ferenc1 Poziom 2
5 kwietnia 2022
mega póki co , jest zajawka
Anonymous #10804603 Poziom 1, Poland, Poland
1 września 2021
Szkoda że twórcy nie pomyśleli że np taki ja nie mający za dużo pieniędzy będzie się uczył mając 12 lat i nie pracując . Aby kupić Premium .
Sylvia Poziom 4, Poland, Poland
19 listopada 2021
Szkoda, że nie myślisz o tym, że twórcy też za coś muszą żyć, a 200zł miesięcznie to koszmarnie tanio, ja za jeden kurs programowania zapłaciłam 10tys za 8 miesięcy, to sobie przelicz... i teraz robię tu dla utrwalenia i powtórki. Poza tym jeżeli zależy Ci na rozwoju to poproś bliskich by Ci się złożyli w ramach świąt czy urodzin, lub porozmawiaj z nimi, że to da Ci lepszy rozwój i przyszłość niż nic nie warta edukacja w szkole. Albo na pewno dostaje Twoja rodzina 500+, wiec nie mów, że nie masz pieniędzy na rozwój, dla chcącego nie ma takich przeszkód.
mister koteł Poziom 2, Poland
3 kwietnia 2022
ja pobrałem aplikacje do javy na kompa i blue stacks na tą aplikacje i kopiuje z tej i wklejam na tą javy i robię trochę skomplikowane ale działa tylko ci nie sprawdzi czy w 100% dobrze tylko sam sprawdzasz
wwwwwwwwww Poziom 1, Poland, Poland
13 kwietnia 2022
wytłumaczył byś dokładniej jak to się robi? bo nwm zbytnio co trzeba kopiować i wklejać😶
Nachos wielki Poziom 4, Poland, Poland
4 września 2024
czlowiek co ma 12 lat nie powinen nawet brac sie za komputer a co dopiero kodowac XD szkola , zabawa z rowiesnikami a nie byc nerdem z piwnicy jak my
Krinnter Poziom 1
23 grudnia 2020
chodzę do technikum i mimo stylu budowania narracji, czuję że jest to naprawdę dobry kurs, który mnie czegoś nauczy - swojej tfu szkole nic nie zawdzięczam tylko się męcze słuchając o drukarkach i robiąc prezentacje w wordzie na odpierdol
Jeremi Poziom 2, Poland
14 lipca 2021
Prezentacje w wordzie xd
Karol Poziom 1, Poland, Poland
16 sierpnia 2021
XDDD
brus5 Poziom 41, Dąbrowa Górnicza, Poland
5 marca 2020
Wydaje mi się, że dojdziemy do tego co to jest String Pool, Sterta itp. na kolejnych poziomach. Podejrzewam, że twórcy posługują się uproszczeniami, żeby przemycić nam wiedzę lekkostrawną.
oasd Poziom 1, Krakow, Poland
28 lutego 2020
"String s2 = "Jestem Diego";" "Ta linia tworzy zmienną typu String o nazwie s2 i natychmiast przypisuje jej wartość "Jestem Diego". Nie jest przypadkiem tak, że do zmiennej s2 jest przypisywana referencja do obiektu String, który jest lokowany na stercie?
Marcin Łukasik Poziom 3, Gdynia, Polska
27 maja 2020
Tak dokładnie jest.