CodeGym/Kurs Javy/Składnia Java/Porównanie z Pascalem

Porównanie z Pascalem

Dostępny
image-pol-01-05

– Cześć. Nazywam się Laga Bilaabo. Jestem istotą pozaziemską i lekarzem na tym statku. Mam nadzieję, że się zaprzyjaźnimy.

– Ja również.

– Na mojej macierzystej planecie używamy zaawansowanego języka programowania Pascal zamiast zacofanego języka Java. Spójrz na to porównanie kodu Java i Pascal:

Java Pascal
public class MojaPierwszaKlasa
{
   public static void main(String[] args)
   {
      int a, b, c;
      String s1, s2;
      System.out.println("Wprowadź dwie liczby");
      a = new Scanner(System.in).nextInt();
      b = new Scanner(System.in).nextInt();
      c = a + b;
      System.out.println("Suma to " + c);
   }
}
Program MojPierwszyProgram;
Var
   a, b, c: Integer;
   s1, s2: String;
Begin
   WriteLn("Wprowadź dwie liczby");
   ReadLn(a);
   ReadLn(b);
   c := a + b;
   WriteLn("Suma to ", c);
End.

– To ten sam program, ale napisany w dwóch różnych językach. Jak widać, wersja w Pascalu ma mniej linii, co świadczy o tym, że Pascal jest lepszy od Javy.

– Uznałem, że ten przykład może pomóc Ci zrozumieć Javę, jeżeli wcześniej używałeś Pascala.

– Nie, nie używałem. Mimo to porównanie dwóch języków programowania jest interesujące.

– Słusznie. Będę zatem kontynuował.

– W Pascalu umieszczamy kod w ciele programu, procedurach lub funkcjach. W Javie ten proces jest uproszczony: ciało programu, procedury i funkcje zostały zastąpione funkcjami nazywanymi metodami.

Java Pascal
Metoda main
public static void main(String[] args)
{
   System.out.println("Ho-ho-ho!");
}
Ciało programu
Begin
   WriteLn("Ho-ho-ho!");
End.
Funkcja/metoda
double kwadrat(double a)
{
   return a * a;
}
Funkcja
Function Kwadrat(a: Real): Real
Begin
   Kwadrat := a * a;
End;
Funkcja zwracająca void (typ pusty)
void doubleWrite(String s)
{
   System.out.println(s);
   System.out.println(s);
}
Procedura
Procedure NapiszDwukrotnie(s: String);
Begin
   WriteLn(s);
   WriteLn(s);
End;

– W kolumnie z Pascalem widzę takie określenia, jak „ciało programu”, „funkcja” i „procedura”, ale w Javie wszystkie one są nazywane metodami. To trochę dziwne.

– My, istoty pozaziemskie, uważamy, że to bardzo dziwne. Ale ludzie lubią wszystko ujednolicać.

– W Javie cały kod jest częścią metody, więc nie trzeba nawet wpisywać słowa Function, jak w Pascalu, aby zadeklarować metodę.

– To wszystko jest bardzo proste. Jeśli linia kodu wygląda jak Typ + Nazwa, jest to deklaracja metody lub zmiennej. Jeśli po nazwie znajdują się nawiasy, to jest to deklaracja nowej metody. Jeśli nie ma nawiasów, jest to deklaracja zmiennej.

– Deklaracje zmiennych i metod są w Javie bardzo podobne. Sam zobacz:

Kod Opis
String imie;
Zmienna o nazwie imie, która jest typu String.
String getImie()
{
}
Metoda o nazwie getImie, która zwraca String.

– Ale to nie wszystko. W Javie metody nie mogą istnieć samodzielnie. Muszą być umieszczone wewnątrz klasy. Zatem, gdy ludzie chcą napisać jeden mały program w Javie, muszą najpierw stworzyć klasę, zadeklarować w niej metodę main i dopiero wtedy mogą napisać swój kod w metodzie. Ci Ziemianie są pokręceni!

– Diego wpadł do mnie i poprosił o przekazanie Ci tych zadań. Mam nadzieję, że Ci się spodobają.

