Programowanie obiektowe

Podobne dokumenty
Języki Programowania II Wykład 3. Java podstawy. Przypomnienie

Programowanie obiektowe

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Programowanie obiektowe

Tworzenie aplikacji w języku Java

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

Java Język programowania

2. Składnia, środowisko i konwencje w Javie

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

Microsoft IT Academy kurs programowania

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

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Wprowadzenie do języka Java

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Programowanie w języku Java WYKŁAD

Programowanie obiektowe

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH

Programowanie w Internecie. Java

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

Podstawowe części projektu w Javie

Programowanie RAD Delphi

Podstawy Języka Java

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

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Podstawy i języki programowania

Języki programowania - podstawy

Programowanie obiektowe

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

Programowanie obiektowe

Platformy Programistyczne Podstawy języka Java

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

Akademia ETI. Wprowadzenie do programowania w Javie PG Java User Group Przemysław Kulesza

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019

Programowanie wieloplatformowe w Java

Podstawy programowania w języku C

Języki i metody programowania Java INF302W Wykład 2 (część 1)

Programowanie obiektowe zastosowanie języka Java SE

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();

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

dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy

Język Java i technologie WEB

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

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Materiały pomocnicze do wykładu 3 - Elementy języka Java

Programowanie obiektowe

Programowanie i projektowanie obiektowe

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

Język ludzki kod maszynowy

Operatory. Składnia. Typy proste. Znaki specjalne

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

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

Java EE produkcja oprogramowania

Programowanie urządzeń mobilnych

ECLIPSE wnioski z dwóch pierwszych laboratoriów

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

Wprowadzenie do programowaia w języku Java. dr Dariusz Pałka dpalka@up.krakow.pl

Wykład 7: Pakiety i Interfejsy

MATERIAŁY DO ZAJĘĆ II

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

1 Podstawy c++ w pigułce.

Języki i metody programowania Java INF302W Wykład 3 (część 1)

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusz Mikoda

Java. Programowanie Obiektowe Mateusz Cicheński

Języki i metody programowania Java. Wykład 2 (część 2)

Java-wykład. Dorota Pylak

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Podstawy języka Java. przygotował:

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

1 Podstawy c++ w pigułce.

Programowanie, algorytmy i struktury danych

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4);

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

1 Atrybuty i metody klasowe

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Dokumentacja do API Javy.

Polimorfizm. dr Jarosław Skaruz

public - może być używana w kodzie poza klasą, jedna klasa ModyfikatorKlasy może być kombinacją wyrażeń:

JAVA?? to proste!! Autor: wojtekb111111

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

Klasy abstrakcyjne, interfejsy i polimorfizm

Materiały pomocnicze do wykładu 3 - Elementy języka Java

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

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

Java Podstawy. Michał Bereta

Ćwiczenie 1. Przygotowanie środowiska JAVA

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

Programowanie w środowiskach graficznych. Wykład 3 Język C#

Wstęp do ruby dla programistów javy

Programowanie w Javie Lista nr 1. Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]

KOTLIN. Język programowania dla Androida

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

Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Transkrypt:

Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 3 Java podstawy

Przygotował: Jacek Sroka 2 Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo Przypadki użycia = opowiastki o używaniu systemu = wymagania w kontekście UML Tylko notacja Pozwala się komunikować Myślenie obiektowe Mniejsza luka reprezentacji Łatwiej zapanować nad złożonością

Przygotował: Jacek Sroka 3 Przypomnienie c.d. Program = zbiór obiektów Obiekty łączą stan i zachowanie Obiekty zlecają sobie nawzajem pewne odpowiedzialności Posiadanie młotka nie uczyni z ciebie architekta

Przygotował: Jacek Sroka 4 Co dalej Wprowadzenie do Javy Podstawowe konstrukcje języka Uruchamianie programów JVM, JRE, JDK,...

Przygotował: Jacek Sroka 5 Język Java Wysokopoziomowy Kompilowalny Obiektowy Z silną kontrolą typów Składnia wzorowana na C/C++ Bezpieczniejszy Przenośny write once run anywhere vs write once debug everywhere "compile once, run anywhere vs "write once, compile anywhere

