Od zera do aplikacji developera – Hello, world! [#01]

Simple-Coding-java-01

Cześć, dzisiaj zacznę wprowadzać Cię w świat programowania. W tym poście powiem co nieco o programowaniu samym w sobie oraz zainstalujemy narzędzia, które będą nam potrzebne do tworzenia aplikacji. Będzie to tak zwany “Java Development Kit”, dzięki któremu będziemy mogli uruchomić nasze programy napisane w języku Java oraz IntelliJ – środowisko, które potrafi znacznie przyspieszyć pisanie kodu. Napiszemy też nasz pierwszy program, popularnie zwany “ Hello, world ”.

 

Instalacja Java Development Kit

Sama instalacja JDK nie jest zbyt czasochłonna. Ważne, abyś wiedział jaki masz system operacyjny (wystarczy wiedza typu Windows/Linux/Mac). Składa się ona z kilku standardowych etapów. Jeśli punkt nie ma podpunktów to znaczy, że dla każdego systemu postępujemy tak samo.

  1. Przejdź do tej strony
  2. Wybierz i pobierz odpowiednie dla Twojego systemu JDK. Możesz to zrobić po kliknięciu w odpowiedni link z tego panelu (w dniu pisania posta najnowsza JDK to JDK 8u121). Oczywiście, wcześniej musisz “przeczytać” regulamin i go zaakceptować poprzez kliknięcie w “kółko” na lewo od “Accept License Agreement”.java-1-1
  3. Po pobraniu JDK należy je zainstalować poprzez odpalenie instalatora. Ten proces nie różni się od innych “instalatorów”, klikanie w przycisk “next” powinno wystarczyć.
  4. Po instalacji sprawdźmy, czy system “widzi” naszą Jave. W tym celu należy uruchomić terminal i wpisać polecenie java -version. Jeżeli nie miałeś styczności z terminalem wcześniej to nadszedł już najwyższy czas. Prędzej czy później będziesz musiał się z nim zaprzyjaźnić. Terminal uruchamia się poprzez:
    • Windows – kliknij w przycisk “start” na pasku, następnie w wyszukiwarkę wpisz “cmd”. Wyszukany program jest Twoim terminalem
    • Linux – naciśnij klawisze Ctrl + Alt + T
    • Mac OS – naciśnij klawisz F4
  5. Jeżeli jeszcze nie wpisałeś powyższego polecenia, wpisz java -version, a następnie naciśnij Enter. Jeżeli instalacja przebiegła pomyślnie, powinieneś zobaczyć taki komunikat: java-1-2
  6. Jeżeli widzisz ten komunikat, świetnie, udało się! Możesz korzystać z Javy, a więc przejść do następnego punktu. Jeżeli jednak zobaczyłeś inny komunikat to nie szkodzi. Prawdopodobnie nie masz dodanej Javy do zmiennej środowiskowej. Nie będę jednak szczegółowo omawiać co to jest i jak to zrobić. Zostało to świetnie wytłumaczone na stronie Javy w tym miejscu.

 

Instalacja środowiska – IntelliJ

Wiele osób może sobie pomyśleć “mam Jave, super, ale po co mi jakiś intelijot czy tam intelidżej, chcę napisać tylko pierwszy program!”. Cóż, po części masz rację. Jeżeli wiesz jak taki program napisać oraz uruchomić, droga wolna, śmiało 🙂 Osobiście jednak wolę przeprowadzić Cię przez proces instalacji IntelliJ. Jest to POTĘŻNE narzędzie, które ZNACZĄCO usprawnia programowanie. W całym kursie będę bazować na tym IDE (IDE – Integrated Development Environment, czyli środowisko programistyczne, albo, dla uproszczenia “program do kodzenia”). Co jakiś czas będę pokazywać użyteczne sztuczki, pluginy, oraz skróty klawiszowe. Jeżeli wiążesz swoją przyszłość zawodową ze środowiskiem javowym to bardzo możliwe, że tam też będziesz tego narzędzia używać.

Oczywiście w tym celu musimy przejść na stronę twórcy IntelliJ, czyli JetBrains. Jest to czeska firma, która wytwarza środowiska programistyczne dla wielu językach. W tym miejscu możesz pobrać wersję odpowiednią dla Twojego systemu operacyjnego. Na początku w zupełności wystarczy Ci wersja darmowa (Community). Wersja Ultimate jest dużym wydatkiem, całkowicie zbędnym na początku. Jeżeli jesteś studentem i będziesz chciał korzystać z wersji Ultimate to mam dla Ciebie dobrą nowinę. Studenci mogą korzystać z niej ZA DARMO. Warunkiem jest zarejestrowanie się poprzez stronę z użyciem maila uczelnianego.

Cóż, zaawansowanych screenów i opisów samej instalacji tutaj nie uświadczysz. Jest to proste “next”, “next”, “next” 🙂

 

Tworzymy pierwszy projekt!

Yay, nareszcie, stworzymy pierwszy program! W tym celu uruchom IntelliJ. W żadne dodatkowe pluginy, ustawienia bawić się nie będziemy. Po drodze jednak warto zwrócić uwagę na pytanie o theme, czyli “skórkę”. Wiele osób preferuje tą ciemniejszą, popularną “darculę”, ale oczywiście wybór należy do Ciebie. Po przejściu wstępnej konfiguracji powinieneś zobaczyć takie sympatyczne okno:

java-1-3

Możesz stworzyć swój pierwszy projekt. Kliknij “Create New Project”. Powinieneś ujrzeć cały panel konfiguracyjny. Często tego typu panel jest określany jako “wizard”. Najpierw wybierzemy rodzaj projektu jaki nas interesuje. Ujrzysz ich kilkanaście, ale początkowo interesuje nas sama Java. Wybierzemy więc Javę, która znajduje się na samej górze:

java-1-6

Po wybraniu Javy po prawej stronie ujrzysz różne opcje do wyboru. Póki co nas nie będzie to interesować. Interesuje nas natomiast zakładka “Project SDK”, znajdziesz ją na samej górze w środkowej części ekranu. Tam konfigurujemy JDK. Jeżeli JDK już jest wstawione, masz szczęście, IntelliJ odwaliło robotę za Ciebie. Jeżeli jest pusto to musimy to skonfigurować ręcznie. W tym celu musimy się dowiedzieć gdzie mamy zainstalowane JDK. Jeżeli nie chcesz tego szukać ręcznie, z pomocą przyjdzie terminal. Uruchom go ponownie, tak jak na początku, a następnie wpisz:

  • Windows: 
    where java
  • Linux/MacOs:
    which java

To, co zobaczysz to ścieżka pod którą znajdziemy niezbędne dla nas rzeczy. U mnie na Linuxie wygląda to tak:

java-1-5

Teraz w naszym “wizardzie”, kliknij w “New..” a następnie “JDK”. W drzewie katalogów wybierz folder, który wskazał nam terminal.

Świetnie! Mamy połączone JDK z IntelliJ. Teraz konfiguracja jest prosta. W następnej części IntelliJ pyta o szablon projektu. Mamy do wybrania zwykły szablon aplikacji uruchamianej w konsoli lub “ Hello, world ”. Wybierz opcję pierwszą, zrobimy “ Hello, world ” sami. Po wybraniu kliknij “Next”.

java-1-7

W ostatniej części zostaniemy zapytani gdzie chcemy aby projekt się znajdował. Nie będę Ci tego narzucać. Możesz miejsce wybrać sam. Dobrze jednak byś był świadom, gdzie to tworzysz 😉

 

Hello, world – struktura projektu oraz podstawy IDE

Po przejściu całego procesu tworzenia projektu, powinieneś ujrzeć takie okno:

java-1-8

Sam interfejs jest bardzo intuicyjny. Nie będziemy zagłębiać się na razie w to, co kryje się pod napisami w górnym menu (“File”, “Edit” itd). Ważne natomiast jest dla nas główne okno widoczne na środku oraz panel z lewej.

java-1-9

Panel umiejscowiony z lewej strony pokazuje strukturę obiektu:

  • .idea – jest to folder z danymi dla naszego IntelliJ. Nic, co powinno Cię teraz obchodzić.
  • src – folder source, czyli folder, w którym znajduje się kod. Tutaj definiujemy strukturę aplikacji oraz tworzymy w dużej mierze aplikację. Możesz zobaczyć taki dziwny folder jak “com.company” (jeżeli nie zmieniałeś tego przy tworzeniu projektu). Jest to tzw. package, czyli paczka, w której znajduje się kod. Projekt może składać się z wielu paczek, mogą one też być w sobie zagnieżdżone. Wyobraź sobie, że jest to coś, co pomaga utrzymać Ci porządek. Tak samo jak tworzysz foldery na dysku twardym takie jak “zdjęcia”, “muzyka”, a w nich potrafisz wyspecjalizować inne foldery np “zdjęcia wakacje”, “muzyka disco polo”, tak samo tutaj możesz tworzyć paczki oraz je w sobie zagnieżdżać. W package’u “com.company” znajdziesz klasę Main. Obecnie masz ją uruchomioną w głównym panelu. Czym natomiast jest klasa dowiesz się w najbliższych częściach kursu.
  • java.iml – również plik dla IntelliJ. Również nie musi Cię teraz obchodzić
  • External libraries – to tutaj znajdują się inne biblioteki dołączane do projektu. Jeżeli będziesz tworzyć bardziej zaawansowane projekty to bardzo możliwe, że będziesz chciał użyć rozwiązań, które już ktoś kiedyś “zaklepał”, być może nawet Ty to zrobiłeś. W tym celu tworzy się biblioteki, które są łatwe w ponownym użyciu w innych projektach. Znajdują się one właśnie w tym miejscu. Możesz je dołączyć poprzez dodanie tutaj pliku z rozszerzeniem .jar lub przez inne narzędzie. Obecnie bardzo często stosuje się drugi wariant, ale to też nas dziś nie będzie interesować.

Przy okazji poznasz pierwszy użyteczny skrót klawiszowy. Czasami ten panel “kradnie” nam miejsce na ekranie gdy go nie potrzebujemy. Możesz go łatwo schować poprzez kliknięcie Alt + 1. Ponowne kliknięcie tej kombinacji klawiszy ujawni ekran.

Struktura kodu

Przejdźmy teraz do klasy Main.

java-1-10

Początkowo co widzimy:

  • package com.company – jest to miejsce w którym znajduje się kawałek kodu który właśnie oglądamy. W projektach, które posiadają strukturę musi to być zdefiniowane na początku
  • public class Main { – definicja klasy Main. Modyfikator public mówi nam, że klasa jest publiczna, czyli każdy może jej używać. Klasa może też być protected (dostępna dla innych klas z “rodziny”, ale o tym też więcej w swoim czasie) oraz private (prywatna, dostępna tylko dla klas, w których się znajduje. W tym przypadku ustawienie private zwróci nam błąd. Kiedy i w jaki sposób tego użyć? Też się dowiesz w swoim czasie). Możemy też modyfikatora nie ustawiać wogóle. Oznacza to wtedy, że klasa jest dostępna w obrębie package’a w którym się znajduje. Na końcu klamra { mówi nam, że zaczynamy blok kodu, który należy do danej klasy
  • public static void main(String[] args) { – jest to definicja funkcji. Początkowo możesz tego zapisu nie zrozumieć oraz pojęcia typu “funkcja” czy “argumenty” mogą być nie do końca zrozumiałe. Nie martw się, póki co nie jest to istotne, a rozjaśnię Ci to już niebawem. Każdy program składa się z takiej funkcji. Jest to punkt startowy aplikacji. Myślę, że czym jest public już wiesz. Funkcje w zależności od dostępu do nich możemy tak samo “segregować” jak klasy. Następny atrybut static mówi nam, że funkcja jest statyczna. Znaczy to nie więcej, nie mniej, a tyle, że możemy jej użyć bez tworzenia konkretnego obiektu. Rozjaśnię niebawem. Następne słowo void mówi nam, że wykonanie tej funkcji niczego nie zwróci do programu. Możemy zwracać obiekty, liczby (które notabene też mogą być obiektami) albo nic. Po prostu. W tym przypadku nie potrzebujemy niczego zwracać. Słowo main jest nazwą funkcji. Zasadniczo funkcje możemy nazywać jak chcemy. No, prawie. Są znaki których używać nie możemy, na przykład spacji. Następnie w nawiasach zobaczysz argumenty, które funkcja przyjmuje. W tym przypadku jest to String[] args. Co to znaczy? Znaczy to tyle, że argumenty jakie funkcja otrzymuje są typu String (jak łańcuch, a nie skąpe majty). Znacznik [] mówi, że nie będzie to jeden String, a wiele Stringów w postaci tablicy. O tym też niebawem. Słowo args to nazwa do jakiej będziemy się odwoływać jeżeli będziemy chcieli użyć argumentu w wywołaniu kodu. Klamra na końcu mówi nam, że zaczynamy blok kodu dla funkcji.
  • // write your code here – jest to komentarz. Im kod jest “brzydszy”, tym komentarzy jest więcej. Jest to tekst, który nie jest interpretowany przez kompilator, możesz tam wpisać co tylko chcesz. Zazwyczaj komentarze są używane do przybliżenia działania fragmentu kodu w którym się znajdujemy. Komentarz rozpoczynamy wpisując // (jeżeli jest to komentarz w jednej linii),  lub /*, ale musimy go skończyć wpisując */ (jeżeli jest to komentarz rozdzielony na wiele linii). Jest też komentarz odpowiedni do generowania dokumentacji (JavaDocs), ale nie będę Cię tym zadręczać. W IntelliJ możemy komentować i “odkomentować” dany kawałek tekstu poprzez zaznaczenie go myszką, a następnie wciśnięcie Ctrl + /.
  • } – pierwsza klamra, mówi nam, że kończy się tutaj funkcja. Jeżeli przejdziesz do niej to zobaczysz, że przy funkcji podświetli się klamra otwierająca. Przydatna funkcjonalność, jeżeli nie wiemy czemu dana klamra odpowiada.
  • } – druga klamra, w tym przypadku zamyka ona całą funkcję. Zachowanie analogiczne jak powyżej.

Po lewej stronie od tekstu widzisz “belkę”. Tutaj wyświetlane są kolejne numery linii tekstów (jeżeli nie widzisz, możesz je uruchomić klikając prawym przyciskiem myszy, a następnie wybierając z menu “Show Line Numbers”) oraz dwa “trójkąty” w tym przypadku. Pozwalają one łatwo uruchomić program. Kliknij w jedną z nich, wybierz “Run” i zobacz co się stanie.Na dole zobaczysz że program się wykona.

java-1-11

Status 0 mówi nam o tym, że program wykonał się poprawnie. Co z tego jednak skoro nic więcej nie widzimy… ciężko jednak coś więcej zobaczyć jak nic nie “wytworzyliśmy”. Zanim jednak do tego przejdziemy, sprawdźmy jedną rzecz. Co się stanie, jeżeli funkcji main nie będzie? Wymaż tekst z linii 5-7.

Ups. Nie mamy jak uruchomić programu…Masz teraz dwie możliwości. W tym przypadku możesz przywrócić akcję klikając Ctrl + Z. Co jednak, jeżeli masz napisać to sam. Masz się uczyć tego długiego tekstu na pamięć? Nie! IntelliJ daje nam tutaj duże uproszczenie. W miejsce, gdzie wcześniej był nasz main wpisz psvm. Jest to akronim tego długiego tekstu który był na początku. Po wciśnięciu “Tab” zobaczymy, że funkcja znowu się pojawiła! Nie mamy co prawda komentarza, ale nie jest on nam potrzebny.

java-1-12

Przywitajmy się ze światem i powiedzmy programowi aby wypisał tekst “ Hello, world !”. Jak to zrobić? Musimy w ciele funkcji (czyli pomiędzy klamrami) napisać odpowiedni kod. W tym celu wpisz System.out.print(“Hello, world!”); Co oznacza ten kawałek kodu? Oznacza to tyle, że używamy klasy System, odwołujemy się do jej pola statycznego out i wywołujemy funkcję print(), której jako argument podajemy tekst w postaci łańcucha znaków (czyli Stringa właśnie) umieszczonego w cudzysłowiu. Średnik na końcu oznacza, że tutaj kończy się linia z poleceniem do wykonania. Każde polecenie w Javie kończymy średnikiem. Powinno to wyglądać tak:

java-1-13

Możemy też zrobić to prościej. Po wpisaniu sout i wciśnięciu “Tab” zobaczymy już wpisane System.out.println();. Kolejne duże uproszczenie. Widzimy tu jednak println(). Różnica między println() a print() jest taka, że na końcu będzie znak nowej linii. Użyteczne gdy definiujemy wielolinijkowy tekst. Tutaj jednak mamy dwa słowa. Zwykły print wystarczy. Dobra, uruchom w końcu ten program! 🙂 Możesz zrobić to klikając w strzałkę jak wcześniej. Możesz też użyć strzałki z górnego menu. Gwarantuję Ci, w przyszłości ona bardziej Ci się przyda. W tym przypadku IntelliJ skonfigurował wszystko za nas więc nie musisz dodatkowo nic robić. Strzałka jest widoczna w prawej górnej części IntelliJ:

Co teraz się stało jak uruchomiłeś program? Jeżeli wszystko poszło dobrze (musiało), to w konsoli ujrzymy:

java-1-15

win-gif

Gratulacje! Stworzyłeś swój pierwszy program napisany w Javie. Jest to co prawda prosty “ Hello, world ” ale zawsze od czegoś trzeba zacząć 😉

 

Podsumowanie

Cóż, był to dość długi tekst jak na pisanie pierwszego programu i to w dodatku tak krótkiego. W Internecie znajdziesz zapewne wiele poradników pokazujące jak to zrobić prościej. Ja natomiast chciałem Cię zapoznać z IntelliJ, którego moc jeszcze w przyszłości na pewno docenisz. Traktuj czas poświęcony na to jak inwestycję w przyszłość. Dzięki, że dotrwałeś aż dotąd. Mam nadzieję, że poczułeś chociaż lekką satysfakcję uruchamiając swój pierwszy program. Z każdym następnym razem kod, jaki będziemy pisać będzie bardziej zaawansowany, a Ty na pewno będziesz dostrzegać coraz większe możliwości jakie daje Ci komputer. Do przeczytania!

 

<- [#00] – Zaproszenie                           [#02] – Liczby ->

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *