Programowanie sieciowe

Wielkość: px
Rozpocząć pokaz od strony:

Download "Programowanie sieciowe"

Transkrypt

1 Programowanie sieciowe Wykład 1: Java, wstęp mgr inŝ. Paweł Kośla mgr Marcin Raniszewski Łódź,

2 Plan przedmiotu mgr inŝ. Paweł Kośla Organizacja zajęć. Zaliczenie przedmiotu: egzamin(test) + projekt. Podstawy programowania w Javie (Składnia języka, aplikacje graficzne) Sieci TCP/IP (Protokoły sieciowe - TCP,UDP,IP, gniazda, porty) Obsługa sieci w Javie (Pisanie programów sieciowych, klient-serwer) 2

3 Plan wykładu Właściwości Javy Wprowadzenie do programowania Typy danych Klasy i pojęcia z nimi związane Operatory Instrukcje sterujące 3

4 Literatura Java. Programowanie sieciowe Elliotte Rusty Harold, wyd. Read Me (RM), 2001 (wydanie 1) Java 2. Podstawy Cay Horstmann, Gary Cornell, wyd. Helion, 2003 Thinking in Java wydanie 4 Bruce Eckel, wyd. Helion, (ver. 3 EN) Strona domowa firmy Sun: Java. Receptury Ian F. Darwin wyd. Helion,

5 Platformy Javy Java 2 występuje w róŝnych edycjach: Standard Edition (J2SE) Dla zwykłych stacji roboczych, które w większości przypadków pracują pod kontrolą systemów: Linux, Solaris lub Windows. Tworzenie aplikacji klienckich. Enterprise Edition (J2EE) Platforma serwerowa dla systemów rozproszonych, tj. świadczących usługi dla wielu uŝytkowników. Programowanie po stronie serwera (np. serwery aplikacji). Micro Edition (J2ME) Technologia wykorzystywana przez małe urządzenia, takie jak: pagery, telefony komórkowe i inne małe urządzenia. J2ME wykorzystuje niektóre komponenty J2SE, takie jak mniejsza maszyna wirtualna i odchudzone API. 5

6 Podstawowe pojęcia Java Runtime Environment (JRE) środowisko uruchomieniowe Javy, zwane równieŝ JVM (Java Virtual Machine) platforma potrafiąca zinterpretować program napisany w języku Java. Tworzone oddzielnie dla kaŝdej platformy sprzętowej/systemowej. Podstawowy program: java interpreter Javy, pozwalający uruchamiać samodzielnie programy, Java 2 Software Developement Kit (Java 2 SDK - JDK) zestaw narzędzi do kompilowania i uruchamiania aplikacji, oglądania apletów, tworzenia dokumentacji. Zawiera środowisko uruchomieniowe (JRE), przykłady zastosowania standardowych elementów API, a takŝe dodatkowe biblioteki. W jego skład wchodzą między innymi: javac kompilator Javy, javadoc generator dokumentacji, jar archiwizator klas 6

7 Cechy Javy Obiektowość NiezaleŜność od architektury Sieciowość i obsługa programowania sieciowego Niezawodność i bezpieczeństwo 7

8 Obiektowość Java jest w pełni obiektowym językiem programowania (wywodzi się od języka Smalltalk takŝe w pełni obiektowego) KaŜdy program składa się z klas Definicja klasy jest jedynym sposobem zdefiniowania nowego typu danych Brak funkcji globalnych, nawet funkcję main() definiuje się w klasie 8

9 NiezaleŜność od architektury Kod źródłowy.java Kod pośredni (bcode).class JVM Windows kompilacja uruchomienie (kompilacja JIT Just In Time) JVM Unix Kod źródłowy Plik zawierający program napisany w języku Java Kod pośredni Pliki przechowujące klasy po kompilacji. Bcode jest jednakowy dla wszystkich platform. Uruchomienie Interpretowanie kodu bajtowego (bcode) przez tzw.maszynę wirtualną. Interpretacja kodu bajtowego jest wolniejsza od uruchamiania kodu maszynowego. 9

10 Sieciowość i obsługa programowania sieciowego Java zawiera bardzo rozbudowane, gotowe klasy do programowania aplikacji sieciowych. Pakiety w Javie pozwalają na: obsługę róŝnych protokołów sieciowych, (HTTP,FTP,TCP,UDP), zdalne wykonywanie metod (programowanie rozproszone), RMI, implementacje rozbudowanych serwerów, (web service), tworzenie apletów i serwletów. 10

11 Niezawodność i bezpieczeństwo Wyjątki. Zgłaszanie wyjątków np. przy wyjściu poza zakres tablicy. Garbage collector. Automatycznie usuwane są nieuŝywane obiekty. Brak konieczności ręcznej kontroli wycieków pamięci, czyli jak w C++ stosowania delete. Brak moŝliwości wykonywania operacji na wskaźnikach, na obiektach działamy za pomocą referencji. 11

12 Java a C++ Java wolniejsza od C++, Składnia podobna do C/C++, Łatwiejszy niŝ C/C++ (proste budowanie aplikacji okienkowych), Brak ręcznej obsługi pamięci dzięki GC. 12

