Darmowy kurs Java

Komentarze

Komentarze są ważną częścią większych programów. W ich ramach możemy umieszczać skrócone opisy napisanej przez nas funkcji oraz zadeklarowanych zmiennych. Dzięki nim łatwo się odnaleźć w przypadku większych projektów, ale przede wszystkim w przypadku, gdy inne osoby nie będą mogły zrozumieć naszego kodu mogą sięgnąć po nasz opis (przy większych projektach generujemy dokumentację).

Komentarze są widoczne jedynie dla nas, przy kompilacji są one pomijane i nie mają wpływu na działanie programu.

W Javie istnieją dwa rodzaje komentarzy:

    • //text - tekst umieszczony za podwojonym znaku slash jest uznawany za komentarz aż do końca linii

    • /* text */ - tekst umieszczony w takich znacznikach jest traktowany jako komentarz przez wiele linii kodu.

    Jako przykład dodajmy komentarze do naszego pierwszego programu.

    public class Komentarze{
      //poniżej rozpoczyna się działanie programu
      public static void main(String[] args){
        /*Ten tekst
          nie ma wpływu
          na program */
        System.out.print("Hello World");
      }
    }

    Należy uważać, aby przez przypadek nie umieścić części kodu po znaku komentarza, ponieważ nie będzie on wtedy brany pod uwagę przez kompilator.

    Kurs Programowania Java

    Komentarzy /* */ nie można też zagnieżdżać.

    Zadania do samodzielnego wykonania:

    Skompiluj powyższy przykład i zobacz jego działanie. Następnie umieść instrukcję wyświetlającą tekst w znaczniku komentarza i ponownie sprawdź jego działanie.

    Zapisz się do newslettera

    Otrzymuj nasz Newsletter z przykładowymi pytaniami rekrutacyjnymi, wyzwaniami programistycznymi i nowościami ze świata Javy, a także informacje o nowych kursach i promocjach.

    Traktujemy Twoją prywatność poważnie. Nikomu nie udostępniamy Twojego maila no i zawsze możesz się wypisać.

    Komentarze do artykułu

    Wyłączyliśmy możliwość dodawania komentarzy. Poniżej znajdziesz archiwalne wpisy z czasów gdy strona była jeszcze hobbystycznym blogiem. Zapraszamy natomiast do zadawnia pytań i dyskusji na naszej grupe na facebooku.

    Wojtek

    Witam. "Skompiluj powyższy przykład i zobacz jego działanie" to jeszcze da się zrozumieć ale nie umiem tej drugiej części zrozumieć

    Anita

    Wojtek: Witam. „Skompiluj powyższy przykład i zobacz jego działanie” to jeszcze da się zrozumieć ale nie umiem tej drugiej części zrozumieć
    Chodzi o to, byś w komentarzu umieścił metodę, która wyświetla tekst na ekranie. Jak w pierwszym programie wyświetlaliśmy "Hello World", zobacz co się stanie, gdy umieścisz tę samą instrukcję wypisywania na ekran w komentarzu - pomiędzy znakami /* */, bądź za //

    xnikixx

    u mnie nic sie nie stalo, to źle?

    Adam

    Może ktoś tu wkleic jak to trzeba napisac? Bo chce sprawdzić. Dzięki.

    Witek

    public class Komentarz_Test { /** * @author Wiciu */ public static void main(String[] args) { System.out.println("Test komentarza"); // TO NIE ZOSTANIE WYŚWIETLONE // System.out.println("To jest test komentarza - do konńca lini"); /* * System.out.println("To jest test komentarza - wiele lini - linia 1 - "); * System.out.println("To jest test komentarza - wiele lini - linia 2 - "); * System.out.println("To jest test komentarza - wiele lini - linia 3 - "); * ................................................................... * ..................................................................... * itd. */ } }

    Drelka

    "Komentarzy /* */ nie można też zagnieżdżać." - co znaczy zagnieżdżać?

    Alice

    najlepiej na przykładzie: /* tu sobie leci mój komentarz i nagle chce zrobić coś takiego /* bum cyk cyk */ i dalej komentowac to niemozliwe*/ po prostu nie można wsadzać komentarza do środka innego.

    Drelka

    nie do konca rozumiem jaki to miało by sens, ale nieważne, rozumiem co znaczy zagnieżdżać :P dzięki za odp.

    Kefiru

    Ja to bardziej zrozumialem tak, ze nie mozna wsadzac komentaza w srodek instrukcji, itp..

    Wojcio

    Mi się tylko wyświetla "Hello World" Czyli tak jakby nie ma komentarzy? xd

    Marcin

    Tak, komentarze służą temu, by wyłączyć pewien kod tekstu, zostawiając go w plikach, a nie usuwając. ;)

    Karol

    Uff. Myślałem że mam coś z javą... A tu czytam"illegal character" przy slashu. Myślę wtf? Nie może być forslash(mam nadzieje że nie pomyliłem nic). Zmieniłem znak i działa ;)

    masmldamsl

    Czy ktos moze umiescic poprawne dzialanie>? Bo mi niestety nie wychodzi.

    ela

    " Następnie umieść instrukcję wyświetlającą tekst w znaczniku komentarza i ponownie sprawdź jego działanie." Tzn. wstawić mam samo hasło "Hello World" , które uruchamia akcję, czy całe : System.out.print("Hello World"); ? Jeśli tylko samo hasło, to to nic nie zmieniło. A miało coś zmienić?

    Tobiasz931

    @ela Chodzi o to, że takie coś: /*System.out.print(„Hello World”);*/ nie będzie miało żadnego skutku, bo instrukcja jest w komentarzu, czyli tak samo jakby jej w ogóle nie było.

    Lindorm55

    Wyświetla Hello Word

    Rafal

    niech mnie ktoś sprostuje... czy te komentarze nie służą jedynie jako "informacja", którą można przeczytać czytając kod? Mnie też wyświetla tylko Hello World i domyślam się, że te dwie informacje mają jedynie charakter czysto "informacyjny" dla piszącego lub/i czytającego taki kod, nic się nie wyświetli na ekranie bo jak sama nazwa wskazuje "/*Ten tekst nie ma wpływu na program */" :D

    Witek

    Witam dokładnie tak, możesz w nich również umieścić inne informacje, które mogą być istotne dla ciebie lub kogoś innego.

    Slawek

    Można też sobie "zakomentować" jakiś fragment kodu, który w danej chwili chcemy wyrzucić i przetestować np coś innego.

    Drobiczak

    Witam Mam pytanie: czy trzeba dawać spacje np. przed System.out.print?

    Slawek

    Wcięcia służą tylko czytelności kodu,

    Ja kapuje

    To co jest w komentarzu nie istnieje dla maszyny, tylko dla człowieka który jak coś pisze np. książkę to potrzebuje rozdziałów, żeby sięnie pogubić - tak samo tutaj. Kod np. 200 linijek, a ty masz błąd przy jednej i teraz szukaj człowieku jednej lini, a jak masz komentarze to znajdujesz np 10 których ten komentarz dotyczny (bo np. ci nie przeliczyło 2x2), a ty masz w komentarzu, że tu są obliczenia i znajdujesz błąd kilkanaście razy szybciej.

    Irfe

    Prosił bym o pomoc. Już drugi raz jak coś próbuję napisac mam ten sam problem. Komentarz.java :1: error: '{' expected public class Komentarz.java{ ^ public class Komentarz.java{ //rozpoczyna się działanie programu public static void main(String[] args){ /*ten tekst nie ma wpływu na program*/ System.out.print("Hello World"); } } przy poprzedniej likcji miałem dokładnie ten sam błąd nawet po skopiowaniu.

    Piotr

    Twoja klasa powinna nazywać się Komentarz a nie Komentarz.java i powinna być zapisana w pliku Komentarz.java, czyli poniższy program: public class Komentarz{ //rozpoczyna się działanie programu public static void main(String[] args){ /*ten tekst nie ma wpływu na program*/ System.out.print(„Hello World”); } } zapisujesz w pliku Komentarz.java

    kuba

    a czy to co trzeba wgrać na początku to jest na 16-bit windows proszę o odpowiedź.

    Adik

    mi nie dziala jak chce uruchomic Hello

    Daniel

    Dziaaaała :-)

    Ignacy

    Czy można używać polskich znaków? Jeśli tak, to dlaczego mi nie czyta?

    Damian

    Tak można, prawdopodobnie ustawione kodowanie znaków jest sprzeczne z Twoimi wymaganiami, radzę wygooglować : "JAVA Eclipse nie działają mi polskie znaki", na pewno parę osób już czegoś podobnego doświadczyło ;].

    Hania

    Jak próbuję skompilować, pojawia mi się error: class komentarze is public, should be declared in a file named Komentarze.java ?

    Marcin Kunert

    Nazwa pliku musi być taka sama jak nazwa klasy w tym pliku.

    Tomek

    Mi nic nie wyskakuje jak wpisze javac Komentarz ale wszystko robię dobrze.

    Cinek

    Udało się:)

    Rajmund

    Proszę o pomoc. Wyskakuje mi taki alert: Komentarze.java:2: error: unmappable character for encoding Cp1250 //PONI┼╗EJ ROZPOCZYNA SI─? DZIA┼?ANIE PROGRAMU ^ Komentarze.java:2: error: unmappable character for encoding Cp1250 //PONI┼╗EJ ROZPOCZYNA SI─? DZIA┼?ANIE PROGRAMU ^ Komentarze.java:5: error: unmappable character for encoding Cp1250 NIE MAWP┼?YWU ^ 3 errors Co zrobić aby wyświetlały się Polskie znaki?

    lolo

    spróbuj zmienić kodowanie na unicode albo ASCII. W czym piszesz? Notatnik, jakieś IDE?

    Rajmund

    Piszę w Notepad++

    Rajmund

    Ale jak piszę w zwykłym notatniku to jest tak samo.

    Rajmund

    Dzięki lolo! Zmiana kodowania na ASCII pomogło :)

    Maksteri

    Po umieszczeniu linii wyświetlania w polu komentarza program wyświetla pustą linię.

    lolo

    Masz na myśli, że napiszę: System.out.print("1\n"); System.out.print("2\n"); // System.out.print("3\n"); System.out.print("4\n"); To otrzymam wynik: 1 2 4 Jeśli tak. To masz jakiś dziwny kompilator, błąd w kodzie bo to tak nie działa.

    Kml

    Czy w tym przypadku powinno wyjść: 1 2 4 -czyli bez pustej linii pomiędzy 2 a 4?

    lolo

    Tak, nie powinno być żadnej pustej linii jeśli kod wygląda tak jak napisałem. Pusta linia mogła by się pojawić w przypadku napisania np. takiego kodu System.out.print(„1\n”); System.out.println(„2\n”); // System.out.print(„3\n”); System.out.print(„4\n”);

    Kml

    Jak kopiuje jakiś kod do notatnika a następnie otwieram w cmd to wyskakuje masa błędów, min. brak ";" choć średniki są skopiowane?! Jednak kiedy przepisuje wszystko ręcznie do notatnika a potem otwieram w cmd to jest OK. Dlaczego tak się dzieje?

    lolo

    Może to być spowodowane tym, że jak się wpisuje kod i wysyła to system dodawania komentarzy np. zamienia dwa gógre cudzysłowia " na jeden dolny drugi górny " ".

    Kml

    Tak, to racja. Ale ten błąd ze średnikiem, który był na właściwym miejscu? Dodam, że jak przepisałem kod ręcznie wszystko było dobrze. Dziwne...

    lolo

    A spróbuj jak masz ten wklejony kod i pokazuje błąd ze średnikami to spróbuj jeden skasować i wpisać go ręcznie. Może przy kopiowaniu dodatkowo ładuje się jakiś biały znak albo ładuje średnik jako znak specjalny i kompilator go nie rozpoznaje mimo, że wygląda jak średnik. Pamiętam, że kiedyś też jak z jakiejś strony kopiowałem kod to mi zaznaczało linie, że są błędne bo dodawało twarde spacje czy coś i musiałem to skasować, żeby kod działał.

    Kml

    Jest dokładnie tak jak piszesz - tzn. przy skopiowaniu kodu pokazuje błąd ze średnikami i nie tylko, bo również z cudzysłowami i lewym ukośnikiem (backslash) a jak skasuje to i wpisze ręcznie to błąd znika. Może rzeczywiście ładuje jako znaki specjalne i kompilator nie rozpoznaje... ?

    Me

    przecież tak napisał sprawdz wyżej

    Me

    to było do odpowiedzi 42

    Me

    #40 lolo a skąd wziąłeś " n " w nawiasie, lekcje mogłoby być bardziej sprecyzowane

    Lolo

    Masz na myśli to 'n' np. w linii? System.out.print(„1\n”); \n jest to znak specjalny oznaczający przejście do nowej linii

    Maksteri

    nie. chodziło mi o zadanie do wykonania " umieścić: System.out.println(coś) pomiędzy /* */ albo po // i tylko napisałem że jak zrobię coś takiego: /* System.out.println(coś) */ - program wyświetla pustą linię bez tekstu.

    Kamil

    Mi się dzieje tak że wpisuje wszystko tak jak na lekcji i nic w cmd nie wyskakuje pusta linia PROSZĘ O ODPOWIEDŹ

    Szkolenie Java Wrocław