1
Zadanie
Składnia Java,  poziom 1lekcja 8
Niedostępne
Wielkie porządki
Ktoś, kto napisał ten program, musiał bardzo się śpieszyć. A tak zupełnie poważnie: ten program został napisany w celach edukacyjnych i autor celowo umieścił w nim zbędne zmienne oraz nie zadeklarował potrzebnych zmiennych. Poprawimy to: Zakomentuj niepotrzebne zmienne i zadeklaruj te brakujące. Dzięki temu nasz program osiągnie wieczną harmonię.
1
Zadanie
Składnia Java,  poziom 1lekcja 8
Niedostępne
Nie chce Ci się? Mimo wszystko – zrób to.
Lenistwo dotyka nawet najlepszych programistów. Zresztą – nie tylko programistów. Musisz jednak wiedzieć, że wszyscy oni zostali profesjonalistami dzięki nauce. Proponujemy zatem – nie leń się. Zamiast tego spróbuj wyświetlić na ekranie to hasło: „Jeżeli masz na to ochotę, wykonaj zadanie. Jeżeli nie masz na to ochoty, zrób to mimo wszystko”. Wyświetl je 16 razy, żeby dobrze to zapamiętać.
5
Zadanie
Składnia Java,  poziom 1lekcja 8
Niedostępne
Kwadrat liczby
Istnieje kilka sposobów na to, aby uzyskać kwadrat liczby. Niektórzy na przykład najpierw piszą liczbę, a następnie rysują wokół niej kwadrat. Z tej metody korzystają osoby, które nigdzie się nie uczyły. Wszyscy inni muszą mnożyć, znać na pamięć tabliczkę mnożenia lub... użyć programu. Twój program powinien wyświetlać kwadrat liczby 5.
5
Zadanie
Składnia Java,  poziom 1lekcja 8
Niedostępne
Proste jak 2+2
W aplikacji Java wszystkie akcje wykonuje się przez funkcje, a dokładniej – metody. W naszym programie uprzejmy mentor zaimplementował już metodę (czyli – napisał kod metody), która liczy sumę dwóch liczb. Wszystko, co musisz zrobić, to wywołać tę metodę z argumentami 2 i 2. Należy to wykonać w metodzie main.
1
Zadanie
Składnia Java,  poziom 1lekcja 8
Niedostępne
Wybierz zdrowe jedzenie! Wybierz owoce!
Wyświetl zmienne, których wartościami są nazwy owoców. Każdą zmienną wyświetl w nowej linii.
1
Zadanie
Składnia Java,  poziom 1lekcja 8
Niedostępne
Ulubiony wiersz
Jeśli myślisz, że dzisiejsi programiści to stuprocentowi inżynierowie, skupieni tylko na gadżetach i technologii, to jesteś w błędzie. Niektórzy pasjonują się także poezją. Ty pewnie także jesteś miłośnikiem poezji, więc poniższe zadanie nie powinno sprawić Ci trudu: wyświetl czterowiersz (lub dłuższy fragment) ze swojego ulubionego wiersza.
Komentarze (16)
  • Popularne
  • Najnowsze
  • Najstarsze
Musisz się zalogować, aby dodać komentarz
NiceHatMate
Poziom 19 , Poland, Poland
14 stycznia 2024, 16:29
Epic zadanie fajne i rozwiązałem je, ale tylko dlatego ze wczesniej uczylem sie tez javy z inncych zrodel. Troche to niesprawidliwe dla nowych uzytkownikow.
YooRec
Poziom 2 , Lodz, Poland
25 grudnia 2021, 08:26
Zadanie z kwadratem liczb oderwane od rzeczywistości...
Norbert
Poziom 41
1 lutego 2023, 06:28
Wystarczyło napisać
System.out.println(kwadrat(5));
Grzegorz
Poziom 10 , Poland, Poland
18 lipca 2023, 19:27
wystarczyło, ale nie pokazywali jak się wywołuje funkcje
Piotr Mgłosiek
Poziom 2
20 grudnia 2020, 13:08
mam pytanie czy 1 zadanie epic można było rozwiązać z wiedzą z tego kursu. nie przypominam sobie żebyśmy się tego uczyli. ale mogę się mylić
YooRec
Poziom 2 , Lodz, Poland
25 grudnia 2021, 08:25
nie
NeoBTK
Poziom 8 , Katowice, Poland
5 sierpnia 2022, 11:16
Albo to zadanie zostało już poprawione, albo tak było od początku, ale to co zawiera rozwiązanie System.out.println(kwadrat(5)); było wszystko wcześniej, wyświetlanie i opis że metoda może zwracać wartość.
Mateusz
Poziom 36 , Toruń, Poland
4 września 2020, 11:14
/* Comment has been deleted */
Alex Vypirailenko Java Developer w Toshiba Global Comme
4 września 2020, 15:47
Epic tasks are so-called tasks from the future, which may have theory that has not been covered yet. Feel free to leave such tasks for later, until you cover the required topic(s), which most of the time follow in the upcoming lessons.
Sylvia
Poziom 4 , Poland, Poland
19 listopada 2021, 15:20
Feel free to use Google ;) A programmer's best friend :D
Patryk
Poziom 3 , Augsburg, Germany
29 sierpnia 2020, 10:09
Witam, dlaczego od poczatku szkolenianie bylo nic napisane o takiej mozliwosci :System.out.println(sqr(5)); ? Jak osoba poczatkujaca ma wywnioskowac ze jest to rozwiazanie zadania?
Piotr Lelonek Java Developer
24 lipca 2020, 14:38
Zadanie dość długo rozkminiałem, gdyż treść zadania jest myląca, grubą czcionką nie powinno być napisane "kwadrat liczby".
Karolina
Poziom 1 , Warsaw, Poland
6 maja 2020, 09:40
poproszę porównanie z Pythonem! ;)
Katarzyna
Poziom 7
8 kwietnia 2020, 19:28
bład we wskazówce zamiast sqr powinno być kwadrat
Paweł
Poziom 3 , Warsaw, Poland
10 sierpnia 2020, 19:31
bo to ma być wskazówka, a nie rozwiązanie ;)
YooRec
Poziom 2 , Lodz, Poland
25 grudnia 2021, 08:27
Chyba zagadka, bo sqr to pierwiastek nie kwadrat...