Java, PHP
Klasy osłonowe (opakowujące) są swego rodzaju pomostem pomiędzy typami prostymi a obiektowymi. Ponieważ na typach prostych nie można wywoływać żadnych metod, jak robimy to na obiektach, wprowadzono klasy opakowujące, rozszerzające ich standardowe możliwości. Przykładowo obiekt typu Double reprezentujący liczby zmiennoprzecinkowe, można łatwo przekonwertować do typu long lub zamienić na string. Klasy osłonowe powstały dla wszystkich typów prostych: Boolean – boolean Character – char Integer – int Double – double Float – float Byte – byte Short – short Long – long Zamiana typy prostego na…
W Javie, jak w większości innych języków programowania, bardzo często mamy do czynienia z różnego rodzaju ciągami znaków. W tekście postaram się przybliżyć Ci takie pojęcia jak literał łańcuchowy i klasa String oraz omówię podstawowe mechanizmy z nimi związane. Co to jest String i string literał? Między tymi dwoma pojęciami w praktyce jest niewielka różnica, dlatego zazwyczaj są zamiennie nazywane i wykorzystywane. Literał łańcuchowy, czyli po prostu ciąg znaków, musi kończyć się i zaczynać od znaku cudzysłowu. Poniżej kilka przykładowych literałów: [crayon-5bb9ad40d3406602297801/] Każdy literał…
Czym stała różni się od zmiennej? Omawiając zmienne, warto również wspomnieć o stałych, czyli w pewnym sensie ich przeciwieństwie. W Javie stałe deklaruje się bardzo podobnie do zmiennych, z tą różnicą, że przed deklarowanym typem trzeba dodać jeszcze słowo kluczowe: final. Zadeklarowanej w ten sposób stałej można przypisać wartość tylko raz. Późniejsze próby jej modyfikacji zakończą się błędem kompilacji. [code language=”Java” title=”Deklaracja i inicjalizacja stałej”]final double CONSTANT_PI = 3.14; final int OTHER_CONSTANT; OTHER_CONSTANT = 1; [/code] Nie ma takiego wymogu składniowego, jednak według konwencji…
Metody klasy String to fragment artykułu na temat klasy String. W tym tekście zostaną omówione najważniejsze metody klasy String wraz z przykładami użycia. Spis treści1 String trim2 String toUpperCase3 String toLowerCase4 String isEmpty5 String length6 String charAt7 String toCharArray8 String substring9 String subSequence10 String split11 String replace12 String matches13 String indexOf14 String equals15 String concat16 String startsWith17 String endsWith18 String contains19 String compareTo20 String getBytes21 Programista – Pytania rekrutacyjne String trim public String trim() Zadaniem metody trim jest pozbycie się wszystkich białych znaków na początku
Konwertowanie i zamiana typów to fragment artykułu na temat klasy String. W tekście zebrane zostały fragmenty kodu pokazujące, w jaki sposób zamienić jeden typ danych na inny. String to array Zamianę stringa na tablicę stringów można zrobić przy pomocy metody split. [crayon-5bb9ad40d3cdf819801946/] Zamiana stringa na tablicę charów. [crayon-5bb9ad40d3ce6638072524/] Array to String Zamiana przy pomocy metody: Arrays.toString [crayon-5bb9ad40d3ce9012686157/] Zamiana przy pomocy metody: String.join [crayon-5bb9ad40d3cec191502555/] Zamiana za pomocą Java Stream [crayon-5bb9ad40d3cef162665976/] Zamiana z wykorzystaniem zwykłej pętli [crayon-5bb9ad40d3cf2368419035/] Dla zagnieżdżonych tabel można wykorzystać metodę: Arrays.deepToString [crayon-5bb9ad40d3cf5786286043/] Char array to String Zamiana…
Java operator przypisania Operator przypisania charakteryzuje się tym, że jednocześnie: powoduje przypisanie oraz zwraca wartość równą przypisanej wartości. Klasyczny operator przypisania Klasyczny operator przypisania to w Javie zwyczajnie “równa się” =. Operator przypisuje zmiennej po lewej stronie wartość wyrażenia po prawej stronie. Jeżeli zmienna jest typu prostego, to jej wartość jest zwyczajnie kopiowana. Natomiast jeżeli zmienna jest typu obiektowego, czyli jest referencją, to kopiowana jest sama referencja, a nie obiekt, na który wskazuje. W efekcie takiego przypisania do obiektu kierują dwie referencje zamiast jednej. Zmienne typu…
Operatory logiczne działają na wartościach logicznych (typ boolean) i same zwracają wartość logiczną, realizując podstawowe operacje algebry Boole’a. Argumenty operatorów wyliczane są zawsze od lewej do prawej strony. Wyliczenie wartości drugiego operatora może zostać pominięte, jeżeli na podstawie pierwszego można określić wynik całej operacji. Negacja ! Negację, czyli zaprzeczenie, można tłumaczyć jako “nieprawda, że”. W Javie do jej prezentacji wykorzystywany jest operator znaku wykrzyknika !. [crayon-5bb9aae0212d8980466275/] Prawo podwójnego przeczenia Podwójne przeczenie zeruje się i wartość pozostaje bez zmian. true == !!true Koniunkcja && Operator koniunkcji przyjmuje…
StringBuilder Operacje na ciągach znaków występują praktycznie w każdej aplikacji, dlatego są jedną z pierwszych umiejętności, jakie zdobywają młodzi programiści. Jednak co dobrze sprawdza się w prostej aplikacji w stylu: Hello World, w bardziej skomplikowanym projekcie, przy dużym obciążeniu, może już przysporzyć nam nie lada problemów. Czas poszerzyć arsenał swoich umiejętności o nową klasę: StringBuilder, która jest uważana za panaceum na problemy wydajnościowe ze stringami. Tylko czy aby na pewno jest to zawsze najlepsze wyjście? Niezmienność [Immutability] Standardowa klasa String jest niemodyfikowalna, w efekcie…
W Javie poza danymi przechowywanymi w formie typów prostych (takich jak int, float, …), istnieją również typy obiektowe, czyli konstrukcje przechowujące stan (aktualna wartość przechowywanych danych) oraz zachowanie (zbiór obsługiwanych metod). Same obiekty zostaną szczegółowo omówione później, jednak w tym miejscu należy o nich wspomnieć ze względu na klasę: String oraz klasę bazową: Object. Obiekty, podobnie jak zmienne, przechowywane są w pamięci komputera. Dodatkowo na obiekt może wskazywać więcej niż jedna referencja. Deklarując obiekt musimy podać jego typ oraz typ zmiennej referencyjnej, która będzie…
W Javie typy danych możemy podzielić na dwie główne kategorie: typy obiektowe oraz typy proste. Typy obiektowe przechowują dane oraz zachowanie i szczegółowo zostaną przedstawione później. Natomiast typy proste, inaczej mówiąc prymitywne, przechowują tylko “surowe” dane, takie jak: liczby stałe, np. 1, 10, 200; liczby zmiennoprzecinkowe, np. 1.0, 10.5, 200.1; znaki, np. ‘a’, ‘z’, ‘1’; typ logiczny – czyli prawdę (true) lub fałsz (false); Liczby całkowite Liczby całkowite, czyli stałoprzecinkowe, dodatkowo podzielone są na 4 rodzaje ze względu na rozmiar liczby, jaki mogą przechowywać: byte –…
Immutables to wszechstronne narzędzie do pracy z klasami typu: value object. Biblioteka pozwala uniknąć pisania oraz utrzymywania powtarzalnego i niewiele wnoszącego kodu (boilerplate code). Jej głównym celem jest realizacja reguły DRY (ang. Don’t Repeat Yourself, pol. Nie powtarzaj się), co naprawdę całkiem fajnie zrealizuje. Wprowadzenie do Immutables Immutables działa jako standardowy procesor adnotacji w obrębie kompilatora javac. W celu wygenerowanie klasy Immutables wystarczy dodać adnotację: @Value.Immutable. Na podstawie informacji z bazowej klasy procesor adnotacji podczas kompilacji utworzy pełną implementację nowej klasy o nazwie: Immutable + [nazwa klasy bazowej]. [crayon-5bb9aae024d10929820786/] [crayon-5bb9aae024d18107408205/] [crayon-5bb9aae024d1b018124627/]…
Działanie praktycznie każdego z programów, ogólnie mówiąc, sprowadza się do przetwarzania danych. Dlatego jedną z podstawowych umiejętności, jaką powinien posiąść programista, jest znajomość typów danych oraz możliwości ich obróbki. Wprowadzenie do zmiennych W każdym programie dane możemy przedstawić za pomocą literałów, zmiennych oraz stałych. literał – to napis w programie bezpośrednio przedstawiający wartość danej, np. liczba: 123 albo ciąg znaków: Hello World. zmienna – jest to natomiast symbol oznaczający wielkość, która może przyjmować różne wartości. Natomiast zbiór możliwych wartości jest to zakres tej zmiennej. Mówiąc bardziej technicznie: to, że…
Kurs Java Witam serdecznie i zapraszam do darmowego kursu z Podstaw Programowanie w Javie. Dzięki zawartym tu materiałom można rozpocząć samodzielną naukę programowania. Na stronie co najmniej raz w tygodniu będą pojawiały się nowe lekcje ze świeżym materiałem do opanowania. Pozdrawiam i zapraszam do lektury. Historia Javy Instalacja JDK Pierwszy program “Witaj Świecie!” Zintegrowane środowisko programistyczne IDE Komentarze i samodokumentujący się kod Zmienne i typy danych Typy proste Typy obiektowe Operatory logiczne Operator przypisania STAŁE – final Klasy osłonowe Operatory matematyczne Operatory relacyjne Inkrementacja i…
Bezpieczeństwo to bardzo ważna rzecz, jednak jego głównym problemem jest to, że zaczynamy się nim interesować, dopiero kiedy jest już za późno na prewencję. Zazwyczaj przypominamy sobie o nim kiedy mamy już poważne kłopoty i bardzo dużo dodatkowej i niepotrzebnej roboty. Tak było oczywiście i w moim wypadku… Niby robiłem wszystko zgodnie ze sztuką: częste aktualizacje, trudne hasła itp. itd. Jednak jak się okazało, czasem i to jest za mało, a ja mogłem zrobić zdecydowanie więcej. W tekście zebrałem najczęstsze błędy i niedopatrzenia w zabezpieczeniach…
Tutorial Git wprowadzi Cię krok po kroku w tajniki systemów kontroli wersji. Kurs oparty jest o przykłady z objaśnieniami konkretnych zagadnień. Z powodzeniem można go potraktować jako monolit i przeczytać od deski do deski, ale sprawdzi się również jako ściąga z wybranych funkcjonalności Git. Systemy kontroli wersji kodu źródłowego Systemy kontroli wersji odpowiedzialne są za śledzenie wszystkich zmian dokonywanych w plikach. Za ich pomocą można podejrzeć wcześniej dokonane zmiany oraz, w razie potrzeby, powrócić do starszej wersji pliku. Dzięki nim można również sprawdzić kto i kiedy dokonał tych zmian.…