JavaRush /Blog Java /Random-PL /Najczęstsze problemy osób rozpoczynających naukę języka J...

Najczęstsze problemy osób rozpoczynających naukę języka Java

Opublikowano w grupie Random-PL
Poziom wiedzy wymagany do zrozumienia artykułu: początkujący. Jesteś w trakcie studiowania zadania dotyczącego składni języka Java i zbliżasz się do jego początkowego poziomu. Najczęstsze problemy osób rozpoczynających naukę języka Java - 1Właśnie zacząłeś uczyć się języka Java. Jesteś bombardowany terminami niczym z rogu obfitości. Jesteś obciążony tonami informacji technicznych i czasami gubisz się w trzech sosnach. Uwierz mi, skoro już wciągnąłeś się w programowanie, ZAWSZE TAK BĘDZIE (w tym momencie zza ekranu rozbrzmiewa złowieszczy śmiech, a cichy głos, ucięty w połowie zdania, szepcze: „Uciekaj… ratuj się zanim jest już za późno..."). Błędy będą Cię prześladować przez resztę Twojego programowania, nawet jeśli jesteś najlepszym programistą. Jednak to wcale nie jest tak straszne, jak się wydaje.
Jeśli dopiero zacząłeś uczyć się JavaRush, najprawdopodobniej spotkałeś się już z problemami poruszonymi w artykule. W każdym razie będziemy wdzięczni za komentarze opisujące problemy, jakie napotkałeś w pierwszych miesiącach nauki Javy.

Problem poziomu 0: Zamieszanie z operatorem porównania (==) i operatorem przypisania (=).

Jest to bardzo częsty problem osób, które przechodzą z innych języków programowania. I w ogóle od podstawówki przyzwyczailiśmy się, że (=)jest to znak równości. Prosta sztuczka, którą można zastosować do zapamiętania, jest następująca: jeśli wiesz, że zależy Ci tylko na jednej z wartości (przypisujesz jedną do drugiej), używasz pojedynczego =znaku „”, w przeciwnym razie, jeśli zależy Ci na wszystkich zmiennych i wartości (porównujesz je) potrzebujesz podwójnego ==znaku „”.

Problem: użycie operatora porównania (==) do sprawdzenia równoważności ciągów

Co należy zrobić: Pamiętaj, że żaden obiekt Java nie może być sprawdzany pod kątem równoważności za pomocą(==) , ponieważ ten operator jest przeznaczony do testowania równości typów pierwotnych.
Najczęstsze problemy osób rozpoczynających naukę języka Java - 2
W przypadku obiektów należy użyć .equals(). A Stringw języku Java jest to nic innego jak obiekt (i immutable).
Obiekt oznaczony jako Immutable to obiekt, którego stanu nie można zmienić po utworzeniu. W Javie oznacza to, że wszystkie pola instancji klasy są oznaczone jako finali są prymitywami (lub także immutable).

Problem: Łączenie ciągów w pętli

Nie próbuj tego sam! Za każdym razem, gdy łańcuchy są łączone, tworzony jest nowy obiekt String(jak dowiedzieliśmy się powyżej, ciągi immutablesą niezmienne). W pewnym momencie zabraknie Ci pamięci lub wykonanie programu zajmie zbyt dużo czasu. Rozwiązanie. Użyj StringBuilderzamiast tego Stringpodczas łączenia treści w pętli. Klasy StringBuilderużywa się, gdy trzeba wprowadzić wiele zmian w ciągu znaków. A takie linie, w przeciwieństwie do String, nie są immutable.

Problem: wyjątek NullPointer

Tego rodzaju wyjątek występuje, gdy próbujemy użyć wskaźnika zerowego, nullpodczas gdy w rzeczywistości potrzebujemy prawdziwego obiektu.
Wszystkie typy pierwotne mają wartości domyślne. Zatem y intjest 0i y booleanjest false. Domyślną wartością wszystkich typów referencyjnych, czyli obiektów, jest null. To nie jest obiekt ani typ, to specjalna wartość. Co zasadniczo oznacza „tutaj nic nie ma”.
Najczęstsze problemy osób rozpoczynających naukę języka Java - 3
Co należy zrobić: Jeśli Twój kod jest napisany w taki sposób, że w pewnym momencie obiekt może zaakceptować wartość null, musisz dodać opcję „sprawdź null”, zwłaszcza jeśli sam nie tworzysz obiektu. Pamiętaj też, że lepiej zwrócić puste kolekcje niż zbiór null„. Byłoby miło również dodać walidację dla pobierających i ustawiających.

Problem: z jakiegoś powodu pętla if / while / for nie działa

if (something.equals («что-то еще»)); {// <---- корень зла!!!
     System.out.println («Почему я не работаю???»);
}
Co tu jest nie tak? To proste: dodatkowy średnik zepsuł krew setkom tysięcy początkujących programistów Java. Cóż, nie potrzebujesz tego później if (). Z językowego punktu widzenia taka składnia jest całkiem akceptowalna, więc kompilator nie będzie na nią narzekał. Ale kończy instrukcję warunkową, a kod wewnątrz bloku {}nigdy nie spełni powyższego warunku.
Najczęstsze problemy osób rozpoczynających naukę języka Java - 4
Rozwiązanie: Zapamiętaj logikę projektu. Znak „ ;” oznacza koniec pewnego bloku, ale tutaj wszystko dopiero się zaczyna.

Problem: Próba dostępu do niestatycznych zmiennych składowych za pomocą metod statycznych (takich jak main)

Rozwiązanie . Problem ten związany jest ze zrozumieniem samego pojęcia static. Jeśli tym słowem oznaczona jest metoda, oznacza to, że nie musimy tworzyć instancji klasy, aby wywołać metodę główną. Rozwiązaniem jest zatem dobre zrozumienie „statyki” i zrozumienia jej istoty.

Problem: Próba wynalezienia koła na nowo poprzez rozwój już istniejących bibliotek i narzędzi

Rozwiązanie. Właściwie nie jest to aż tak wielkim problemem. Dla początkującego jest to bardziej przydatne ćwiczenie. Jeśli jednak chcesz skupić się na efekcie, np. stworzeniu wygodnej bazy abonentów, to wyszukanie abonenta w książce telefonicznej to tylko jeden z efektów Twojej aplikacji. W takim przypadku nie ma potrzeby pisania algorytmu wyszukiwania binarnego. Użyj istniejącego (zapewniamy, że ktoś już go napisał przed tobą i znajduje się w standardowych bibliotekach). Dlatego przestudiuj standardowe biblioteki Java w dokumentacji Oracle. Naucz się korzystać z Google, przyzwyczaj się do czytania Stack Overflow i zadawaj pytania na temat pomocy JavaRush ! ...Oczywiście to nie wszystkie problemy początkujących. Opisz swoje w komentarzach! Czy jesteś zainteresowany przeczytaniem artykułów związanych z Javą? Dołącz do grupy programistów Java . Jest tu wiele ciekawych rzeczy.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION