Java EE produkcja oprogramowania

Podobne dokumenty
Java jako język programowania

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Języki programowania zasady ich tworzenia

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Spis treści. 1 Java T M

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Programowanie w języku Python. Grażyna Koba

WPROWADZENIE DO JĘZYKA JAVA

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

WPROWADZENIE DO JĘZYKA JAVA

Ćwiczenie 1. Przygotowanie środowiska JAVA

Programowanie obiektowe

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

MATERIAŁY DO ZAJĘĆ I. Podstawowe pojęcia. Algorytm. Spis treści Przepis

Programowanie komputerów

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Wykład 1: Wprowadzenie do technologii Java

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Programowanie w języku C++ Grażyna Koba

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Wprowadzenie do języka Java

Programowanie w Internecie. Java

Translacja wprowadzenie

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Programowanie obiektowe

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Java EE produkcja oprogramowania

Narzędzie pomocnicze do przedmiotu Podstawy Informatyki - złożoność obliczeniowa

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

1 Podstawy c++ w pigułce.

Podstawy i języki programowania

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Zapisywanie algorytmów w języku programowania

1 Podstawy c++ w pigułce.

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

JDK można pobrać ze strony

Wstęp do programowania. Wykład 1

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

Rozdział 4 KLASY, OBIEKTY, METODY

ALGORYTMY I PROGRAMY

Podstawy programowania obiektowego

Metody Kompilacji Wykład 1 Wstęp

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

1 Atrybuty i metody klasowe

Wykład 4: Klasy i Metody

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

PyPy's Approach to Virtual Machine Construction

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Definicje klas i obiektów. Tomasz Borzyszkowski

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

Informatyka I. dr inż. Andrzej Czerepicki.

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38

Metody Metody, parametry, zwracanie wartości

Java Podstawy. Michał Bereta

Wstęp do programowania

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Programowanie i projektowanie obiektowe

Projektowanie obiektowe. Roman Simiński Polimorfizm

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Podstawy Informatyki Języki programowania c.d.

Wykład 8: klasy cz. 4

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Paradygmaty programowania

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Wykład 2: Podstawy Języka

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Podstawy programowania. Wykład 1 Wstęp. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania skrót z wykładów:

Od programowania wizualnego do tekstowego

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Historia i podstawowe koncepcje. Tomasz Borzyszkowski

Microsoft IT Academy kurs programowania

Język JAVA podstawy. wykład 1, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Podstawy programowania. Wprowadzenie

KARTA KURSU. Wstęp do programowania

Podstawy i języki programowania

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Bezpieczeństwo systemów komputerowych. Java i JavaScript. Java i JavaScript. Java - historia

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

PARADYGMATY PROGRAMOWANIA Wykład 4

Języki i metodyka programowania. Wprowadzenie do języka C

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

Programowanie obiektowe. Wprowadzenie

Powtórka algorytmów. Wprowadzenie do języka Java.

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Algorytm. a programowanie -

Transkrypt:

Java EE produkcja oprogramowania PPJ PODSTAWY PROGRAMOWANIA W JAVIE PODSTAWY JĘZYKA JAVA 1 Warszawa, 2016Z

2 Ogólna charakterystyka języka Java

3 Java 1/2 Język programowania Java został opracowany przez firmę Sun Microsystems w 1995. Java jest obiektowym językiem programowania. Java umożliwia programowanie współbieżne. Program napisany w języku Java jest kompilowany do kodu bajtowego i uruchamiany w maszynie wirtualnej JVM. Programy napisane w języku Java są przenośne między platformami. W języku Java można budować aplikacje na urządzenia stacjonarne i mobilne, w technologii tradycyjnej i webowej.

4 Java 2/2 Maszyna wirtualna Java zarządza dynamicznie przydzieloną pamięcią. Programowy zarządca Garbage collector automatycznie zwalnia nieużywaną pamięć. Składnia języka Java bazuje na składni języka C++. Język Java jest bardziej złożony niż Python, ale prostszy niż C++. Na języku Java bazuje język C#. W lipcu 2014 roku IEEE (Institute of Electrical and Electronics Engineers) opublikował listę dziesięciu najczęściej używanych języków programowania. Język Java znalazł się na 1. miejscu. Uwaga. Java i JavaScript to dwa RÓŻNE języki programowania.

5 Procesor, język maszynowy Procesor (CPU) jest sekwencyjnym urządzeniem cyfrowym, które pobiera dane z pamięci, interpretuje je i wykonuje jako rozkazy. Procesor wykonuje ciąg instrukcji ze zbioru operacji podstawowych (listy rozkazów procesora). Język maszynowy składa się z instrukcji, które mogą być bezpośrednio wykonywane przez procesor. Większość programów zapisanych w języku wysokiego poziomu (np. Java, C#, C++) nie może być bezpośrednio wykonanych przez procesor. Program musi być przetłumaczony na język maszynowy.

6 Komputer, instrukcje CPU Instrukcja CPU Z = X + Y 1. Odczytaj wartość zapisaną w pamięci o adresie X 2. Odczytaj wartość zapisaną w pamięci o adresie Y 3. Dodaj 4. Wynik zapisz w pamięci o adresie Z Języki programowania wysokiego poziomu są łatwiejsze do stosowania niż instrukcje CPU, ale wymagają tłumaczenia na język maszynowy.

7 Maszyna wirtualna Javy 1/3 Tłumaczenie na język maszynowy może być wykonane przez program komputerowy nazywany kompilatorem. Kompilator czyta program zapisany w języku wysokiego poziomu i tłumaczy na program w języku maszynowym, który może być wykonany przez procesor. Programy w języku Java kompilowane są do kodu maszynowego wirtualnego komputera wirtualnej maszyny Java (JVM, Java Virtual Machine). Kod maszynowy JVM nazywany jest kodem bajtowym.

8 Maszyna wirtualna Javy 2/3 Dla każdego typu komputera i systemu operacyjnego wymagany jest dedykowany interpreter kodu bajtowego Java. Kod bajtowy może być wykonany na każdym komputerze, na którym zainstalowano interpreter, który implementuje JVM. Jest to podstawowa zaleta języka Java program skompilowany do kodu bajtowego może być uruchomiony na dowolnym komputerze, na którym zainstalowano interpreter implementujący JVM.

9 Maszyna wirtualna Javy 3/3 Interpretacja kodu bajtowego jest czasochłonna i dlatego programy napisane we wczesnych wersjach Java wykonywały się wolniej niż programy w innych językach programowania, które korzystały z bezpośredniej kompilacji do kodu maszynowego. Problem został rozwiązany przez wprowadzenie kompilatorów JIT (Just-in-Time). Kompilator JIT kompiluje program do kodu maszynowego przed wykonaniem danego fragmentu kodu. Kompilacja może się odbywać w momencie pierwszego dostępu do kodu zapisanego w pliku lub pierwszego wywołania funkcji.

10 Struktura programu w Javie

11 Syntaktyka, semantyka, pragmatyka Składnia ściśle opisuje język programowania. Reguły składniowe określają słownik języka oraz sposób w jaki program może być skonstruowany. Reguły opisują zasady budowy instrukcji: przypisania, wywołania, powrotu, skoku, blokowe, warunkowe, wyboru, pętle, zasady konstruowania wyrażeń itd. Program zbudowany zgodnie ze składnią języka (syntaktycznie poprawny) może być skompilowany i wykonany. Dla użytkowników i projektantów programu istotne jest, aby program działał i zwracał prawidłowe wyniki zgodnie z wymaganiami, innymi słowy, aby był semantycznie poprawny. Poza składniową i semantyczną poprawnością, ważny jest styl programowania, który powinien uwzględniać dobre praktyki programowania. Styl zamiennie nazywany jest pragmatyką. Styl programowania obejmuje takie zagadnienia jak formatowanie kodu, nazewnictwo: zmiennych, podprogramów, klas, właściwe komentowanie, przejrzysta algorytmika itd.

12 Struktura programu w Javie 1/3 Proces budowy programu w Javie składa się z trzech kolejno wykonywanych kroków: (1) napisania w edytorze tekstu kodu programu i zapisania go w pliku, (2) kompilacji kod źródłowego do kodu bajtowego, (3) wykonania (interpretacji kodu bajtowego na kod maszynowy i wykonanie). Struktura typowego programu jest następująca: public class NazwaProgramu { (opcjonalna lista zmiennych lub procedur) public static void main(string[] args) { (instrukcje) } }

13 Struktura programu w Javie 2/3 Przykładowy kod programu: /** Program wypisuje komunikat * Witaj na studiach Java EE. * na standardowym wyjściu. */ public class Witaj { public static void main(string[] args){ // pierwsza wykonywalna instrukcja programu System.out.println( "Witaj na studiach Java EE."); } }

14 Struktura programu w Javie 3/3 Komentarze pomagają programistom w rozumieniu semantyki programu. Komentarze blokowe rozpoczynają się parą znaków /* i kończą parą znaków */. Komentarze wierszowe rozpoczynają się parą znaków // i kończą znakiem końca wiersza. Komentarze są ignorowane przez kompilator. Tablica args z elementami typu String, zawiera parametry wywołania programu. Przykładowo, jeżeli program w oknie terminala został wywołany poleceniem java witaj na WEiTI to pierwszy element tablicy (args[0]) zawiera wartość witaj, drugi element (args[1]) wartość na, trzeci WEiTI. (Tablice w Javie indeksowane są od zera.)

15 Procedury Procedura jest sekwencją instrukcji, zgrupowanych i identyfikowanych przez nazwę. Nazwa procedury używana jest w wywołaniu procedury. Procedura wbudowana jest częścią języka i jest dostępna dla każdego programu. Przykładowo, polecenie System.out.println wywołuje procedurę wbudowaną. Składania języka Java wymaga, aby wszystkie instrukcje były wewnątrz klasy ( w ciele klasy ).

16 Wywołanie procedury Wywołanie procedury składa się z nazwy procedury i pary nawiasów okrągłych. Jeżeli procedura pobiera parametry, to ich wartości umieszczane są wewnątrz nawiasów i oddzielane przecinkami. Jeżeli procedura zwraca wartość, to wartość może być przypisana do zmiennej lub użyta w wyrażeniu. Wywołanie metody powoduje przejście sterowania do pierwszej instrukcji w metodzie. Jeżeli metoda zwraca wartość, to jej działanie kończy się wywołaniem instrukcji return, która zwraca wartość. Jeżeli metoda nie zwraca wartości, to jej działanie kończy się po wykonaniu ostatniej instrukcji. Po zakończeniu działania procedury, sterowanie powraca do miejsca wywołania procedury.

17 Składania wywołania procedury Metody wywoływane są po utworzeniu obiektu danej klasy 1. Do wywołania metody najczęściej stosowany jest operator kropki (.) 2. Przykład: String tytul = "Java EE"; int ileznakow = tytul.length(); 1 od tej reguły są wyjątki np. metody statyczne (omówione w dalszej części) 2 metody mogą być wywołane także w inny sposób np. z wykorzystanie mechanizmu refleksji

18 Procedura main Wykonanie programu rozpoczyna się od wywołania procedury main. W programie może być tylko jedna procedura main. Nazwa klasy, która zawiera procedurę main jest nazwą programu. W procedurze main mogą znajdować się wyrażenia wołające inne procedury, także procedury zdefiniowane w innych klasach. Procedura main jest zadeklarowana jako publiczna (słowo kluczowe public) co oznacza, że może być wywołana spoza programu (procedurę wywołuje interpreter kodu bajtowego). Procedura nie zwraca wartości (słowo kluczowe void) i jest statyczna (słowo kluczowe static). Pomiędzy parą nawiasów klamrowych znajduje się sekwencja instrukcji tzw. ciało procedury.

19 Klasy Klasy publiczne muszą być zapisane w plikach o takiej samej nazwie jak nazwa klasy i z rozszerzeniem.java (w przykładzie Witaj.java). Po skompilowaniu, kod bajtowy zapisywany jest w plikach z rozszerzeniem.class (w przykładzie Witaj.class). Pozostałe elementy kodu źródłowego (kodu programu) takie jak wcięcia, odstępy, wyrównania itd. określają styl programowania i są przez kompilator ignorowane, ale mają duże znaczenie dla programistów ponieważ zwiększają czytelność kodu, ułatwiają zrozumienie działania programu, ułatwiają serwisowanie i rozbudowę.

20 Kompilacja kodu źródłowego Kompilacja kodu źródłowego programu zapisanego wykonywana jest przez program javac. Parametrami wywołania są pliki z kodem źródłowym (pliki z rozszerzeniem.java). Przykład polecenia kompilacji w wierszu poleceń (w oknie terminala): javac Witaj.java Kod bajtowy zapisywany jest w pliku z rozszerzeniem.class (w przykładzie Witaj.class).

21 Wykonanie programu Kod bajtowy jest interpretowany na kod maszynowy przez program java. Parametrem wywołania programu interpretera jest nazwa programu (nazwa pliku, który zawiera kod bajtowy klasy, w której znajduje się procedura main). Przykład polecenia uruchomienia programu w wierszu poleceń: java Witaj

22 Błędy Błędy można podzielić na błędy: kompilacji błędy w składni kodu źródłowego wykryte podczas kompilacji, wykonania wykryte w czasie działania programu np. dzielenie przez zero, odwołanie do nieistniejącego indeksu tablicy, logiczne wykryte w czasie działania programu np. kiedy wynik działania programu jest inny niż oczekiwany.