Przygotował: Jacek Sroka 6 Bajtkod Kompilator nie generuje kodu maszynowego, ale kod pośredni (bajtkod) Bajtkod wykonuje maszyna wirtualna Javy (Java Virtual Machine JVM) Obecnie również inne języki (Scala, Python, Groovy, Ruby, Ada, PHP,... JMV + standard class libraries = JRE JRE to Java Runtime Environment Standardowe biblioteki implementują Java API (Application Programming Interface) Java SE 6 J2SE 1.4.2 i 5.0 SE, ME, EE

Przygotował: Jacek Sroka 7 Witaj Świecie public class HelloWorld { public static void main(string[] args) { System.out.println("Hello world!"); } } Definicja klasy Modyfikatory dostępu Definicja metody Typ zwrotny Lista parametrów (rozdzielana przecinkiem, najpierw typ potem nazwa) Ciało Składowe klasowe vs egzemplarza Wywołanie metody

Przygotował: Jacek Sroka 8 Uruchamianie Klasa publiczna musi być pliku o tej samej nazwie Tylko jedna klasa publiczna w pliku W IDE Shift+F6 vs F6 Ctrl+Shift+F5 vs Ctrl+F5 Ctrl+spacja Alt+Shift+F Z konsoli javac java

Przygotował: Jacek Sroka 9 Komentarze Jednowierszowe // To jest komentarz jednowierszowy Wielowierszowe /* To jest komentarz wielowierszowy */ /* A */ /* to */ /* kilka */ /* takich */ /* komentarzy */ /* To jest komentarz /* to nadal jest komentarz */ a_to_już_nie */

Przygotował: Jacek Sroka 10 Identyfikatory Zaczynają się od litery a potem litery lub cyfry Znak "_" jest traktowany jako litera Znak "$ też ale jest zarezerwowany Programy w Javie to napisy w UniCode identyfikatory mogą zawierać znaki narodowe (w tym polskie) Nie ma ograniczenia na długość identyfikatorów Identyfikatory nie mogą być słowami kluczowymi Javy ani literałami true, false i null

Przygotował: Jacek Sroka 11 Słowa kluczowe abstract continue for new switch assert default if package synchronized boolean do goto private instanceof break double throw protected implements byte else import public throws this case enum return transient catch extends int short interface char final try static void class finally long strictfp volatile const float native super while

Przygotował: Jacek Sroka 12 Literały liczby całkowite (np. 13 czy -2627) dziesiętne, szesnastkowe (0xC) lub ósemkowe (np. 015), liczby rzeczywiste (np. 1.0 czy -4.9e12) mogą być dziesiętne, szesnastkowe lub binarne literały logiczne false i true literały znakowe (np. 'a' czy '\n') literały napisowe (np. "Ala ma kota") klasa String a nie typ pierwotny literały tablicowe literał null

Przygotował: Jacek Sroka 13 Operatory Postfix: expr++ expr-- Unary: ++expr --expr +expr -expr ~! Multiplicative * / % Additive + - Shift << >> >>> Relational < > <= >= instanceof Equality ==!= Bitwise AND & bitwise exclusive OR ^ bitwise inclusive OR Logical AND && Logical OR Ternary? : Assignment = += -= *= /= %= &= ^= = <<= >>= >>>=

Przygotował: Jacek Sroka 14 Typy Każda zmienna, atrybut, parametr ma zadeklarowany typ Kompilator sprawdza czy typy wyrażeń się zgadzają Typy pierwotne boolean byte, short, int, long, char float, double Typy referencyjne Klasy Interfejsy Tablice Obiekty = egzemplarze klas lub tablice

Przygotował: Jacek Sroka 15 Zmienne zmienne klasowe zmienne egzemplarzowe zmienne lokalne elementy tablic (te zmienne są anonimowe) parametry metod parametry konstruktorów parametry obsługi wyjątków Dla zmiennych lokalnych trzeba samemu zainicjować przed użyciem!

Przygotował: Jacek Sroka 16 Instrukcje instruckja pusta ; instrukcja deklaracji zmiennej lokalnej int j = 13; int[] tab = new int[10]; instrukacja etykietowana koniec: return 0; instrukcja wyrażeniowa i = 0; o.wypisz(i); instrukcja warunkowa if (i > 0) i--; if (i > j) max = i; else max = j;

Przygotował: Jacek Sroka 17 Instrukcje c.d. instrukcja asercji assert i>0; assert i>=0: "i (" + i + ") mniejsze od zera"; instrukcja wyboru switch (i){ default: System.out.println("Wartość spoza zakresu"); break; // Tak, nie musi być ostatnia! case 1: case 2: System.out.println("Dodatnie"); break; case -1: case -2: System.out.println("Ujemne"); break; case 0: System.out.println("Zero"); break; } pętla dopóki while (i>0) i--; pętla wykonuj do i++ while ( i < 0 ); pętla dla (wersja podstawowa) for(int j = 0; j<tab.length; j++) tab[j] = 0; pętla dla (wersja rozszerzona) for(int elt: tab) System.out.print(elt+", ");

Przygotował: Jacek Sroka 18 Instrukcje c.d. instrukcja break break; break dalej; instrukcja continue continue; continue dalej; instrukcja powrotu return; return 0; instrukcja zgłoszenia wyjątku throw new Wyjątek(); instrukcja synchronizująca (zagadnienia współbieżności pomijamy)

Przygotował: Jacek Sroka 19 Instrukcje c.d. instrukcja try try{ i = j/k; } catch (Exception e) { System.out.println("Dzielenie przez zero"); } finally { System.out.println("Kończymy"); } instrukcja bloku (umożliwia deklarowanie zmiennych lokalnych, a także klas lokalnych), np. { int i = 1; i++; int j = i + 1; return i+j; }