13 Konwencja kodu Nazwy klas piszemy z wielkiej litery i kolejne słowa (jeśli nazwa klasy się z takich składa) piszemy łącznie i rozpoczynamy takŝe wielką literą. class PierwszaKlasa { Metody i pola wewnątrz klasy piszemy podobnie, lecz rozpoczynamy małą literą. class PierwszaKlasa { int zmiennacalkowita; void pierwszametoda(int numerzmiennej) { 13

14 Konwencja kodu Istnieje kilka wariantów pisania nawiasów { : while(i<4) { while(i<4) { while(i<4) { Wszystkie te są poprawne. Warto jednak wybrać jeden i konsekwentnie się go trzymać. Warto równieŝ po otwarciu klamry od razu postawić klamrę zamykającą. Pozwoli to uniknąć wielu niepotrzebnych błędów. 14

15 Estetyka kodu Pomiędzy zmiennymi, liczbami i operatorami powinniśmy stawiać spacje: int j = 3; int k = 0; for(int i = 0; i < 10; i++) { if (i > j) { k++;... Kod powinien być opisywany (stosujemy komentarze). Nazwy metod, klas i pakietów powinny odzwierciedlać ich zawartość, w krótki i zwięzły sposób je opisywać. Kod powinien być prawidłowo powcinany (stosowanie tabulatorów), przejrzysty i łatwy do zrozumienia. 15

16 Pierwszy program public class Start { public static void main(string args[]) { System.out.println( Hello World ); Kod źródłowy zapisujemy w pliku z nazwa Start.java (Nazwa klasy publicznej taka jak nazwa pliku!). Kompilujemy: Utworzony został przenośny plik Start.class (KaŜda klasa w oddzielnym pliku). Wykonujemy: > java Start Efekt: > javac Start.java > Hello World 16

17 Typy zmiennych W Javie występują dwa typy zmiennych: typy podstawowe (primitive types), typy referencyjne (odnośnikowe, reference types). Typy podstawowe: Nazwa boolean char byte short int long float double Opis Typ logiczny 16-bitowy znak Unicode 1-bajtowa liczba całkowita ze znakiem 2-bajtowa liczba całkowita ze znakiem 4-bajtowa liczba całkowita ze znakiem 8-bajtowa liczba całkowita ze znakiem 4-bajtowa liczba zmiennoprzecinkowa 8-bajtowa liczba zmiennoprzecinkowa Wartość domyślna false \u0000 (byte)0 (short)0 0 0L 0.0F 0.0D 17

18 Typy zmiennych Deklaracja typów podstawowych, deklaracja jak w C/C++: int x; float f1, f2; boolean zmiennalogiczna; Inicjalizacja zmiennych całkowitych: int x1 = 10; // liczba całkowita int x2 = 0123; // liczba ósemkowa int x3 = 0x00FF; // liczba szesnastkowa long l4 = 100L; // liczba całkowita, długa Inicjalizacja zmiennych zmiennoprzecinkowych: float f = 1.234F; double d = ; 18

19 Typy odnośnikowe Obiekty deklarowane i inicjalizowane są jako referencja: Point p1; p1 = new Point(); Wyjątek stanowi klasa String, której moŝemy uŝywać jak typu podstawowego : String s1 = Przykladowy napis, s2 = Wyraz ; Dla obiektów String przeciąŝony został operator + i =+ : s1 = Pierwsza czesc napisu + i druga ; s1 += i jeszcze jedna ; // s1 = Pierwsza czesc napisu i druga i jeszcze jedna 19

20 Tablice Tablice w Javie są obiektami. Dla kaŝdej tablicy Java tworzy odpowiadającą jej klasę tablicową. Deklaracja zmiennej będącej tablicą składa się z dwóch części: nazwy typu tablicy i nazwy tablicy. Typ tablicy określa typ danych, jakie tablica będzie zawierała. Deklaracja tablicy zawierającej elementy typu int: int tablicaint[]; lub int[] tablicaint; Przed uŝyciem naleŝy zaalokować dla niej pamięć: tablicaint[0] = 10; // BŁĄD brak alokacji tablicaint = new int[5]; tablicaint[0] =10 ; // OK. Jednoczesna deklaracja i alokowana pamięć: int tablicaint2[] = new int[10]; 20

21 Tablice MoŜna zainicjalizować od razu jej elementy (tworzenie obiektu i alokacja jest niejawna): int tablicaint3[] = {1,2,3,4,5; Indeksowanie podobne jak w C++, od 0 do n-1. Przekroczenie zakresu tablicy spowoduje wyjątek ArrayIndexOutOfBoundsException. KaŜda tablica ma zmienna publiczną length, określającą rozmiar tablicy: int dlugosc = tablicaint3.length; // dlugosc = 5; Tablice wielowymiarowe: int tablicaint4 [] []; tablicaint4 = new int[3][3]; int macierzint[][] = {{1,2,3,{4,5,6; 21

22 Komentarze W Javie istnieją dwa rodzaje komentarzy: Pierwszy to komentarz zaczynający się od znaków /*, kończący się */, a mogący obejmować wiele wierszy. Wielu programistów dodatkowo rozpoczyna kaŝdy wiersz takiego komentarza *: /* Pierwsza linia komentarza * Druga linia komentarza * Trzecia linia komentarza */ To co znajduje się pomiędzy /* a */ jest przez kompilator ignorowane. Drugi rodzaj komentarza, to komentarz jednowierszowy, rozpoczynający się od znaków // i kończący się wraz z końcem wiersza. // To jest komentarz jednowierszowy 22

23 Obiekty i klasy (pola i metody) Projektowanie zorientowane obiektowo polega na podzieleniu aplikacji na kilka autonomicznych komponentów, które pracują razem. Projektowanie zorientowane obiektowo składa się z podstawowych zadań: podziału dziedziny problemu na typy obiektów (klasy), modelowaniu związków pomiędzy tymi typami, projektowaniu pól oraz metod dostępu w typach. 23

24 Obiekty i klasy (pola i metody) Klasa zawiera: atrybuty (inaczej pola klasy), czyli zmienne lub stałe, określonych typów przechowujące dane związane z obiektami, metody, czyli inaczej funkcje, które moŝemy wykonywać na danym obiekcie lub na klasie (metody statyczne), konstruktor, czyli kod inicjalizujący obiekt danej klasy, inne klasy (klasy wewnętrzne). 24

25 Obiekty i klasy (pola i metody) Do tworzenia klasy słuŝy słowo kluczowe class. Po nim występuje nazwa nowego typu (klasy): public class NazwaKlasy { /* ciało klasy */ Aby utworzyć obiekt nowej klasy piszemy: NazwaKlasy obiekt = new NazwaKlasy(); KaŜdy z obiektów otrzymuje własny obszar pamięci dla swoich zmiennych składowych: public class NazwaKlasy { public int i; public double d; Odwołanie się do składowych obiektu: obiekt.i = 10; obiekt.d = 12.3; 25

26 Obiekty i klasy (pola i metody) Metody określają funkcje, które moŝemy wykonywać na danym obiekcie lub na całej klasie (o tym później): typzwracany nazwametody(/* lista argumentów */) { /* ciało metody */ Odwołanie się do metod: obiekt.nazwametody(arg1, arg2, ); 26

27 Obiekty i klasy (pola i metody) Wynik działania metody. return pełni dwie funkcje: Określa opuszczenie metody, Określa wartość zwracaną (jeśli jest). Typ void metoda nie zwraca wartości: void metoda1() { return; int metoda2() { return 2*3; 27

28 Konstruktory Jest wywoływany podczas tworzenia obiektu (new). Nazwa jest taka sama jak nazwa klasy. Konstruktor nic nie zwraca. Konstruktor moŝe być domyślny, jeśli klasa nie zawiera zdefiniowanego Ŝadnego. Jego funkcja sprowadza się tylko do powołania obiektu z ustawionymi polami na domyślne wartości inicjalizacyjne (jeśli pole jest inną klasą ustawiona zostaje watość null). public class NazwaKlasy { public int i; public double d; NazwaKlasy() { /* operacje inicjalizujące */ i = 10; d = 0.002; 28

29 PrzeciąŜanie konstruktorów: public class NazwaKlasy { NazwaKlasy() { System.out.println( konstruktor bez parametru ); NazwaKlasy(String str) { System.out.println( konstruktor z napisem: + str); Wywołanie: NazwaKlasy obiekt = new NazwaKlasy(); // bez parametru NazwaKlasy obiekt2 = new NazwaKlasy( pierwszy ); // konstruktor z napisem: pierwszy Jeśli zdefiniujemy jakiś konstruktor przyjmujący parametr, wówczas nie jest tworzony domyślny konstruktor: class NazwaKlasy { NazwaKlasy(String str) { NazwaKlasy obiekt = new NazwaKlasy(); // BŁĄD 29

30 Dokumentacja klas W kodzie źródłowym powinno się umieszczać tzw. komentarz dokumentacyjny. Standardowo generator javadoc tworzy dokumentacje w formacie HTML. Komentarz powinien pojawiać się przed deklaracją klasy metod oraz pól. /** * Klasa testowa Jan Kowalski 1.0 */ class Test { 30

31 Dokumentacja klas @return Opis autor klasy przestarzałe opis wyjątku opis parametru opis zwracanej wartości nazwa związanej klasy wersja Zastosowanie klasa klasa, metoda, pole metoda metoda metoda klasa, metoda, pole klasa 31

32 Zasięg Wiele języków programowania posługuje się pojęciem zasięgu. Zasięg oznacza widoczność oraz czas Ŝycia zmiennych w obrębie zakresu. Zakres w Javie definiuje się za pomocą nawiasów klamrowych { { double x = 1.0; // tylko x jest dostępny { int a = 4; // dostępne są obie zmienne x i a // tylko x jest dostępny //a jest poza zasięgiem 32

33 Zasięg śycie obiektów Javy jest inne od Ŝycia zmiennych typów podstawowych. Kiedy w Javie tworzymy obiekt za pomocą słowa kluczowego new jest on równieŝ dostępny poza zasięgiem: { String s = new String("lancuch"); // koniec zasiegu W powyŝszym przykładzie referencja s przepadnie wraz z końcem zakresu, ale sam obiekt, na który wskazywała przetrwa i będzie zajmował pamięć. Zajmie się nim jednak garbage collector (opis w dalszej części wykładu). 33

34 Słowo kluczowe static Pola i metody klas mogą być statyczne lub niestatyczne. Składowe niestatyczne zawsze wiąŝą się z istnieniem jakiegoś obiektu. Składowe statyczne (zadeklarowane z modyfikatorem static), mogą być uŝywane nawet wtedy, gdy nie istnieje Ŝaden obiekt klasy. Deklaracja pola lub metody z modyfikatorem static mówi, Ŝe pole danych lub metoda dotyczy klasy a nie obiektu. Oznacza to, Ŝe dla wszystkich obiektów danej klasy pole statyczne ma tą samą wartość. Ze statycznych metod nie wolno odwoływać się do niestatycznych składowych klasy (obiekt moŝe nie istnieć). MoŜliwe są odwołania do innych statycznych składowych. public class Klasa { public int i; static void metodastatyczna() { i=5; // BŁĄD, zmienna i moŝe nie istnieć, // jeśli metoda została // wywołana bez obiektu 34

35 Słowo kluczowe static Spoza klasy do jej statycznych składowych moŝemy odwoływać się na dwa sposoby: NazwaKlasy.nazwaSkładowej Klasa.metodaStatyczna(); Gdy istnieje jakiś obiekt danej klasy, tak samo jak do niestatycznych składowych tej klasy : obiektklasy.nazwaskładowej Klasa obiekt = new Klasa(); obiekt.metodastatyczna(); 35

36 Słowo kluczowe static Przykład: W klasie System pakietu java.lang zadeklarowano statyczne pole typu PrintStream (oznaczające obiekt klasy PrintStream, związany ze standardowym wyjściem). public class System { public static PrintStream out; W klasie PrintStream pakiet java.io zdefiniowano metodę println, która wypisuje na standardowe wyjście (stdout) wiersz podany jako argument. public class PrintStream {... public void println(string s) {

37 Słowo kluczowe static Tak więc System.out oznacza statyczne pole klasy System o identyfikatorze (nazwie) out, oznaczające obiekt klasy PrintStream. Natomiast println jest uŝyciem metody na rzecz tego obiektu. To wyjaśnia uŝywane dotychczas polecenie: System.out.println( Hello World ); TakŜe metoda main jest statyczna, gdyŝ zostaje ona wywoływana podczas uruchamiania programu, zanim jeszcze powstał jakikolwiek obiekt. public class Start { public static void main(string args[]) { 37

38 Operatory Operatory w Java dzieli się na (podobnie jak w C/C++) : arytmetyczne, inkrementacji i dekrementacji, bitowe, logiczne, przypisania, porównania, pozostałe: rzutowanie, operatory klas, operator warunkowy. 38

39 Operatory Operatory arytmetyczne (zmienne liczbowe i znakowe): + - * / % Operatory inkrementacji i dekrementacji: int x1 = 1; int x2 = ++x1; // x1 = 2, x2 = 2 char c1 = a ; c1++; // c1 = b Operatory bitowe: ~ & ^ (XOR) << >> (dla liczby dodatniej rozszerzanie zerami, dla ujemnej jedynkami) >>> (rozszerzenie tylko zerami) Operatory logiczne:! && 39

40 Operatory Operatory przypisania: = przypisanie, takŝe dla obiektów += -= *= /= %= najpierw następuje operacja arytmetyczna, następnie przypisanie &= = ^= <<= >>= >>>= najpierw operacja bitowa, następnie przypisanie Operatory porównania: ==!= porównanie, takŝe dla obiektów (Uwaga na String!!) <= >= < > 40

41 Operatory Kolejność operatorów: 1 X++ X-- ++X --X -X ~! 7 & rzutowanie 8 ^ 2 * / % && 4 operatory_bitowe 11 5 <= >= < > instanceof 12 operator_warunkowy?: 6 ==!= 13 operatory_przypisania Operatory specjalne: new konkretyzacja. - kwalifikator, selektor [] - indeks, - separator list () - ogranicznik list parametrów 41

42 Instrukcje sterujące Instrukcje sterujące stanowią motor działania programu. Ich wykonanie powoduje odpowiednie przetwarzanie danych. Sterowanie wykonaniem polega na pomijaniu, wielokrotnym wykonywaniu pewnych fragmentów kodu oraz sprawdzaniu warunków w celu ustalenia dalszego przebiegu wykonania programu. Zbiór instrukcji języka Java zawiera: instrukcje warunkowe if-else, instrukcje iteracyjne for, while, do-while, instrukcje continue, break, return, instrukcja wielokrotnego wyboru switch. 42

43 if-else Jest to najbardziej podstawowa metoda sterowania programem: if (wyr_logiczne){ instrukcje; else { instrukcje; wyr_logiczne musi zwracać wartość logiczną. instrukcje oznacza zarówno pojedynczą instrukcję jak i złoŝoną. Przykład: if (x % 2 == 0) { x = x / 2; else { x = 3 * x + 1; 43

44 if-else Instrukcja if-else pozwala dokonać wyboru wielowariantowego: if (wyr_logiczne) { instrukcja; else if (wyr_logiczne) { instrukcja; else { instrukcja; 44

45 case Jest to instrukcja przeznaczona do wyboru z wielu wariantów: switch(wyr_całkowite) { case stała1_całkowita: instrukcja; break; case stałan_całkowita: instrukcja; break; default: instrukcja; WyraŜenie wyr_całkowite musi być całkowite. KaŜdy przypadek kończy się instrukcją break. Przypadek default nie jest zakończony instrukcją break. Selektorem moŝe być zmienna typu int lub char. Dla typów niecałkowitych naleŝy korzystać z instrukcji if-else. 45

46 case Przykład: int ilosc;... switch(ilosc) { case 1: rabat = 0; break; case 2: rabat = 0.15; break; default: rabat = 0.30; 46

47 while Instrukcja while zaliczana jest do grupy instrukcji iteracyjnych. Instrukcja jest powtarzana dopóki wyr_logiczne jest prawdziwe: while(wyr_logiczne) { instrukcja; Przykład: int x=10; while (x > 1) { x--; while (true) { 47

48 do-while Wykonanie tej instrukcji róŝni się od wykonania poprzedniej tym, Ŝe warunek wyr_logiczne jest sprawdzany po kaŝdym wykonaniu instrukcji, a nie przed, jak to ma miejsce w przypadku instrukcji while. Oznacza to, Ŝe instrukcja zostaje wykonana co najmniej jeden raz: do { instrukcja; while (wyr_logiczne); Przykład: public class VarValue { public static void main(string[] args) { int test = 1; do { System.out.println("Test = " +test); test++; while(test < 99); 48

49 for for(inicjalizacja; wyr_logiczne; krok) { instrukcja; W miejscu inicjalizacja moŝe pojawić się deklaracja zmiennych wraz z ich inicjalizacją. Zmienne zadeklarowane w inicjalizacja są widoczne tylko w ciele instrukcji for. KaŜde z wyraŝeń inicjalizacja, wyr_logiczne, krok moŝe być puste. Opuszczenie wyraŝenia warunkowego traktowane jest tak, jakby stało tam wyraŝenie zawsze prawdziwe. Wykonanie instrukcji for przebiega w następujący sposób: najpierw wykonują się instrukcje inicjalizujące pracę pętli, obliczane jest wyraŝenie warunkowe. Jeśli jest równe false pętla jest przerywana, jeŝeli powyŝej okazało się, Ŝe wyraŝenie było prawdziwe, wówczas wykonywane są instrukcje będące treścią pętli, po wykonaniu treści pętli wykonana zostanie instrukcja krok, po czym powtarzana jest akcja sprawdzania warunku. 49

50 for Wewnątrz instrukcji for moŝna zdefiniować kilka zmiennych naraz. Instrukcje te muszą być oddzielone przecinkami. Są one wykonywane sekwencyjnie. Część inicjalizacyjna moŝe zawierać dowolną liczbę definicji. Zmienne te muszą być tego samego typu. Przykład: for(int i = 1, j = i + 10; i < 5; i++, j = j - 2) { System.out.println("i= " + i + " j= " + j); Otrzymamy: i= 1 j= 11 i= 2 j= 9 i= 3 j= 7 i= 4 j= 5 50

51 for Istnieje łatwy sposób poruszania się po elementach tablicy. for(object obj : tablica) { Przykład: String tab[] = { raz, dwa, trzy for(string str : tab) { System.out.println(str); 51

52 break break etykieta; Etykieta to identyfikator, po którym występuje dwukropek. Etykiety wolno stosować tylko przed instrukcjami iteracji. Instrukcja break pozwala na wcześniejsze opuszczenie pętli. Jeśli break występuje bez etykiety to sterowanie programem przekazywane jest poza zasięg pętli. Jeśli instrukcja break posiada etykietę to sterowanie przekazywane jest poza blok instrukcji oznaczonych etykietą. UŜycie instrukcji break z etykietą pozwala na natychmiastowe opuszczenie wielu zagnieŝdŝonych instrukcji while. 52

53 break Przykład: int i = 0, j = 0; outerloop://etykieta while(i < 100) { i++; while(true) { j++; if(i + j > 10) { break outerloop; //Tu zostałoby przekazane sterowanie gdyby //instrukcja break nie miała etykiety outerloop. //koniec bloku instrukcji outerloop //Tu zostaje przekazane sterowanie programem po //wykonaniu instrukcji break outerloop 53

54 continue continue etykieta; Instrukcja continue nie powoduje opuszczenia pętli ale natychmiastowe przejście do następnego kroku iteracji. Bez uŝycia etykiety iteracji w której się znajduje continue. Z etykietą dotyczy iteracji oznaczonej daną etykietą. Przykład: etykieta1: iteracja_zewnętrzna { iteracja_wewnętrzna { break;//1 // continue;//2 // break etykieta1;//3 // continue etykieta1;//4 54

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

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard

Bardziej szczegółowo

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

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

Bardziej szczegółowo

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

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h] 1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie

Bardziej szczegółowo

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

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

Tworzenie aplikacji w języku Java

Tworzenie aplikacji w języku Java Tworzenie aplikacji w języku Java Wykład 1 Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku Java 2 października 2009

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język

Bardziej szczegółowo

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

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego

Bardziej szczegółowo

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

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

Bardziej szczegółowo

Java jako język programowania

Java jako język programowania Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

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

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static), Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

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

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016 Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,

Bardziej szczegółowo

Wprowadzenie do języka Java

Wprowadzenie do języka Java WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.

Bardziej szczegółowo

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

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA W SUPER EXPRESOWEJ PIGUŁCE JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Krzysztof Lemay, Naughton Barteczko R. Cadenhead JAVA, Java Podręcznik 2 wykłady dla kaŝdego Języka i ćwiczenia Programowania

Bardziej szczegółowo

Wykład 4: Klasy i Metody

Wykład 4: Klasy i Metody Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to

Bardziej szczegółowo

Java EE produkcja oprogramowania

Java EE produkcja oprogramowania 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

Bardziej szczegółowo

Podstawowe części projektu w Javie

Podstawowe części projektu w Javie Podstawowe części projektu w Javie Pakiet w Javie to grupa podobnych typów klas, interfejsów i podpakietów. Pakiet w Javie może być wbudowany lub zdefiniowany przez użytkownika. Istnieje wiele wbudowanych

Bardziej szczegółowo

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

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

Microsoft IT Academy kurs programowania

Microsoft IT Academy kurs programowania Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego

Bardziej szczegółowo

Programowanie wieloplatformowe w Java

Programowanie wieloplatformowe w Java Programowanie wieloplatformowe w Java dr Krzysztof Podlaski 1 Kwestie organizacyjne Wykład: 15 godzin Zaliczenie test Ćwiczenia 30 godzin (dr K.Podlaski) Zaliczenie projekt Konsultacje: do ustalenia, Kontakt:

Bardziej szczegółowo

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

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie Języki Programowania II Wykład 3 Java podstawy Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo Przypadki użycia = opowiastki o używaniu systemu = wymagania

Bardziej szczegółowo

WPROWADZENIE DO JĘZYKA JAVA

WPROWADZENIE DO JĘZYKA JAVA WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny

Bardziej szczegółowo

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

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Wykład 2: Podstawy Języka

Wykład 2: Podstawy Języka Wykład 2: Podstawy Języka 1.wprowadzenie 2.podstawy języka 3.sterowanie 4.inicjacja i sprzątanie 5.kontrola dostępu 6.dziedziczenie 7.polimorfizm 8.obsługa błędów 9.kolekcje obiektów 10.wejście i wyjście

Bardziej szczegółowo

Ćwiczenie 1. Przygotowanie środowiska JAVA

Ćwiczenie 1. Przygotowanie środowiska JAVA Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykład 8: klasy cz. 4 Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Programowanie w Internecie. Java

Programowanie w Internecie. Java Programowanie w Internecie Java Autor: dr inż. Zofia Kruczkiewicz Literatura: L. Lemay, R. Cadenhead P. Naughton Krzysztof Barteczko Boone Barry Java 2 dla każdego Podręcznik Języka Programowania Java

Bardziej szczegółowo

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

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

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

Tablice (jedno i wielowymiarowe), łańcuchy znaków Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie

Bardziej szczegółowo

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

dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy PODSTAWOWE ELEMENTY JĘZYKA JAVA TYPY DANYCH, OPERATORY I INSTRUKCJE 1. Definicja klasy, dziedziczenie, implementowanie metod interfejsów class nazwa_klasy //ciało klasy Klasa: przed słowem class moŝe wystąpić

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 2 - wprowadzenie do zmiennych mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 23 października 2017 1 / 26 mgr inż. Krzysztof Szwarc Podstawy i

Bardziej szczegółowo

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

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe 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

Bardziej szczegółowo

Spis treści. 1 Java T M

Spis treści. 1 Java T M Spis treści 1 Java T M 1 2 Co to jest Platforma Java T M 1 3 Przygotowanie komputera 2 4 Pierwszy program 2 5 Dokumentacja 3 6 Budowa aplikacji. Klasy. 3 7 Pola i metody 4 8 Konstruktory 5 9 Inne proste

Bardziej szczegółowo

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

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System

Bardziej szczegółowo

Multimedia JAVA. Historia

Multimedia JAVA. Historia Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania

Bardziej szczegółowo

Programowania w Javie

Programowania w Javie Programowania w Javie Działanie kaŝdego programu polega na przetwarzaniu danych. Zaczniemy więc od zapoznania się z typami danych Javy. Aby przetwarzać dane, trzeba umieć na nich operować. Do tego słuŝą

Bardziej szczegółowo

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

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1 PODSTAWOWE ELEMENTY JĘZYKA JAVA WYRAŻENIA, OPERATORY, INSTRUKCJE 1. Operatory arytmetyczne +, -, /,*, % Przykład 1 programu z interfejsem konsolowym public class Lab2_1 // Tworzy generator liczb losowych,

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

Bardziej szczegółowo

Programowanie w Javie - wykład 2

Programowanie w Javie - wykład 2 Programowanie w Javie - wykład 2 Java-wprowadzenie (instrukcje sterujące) Klasy podstawy Pakiety Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN,

Bardziej szczegółowo

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

Bardziej szczegółowo

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

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,

Bardziej szczegółowo

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

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

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

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java Aplikacje Internetowe Podstawy języka Java Najprostsza aplikacja class Hello { public static void main(string[] args) { System.out.println("Hello World!"); Komponenty Javy JRE Java Runtime Environment

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

Java-wykład. Dorota Pylak

Java-wykład. Dorota Pylak Java-wykład Dorota Pylak BIBLIOGRAFIA Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 C. S. Horstmann, G. Cornell, Java. Podstawy, Helion, Gliwice 2008 C.S. Horstmann, G. Cornell, Core.

Bardziej szczegółowo

Programowanie w Javie

Programowanie w Javie Programowanie w Javie Literatura podstawowa: 1. Cay S. Horstmann, Gary Cornell. Java Podstawy. 2. Bruce Eckel. Thinking in Java. (biblioteka Wilno) 3. Herbert Schildt. Java - Kompendium Programisty. 4.

Bardziej szczegółowo

Programowanie obiektowe. Wprowadzenie

Programowanie obiektowe. Wprowadzenie 1 Programowanie obiektowe Wprowadzenie 2 Programowanie obiektowe Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje. Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using

Bardziej szczegółowo

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

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................

Bardziej szczegółowo

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA Java w 21 dni / Rogers Cadenhead. Gliwice, cop. 2016 Spis treści O autorze 11 Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA Dzień 1. Rozpoczynamy przygodę z Javą 21 Język Java 21 Programowanie obiektowe 24 Obiekty

Bardziej szczegółowo

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

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 Języki C i C++ Wykład: 2 Wstęp Instrukcje sterujące 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe

Bardziej szczegółowo

Języki skryptowe w programie Plans

Języki skryptowe w programie Plans Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów

Bardziej szczegółowo

Podstawy programowania obiektowego

Podstawy programowania obiektowego Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie

Bardziej szczegółowo

Podejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne

Podejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne Podejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne import javax.swing.*; import java.util.*; public class Napis4 { String wynik = ""; static int ile_obiektow

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy

Bardziej szczegółowo

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

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

Bardziej szczegółowo

Języki i techniki programowania Ćwiczenia 2

Języki i techniki programowania Ćwiczenia 2 Języki i techniki programowania Ćwiczenia 2 Autor: Marcin Orchel Spis treści: Język C++... 5 Przekazywanie parametrów do funkcji... 5 Przekazywanie parametrów w Javie.... 5 Przekazywanie parametrów w c++...

Bardziej szczegółowo

Platformy Programistyczne Podstawy języka Java

Platformy Programistyczne Podstawy języka Java Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

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

2. Składnia, środowisko i konwencje w Javie Gdańsk, 2014 Ogólnie o Javie Środowisko Java jest językiem programowania, którego podstawowym celem jest realizacja zasady write once, run anywhere. Oznacza to możliwość wykonania tego samego programu,

Bardziej szczegółowo

Definiowanie własnych klas

Definiowanie własnych klas Programowanie obiektowe Definiowanie własnych klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Definiowanie własnych klas Autor:

Bardziej szczegółowo

WPROWADZENIE DO JĘZYKA JAVA

WPROWADZENIE DO JĘZYKA JAVA Naszym mózgom. Za to, że zawsze są na swoim miejscu. W mniejszym lub większym stopniu WPROWADZENIE DO JĘZYKA JAVA podstawowe informacje: zarys historii, zasadnicze cechy i pojęcia Javy, wirtualna maszyna

Bardziej szczegółowo

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

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java   1 / 8 Początki Javy Java została pierwotnie zaprojektowana dla telewizji interaktywnej, ale była to zbyt zaawansowaną technologią dla branży cyfrowej telewizji kablowej. James Gosling, Mike Sheridan i Patrick

Bardziej szczegółowo

Dorota Pylak. Aplikacje w Javie- wykład 1

Dorota Pylak. Aplikacje w Javie- wykład 1 Aplikacje w Javie- wykład 1 Dorota Pylak Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 http://docs.oracle.com/javase/8/docs/ C. S. Horstmann,

Bardziej szczegółowo

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Java - tablice, konstruktory, dziedziczenie i hermetyzacja Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja

Bardziej szczegółowo

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? 1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? a) konstruktor b) referencje c) destruktor d) typy 2. Które z poniższych wyrażeń są poprawne dla klasy o nazwie

Bardziej szczegółowo

Definiowanie własnych klas

Definiowanie własnych klas Abstrakcja Programowanie obiektowe Definiowanie własnych klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Świat rzeczywisty jest bardzo złoŝony i nie jest moŝliwe

Bardziej szczegółowo

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych 1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje

Bardziej szczegółowo

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

Języki i metody programowania Java. Wykład 2 (część 2) Języki i metody programowania Java INF302W Wykład 2 (część 2) Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Identyfikacja danych reprezentowanych przez klasy podczas opracowania koncepcji prostego

Bardziej szczegółowo

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

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Konstruktory Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasę Prostokat: class

Bardziej szczegółowo

Definicje klas i obiektów. Tomasz Borzyszkowski

Definicje klas i obiektów. Tomasz Borzyszkowski Definicje klas i obiektów Tomasz Borzyszkowski Podstawy Do tej pory używaliśmy klas jedynie po to, by zdefiniować metodę main(). Klasy mają znacznie szersze zastosowanie w Java. W OOP (także w Java) klasy

Bardziej szczegółowo

JAVA?? to proste!! Autor: wojtekb111111

JAVA?? to proste!! Autor: wojtekb111111 1 JAVA?? to proste!! 2 Niniejszy tutorial przedstawia krótkie wprowadzenie do programowania w języku JAVA. Jakie narzędzia na początku potrzebujemy do rozpoczęcia programowania w tym języku? JDK (java

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 3: Tworzenie i usuwanie obiektów 3/10/2013 S.Deniziak: Programowanie obiektowe - Java 1 Deklaracje pól klasy class Klasa1 { int i; Klasa2 k = new Klasa2(); char c= x ; byte

Bardziej szczegółowo

Programowanie strukturalne i obiektowe

Programowanie strukturalne i obiektowe Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie

Bardziej szczegółowo

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

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016 Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal

Bardziej szczegółowo

Java Język programowania

Java Język programowania Java Język programowania Język Java Bazuje i jest zbliżony do C/C++ Porosty zbiór typów danych (podział na typy prymitywne i obiektowe) Zarządzanie pamięcią i Garbage Collection Zintegrowana synchronizacja

Bardziej szczegółowo

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

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r. Programowanie w Javie cz. 1 Wstęp Łódź, 24 luty 2014 r. Prawdy i mity o Javie Java jest techniką webową? (tak, platforma Java EE, aplety) Java jest bezpieczna? (tak, aplety, brak operowania na pamięci)

Bardziej szczegółowo

Typy danych, zmienne i tablice. Tomasz Borzyszkowski

Typy danych, zmienne i tablice. Tomasz Borzyszkowski Typy danych, zmienne i tablice Tomasz Borzyszkowski Silne typy Javy Java jest językiem wyposażonym w silny system typów. Wywodzi się stąd siła i bezpieczeństwo tego języka. Co to znaczy silny system typów?

Bardziej szczegółowo

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

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

Wykład pierwszy. Cay S. Horstmann, Gary Cornell, Core Java 2 Techniki Zaawansowane, Helion, Gliwice 2005

Wykład pierwszy. Cay S. Horstmann, Gary Cornell, Core Java 2 Techniki Zaawansowane, Helion, Gliwice 2005 0. Literatura Literatura podstawowa: Wykład pierwszy Bruce Eckel Thinking in Java, Helion, Gliwice 2001 (lub nowsze wydanie) Cay S. Horstmann, Gary Cornell Core Java 2 Podstawy, Helion, Gliwice 2003 Literatura

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

Bardziej szczegółowo

MATERIAŁY DO ZAJĘĆ II

MATERIAŁY DO ZAJĘĆ II MATERIAŁY DO ZAJĘĆ II Zmienne w C# Spis treści I. Definicja zmiennej II. Hierarchia typów (CTS) III. Typy wbudowane IV. Deklaracja zmiennych V. Literały VI. Pobieranie i wypisywanie wartości zmiennych

Bardziej szczegółowo

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

Powtórka algorytmów. Wprowadzenie do języka Java. Powtórka algorytmów. Wprowadzenie do języka Java. Przypomnienie schematów blokowych BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona

Bardziej szczegółowo

Materiały do zajęć VII

Materiały do zajęć VII Spis treści I. Klasy Materiały do zajęć VII II. III. Konstruktor Właściwości i indeksatory Klasy Programowanie obiektowe wiadomości wstępne Paradygmat programowania obiektowego Abstrakcja Hermetyzacja

Bardziej szczegółowo

Wykład 1: Wprowadzenie do technologii Java

Wykład 1: Wprowadzenie do technologii Java Programowanie komputerów Wykład 1: Wprowadzenie do technologii Java dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl Czym jest Java? Obiektowy język programowania ogólnego przeznaczenia Opracowany

Bardziej szczegółowo

Wykład 5: Klasy cz. 3

Wykład 5: Klasy cz. 3 Programowanie obiektowe Wykład 5: cz. 3 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD - podstawy Konstruktor i destruktor (część I) 2 Konstruktor i destruktor KONSTRUKTOR Dla przykładu

Bardziej szczegółowo

Interpreter - EasyCompile

Interpreter - EasyCompile Akademia Podlaska w Siedlcach Siedlce, dn. 20.V.2006r. Wydział Nauk Ścisłych Instytut Informatyki Interpreter - EasyCompile Projekt z SISW Wykonali: Paweł Sawczuk Edwin Tomczuk Krzysztof Pietraszek I Inf.

Bardziej szczegółowo

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania Wykład: 5 Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania w C++ Instrukcje sterujące 2 dr Artur Bartoszewski

Bardziej szczegółowo

Java Podstawy. Michał Bereta

Java Podstawy. Michał Bereta Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu

Bardziej szczegółowo

Lab 9 Podstawy Programowania

Lab 9 Podstawy Programowania Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany

Bardziej szczegółowo

Programowanie, algorytmy i struktury danych

Programowanie, algorytmy i struktury danych 1/44 Programowanie, algorytmy i struktury danych materiały do wykładu: http://cez.wipb.pl/moodle/ email: m.tabedzki@pb.edu.pl strona: http://aragorn.pb.bialystok.pl/~tabedzki/ Marek Tabędzki Wymagania

Bardziej szczegółowo