Wprowadzenie do programowaia w języku Java. dr Dariusz Pałka

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

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

Transkrypt

1 Wprowadzenie do programowaia w języku Java dr Dariusz Pałka

2 Dlaczego Java?* W oparciu o technologię Java pracuje 4,5 mld. urządzeń Ponad 800 mln. komputerów 2,1 mld. telefonów komórkowych i innych urządzeń przenośnych 3,5 mld kart chipowych dekodery TV, drukarki, kamery internetowe, gry, samochodowe systemy nawigacji, terminale loteryjne, urządzenia medyczne, parkomaty i inne *Na podstawie strony (z dnia )

3 Dlaczego Java? cd Java została wybrana przez ponad 6,5 mln. programistów Pozwala na: uruchamianie programów pisanych na jednej platformie na praktycznie dowolnej innej platformie (na której istnieje VMJ) tworzenie programów, możliwych do uruchomienia z poziomu przeglądarki internetowej i usług sieciowych łączenie aplikacji lub usług wykorzystujących język Java w celu stworzenia aplikacji i usług ściśle dostosowanych do potrzeb

4 Dlaczego Java? cd Pozwala na: opracowywanie aplikacji serwerowych obsługujących fora internetowe, sklepy internetowe, ankiety, formularze HTML i wiele innych łączenie aplikacji lub usług wykorzystujących język Java w celu stworzenia aplikacji i usług ściśle dostosowanych do potrzeb pisanie efektywnych aplikacji dla telefonów komórkowych, procesorów zdalnych, tanich produktów powszechnego użytku oraz praktycznie każdego innego urządzenia opartego na układach cyfrowych

5 Cechy języka JAVA Łatwy (stosunkowo) Zorientowany obiektowo Oparty na języku C++ Bezpieczny Sprzętowo niezależny Wielowątkowy Wspierający programowanie sieciowe i rozproszone

6 Cykl tworzenia programu

7 Uruchomienie programu

8 Środowisko wykonawcze JAVA (JRE)

9 Krótka (pre)historia języka JAVA 1967 opracowanie języka LOGO 1970 opracowanie języka Pascal opracowanie języka C Lata 80-te 20-go wieku powstanie języka C Projekt Green (James Gosling) powstanie języka OAK - Object Application Kernel zmiana nazwy z OAK na JAVA Netscape zgodny z Java 1.0, Sun darmowe JDK Platforma Java 2

10 Typy programów w języku JAVA Samodzielne programy z interfejsem tekstowym z interfejsem graficznym Aplety działające w środowisku przeglądarki WWW Rozszerzenia stron WWW w interpretowanym języku opartym na JAVIE - JavaScript Serwlety rozszerzające możliwości serwera WWW Java FX Script

11 JAVA jako język sieciowy Cechy JAVY przydatne w aplikacjach sieciowych: Niezależność platformowa Bezpieczeństwo Wbudowany międzynarodowy zestaw znaków Bogate API umożliwiających korzystanie z rozwiązań sieciowych Własne technologie sieciowe(np. RMI)

12 JAVA jako język sieciowy Cechy JAVY przydatne w aplikacjach sieciowych: Niezależność platformowa Bezpieczeństwo Wbudowany międzynarodowy zestaw znaków Bogate API umożliwiających korzystanie z rozwiązań sieciowych Własne technologie sieciowe(np. RMI)

13 Możliwości programów sieciowych Pobieranie i wyświetlanie danych w różnych formatach Możliwość wprowadzania nowych formatów danych (inaczej niż w przeglądarkach WWW) Łączenie danych w różnych formatach Przetwarzanie danych przed ich prezentacją Elastyczność w prezentacji danych

14 Możliwości programów sieciowych Powtarzalne pobieranie danych Powtarzalne pobieranie danych Wysyłanie danych Równoległe obliczenia rozproszone Komunikacja każdy z każdym Gry Pogawędki Programy typu whiteboard Przeszukiwanie WWW Handel elektroniczny

15 Przykładowa aplikacja

16

17 Przykładowe aplety

18

19

20 Wstęp do programowania w języku JAVA

21 Pierwszy program public class PierwszyProgram { public static void main(string[] args) { System.out.println( Czesc! );

22 Obiekty w języku JAVA Wszystkie (prawie) byty w JAVIE to obiekty Manipulowanie obiektami odbywa się poprzez referencje do nich

23 Obiekty w języku JAVA Stworzenie referencji do obiektu klasy String: String s; Powyższa linia tworzy tylko referencje a nie obiekt, co więcej referencja ta nie wskazuje na żaden obiekt. Bezpieczniejszą techniką jest tworzenie i jednoczesne inicjalizowanie referencji : String s = abcdefgh ;

24 Obiekty w języku JAVA Trzeba tworzyć wszystkie obiekty: String s = new String( abcdefgh ); Powyższa linia tworzy nowy obiekt klasy String i przypisuje referencje do niego do zmiennej s. Linia ta określa też jak ma być skonstruowany obiekt klasy String jakim ciągiem znaków ma być zainicjalizowany

25 Typy proste typ rozmiar min max boolean char 16bitów unicode 0 unicode byte 8bitów short 16bitów -2E15 +2E15-1 int 32bity -2E31 +2E31-1 long 64bity -2E63 +2E63-1 float 32bity IEEE754 IEEE754 double 64bity IEEE754 IEEE754 void - - -

26 Typy proste boolean char byte short int long float double void typ opakowanie obiektowe Boolean Character Byte Short Integer Long Float Double Void

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

28 Zasięg nazw Zasięg określa widzialność i czas życia zdefiniowanej nazwy. Zasięg jest ograniczany przez nawiasy klamrowe {. Przykład: { int x = 12; /* w tym miejscu tylko zmienna x jest dostepna */ { int q = 96; /* tu sa dostepne zmienne x i q */ /* tu tylko zmienna x jest dostepna */ /* zmienna q jest poza zasiegiem */

29 Zasięg nazw Inaczej niż w c++ w JAVIE nie ma przykrywania zmiennych Przykład: { int x = 12; { int x = 96; /* niepoprawne w JAVIE */

30 Zasięg obiektu Zasięg obiektów jest w JAVIE inny niż typów prostych: { String s = new String( abc ); /*koniec zasiegu */ /* referencja s jest poza zasiegniem wiec nie ma do niej dostepu. Natomiast obiekt String ciagle istnieje i zajmuje pamiec (ale nie ma do niego dostepu bo nie istnieje już żadna referencja do niego) */

31 Garbage collector W JAVIE część systemu zwana garbage collector jest odpowiedzialna za usuwanie niepotrzebnych obiektów z pamięci Nie można* i nie trzeba samemu decydować kiedy obiekt ma zostać zniszczony. Jedynie wiadomo kiedy obiekty typów prostych są niszczone.

32 Klasy Klasa definiuje zachowanie obiektów, będących instancjami tej klasy czyli służy do definiowania typu: class NazwaTypu { /*definicja*/ Tworzenie obiektu (instancji) tej klasy: NazwaTypu o = new NazwaTypu();

33 Klasy Klasa może zawierać dwa typy elementów: Pola (dane) będące instancjami innych obiektów, lub typów prostych Metody (funkcje) będące operacjami przeprowadzanymi na obiekcie, bądź klasie

34 Klasy - pola Przykład klasy zawierającej tylko pola: class Dane { int i; float f; /*... */ Dane d = new Dane(); d.i = 32; d.f = 23.6f;

35 Klasy - pola Dostęp do składowych (pól i metod) odbywa się poprzez kropkę: refernecjadoobiektu.skladowa np.: d.i = 32; lub: kologlowne.srodek.x = 23;

36 Klasy - pola Diagram klasy Dane w UML u

37 Klasy - metody Metody służą do wykonywania operacji na obiekcie (lub klasie), określają one, jakie komunikaty rozumieją obiekty klasy. Podstawowymi składnikami metody są: nazwa, argumenty, zwracany typ oraz ciało metody: zwracanytyp nazwametody(/*argumenty*/) { /* cialo metody */ W JAVIE metody mogą być jedynie składowymi klas!

38 Klasy - metody Przykładowa funkcja (musi być zdefiniowana wewnątrz klasy) która pobiera jeden argument typu String i zwraca int: int foo(string s) { return s.length() * 2; Funkcja bezargumentowa, nic nie zwracająca: void fun() { /* zrob cos */ return; /* return może być pominiete */

39 Słowo kluczowe static Poprzedzenie składowej (pola, metody) słowem static oznacza, że ta składowa odnosi się do klasy a nie do obiektu. Jest ono użyteczne gdy: Chcemy aby jakieś pole było współdzielone przez wszystkie obiekty danej klasy, lub żeby istniało gdy nie istnieją jeszcze żadne obiekty tej klasy Potrzebujemy metody, która nie jest związana z żadnym konkretnym obiektem klasy

40 Słowo kluczowe static Przykład: class StaticTest { static int i = 47; StaticTest st1 = new StaticTest(); StaticTest st2 = new StaticTest(); st1.i++; /* dostep przez obiekt */ StaticTest.i++; /* dostep przez klase */

41 Słowo kluczowe static Przykład cd: class StaticFun { static void zwieksz() { StaticTest.i++; /*... */ StaticFun.zwieksz();

42 Kompletny program w JAVIE import java.util.*; public class DrugiProgram { public static void main(string[] args) { System.out.println( Hey, dzisiaj jest: ); System.out.println(new Date());

43 Operatory

44 Operator przypisania = Operator ten przypisuje elementowi po lewej stronie wartość elementu znajdującego się po prawej stronie. Nie można przypisywać niczego do elementów stałych: a = 4; /* przypisanie wartosci 4 do zmiennej a */ 4 = a; /* BLAD proba przypisania do stalej */ Dla typów prostych przypisanie oznacza skopiowanie zawartości. Dla typów obiektowych, w przypadku których manipulujemy referencjami, przypisanie oznacza ustawienie referencji będącej po lewej stronie operatora na obiekt wskazywany przez referencję po prawej stronie operatora.

45 Operator przypisania = Przykład: class Numer { int i; public class TestPrzypisania { public static void main(string[] args) { Numer n1 = new Numer(); Numer n2 = new Numer(); n1.i = 10; n2.i = 18; n1 = n2; /*referencja n1 wsk. na obiekt w wsk. przez n2*/ n1.i = 132; /*n2.i jest tez teraz rowne 132*/

46 Operatory matematyczne Dodawanie (+) Odejmowanie (-) Mnożenie (*) Dzielenie (/) Modulo (%)

47 Operatory matematyczne Przykład: a = b + c; e = a * 7; f -= 10; /* to samo co f = f 10; */ g = f % 4; /* g ma wartosc reszty z dzielenia f przez 4 */

48 Operatory matematyczne Jednoargumentowe operatory + i - a = -b; d = +b; c = a * -b; C = a * (-b); /* bardziej czytelna wersja */

49 Operatory matematyczne Auto inkrementacja (++) i dekrementacja (--) Istnieją dwie formy auto inkrementacji i dekrementacji pre i post ++a; /* pre-inkrementacja */ b--; /* post-dekrementacja */

50 Operatory matematyczne Przykład: public class AutoInc { public static void main(string[] args) { int a = 0; int x = 0; x = a++; /* x ma wartosc 0 */ x = a; /* x ma wartosc 1 */ a = 0; x = ++a; /* x ma wartosc 1 */ x = a; /* x dalej ma wartosc 1 */

51 Operatory porównania Wszystkie operatory porównania zwracają wynik typu boolean (true lub false) Operator równości (==) Operator nierówności (!=) Operator mniejszości (<) Operator większości (>) Operator mniejszy lub równy (<=) Operator większy lub równy (>=)

52 Operatory porównania Porównanie obiektów wersja 1: public class Porownanie1 { public static void main(string[] args) { Integer n1 = new Integer(56); Integer n2 = new Integer(56); System.out.println(n1 == n2); System.out.println(n1!= n2);

53 Operatory porównania Porównanie obiektów wersja 2: public class Porownanie2 { public static void main(string[] args) { Integer n1 = new Integer(56); Integer n2 = new Integer(56); System.out.println(n1.equals(n2));

54 Operatory = > <! ~? : == <= >=!= && * / & ^ % << >> >>> += -= *= /= &= = ^= %= <<= >>= >>>=

55 Operatory rzutowania (konwersji) int i = 10; long l1 = (long)10 long l2 = (long)i; byte b = (byte)i; W języku Java dozwolone jest rzutowanie dowolnego typu prostego na inny (poza typem boolean, który nie może być użyty w rzutowaniu) Nie jest dozwolone rzutowanie typów obiektowych (poza rzutowaniem na String, oraz rzutowaniem w ramach hierarchii dziedziczenia)

56 Promocja typów Stosowanie operatorów matematycznych lub bitowych na danych typów prostych mniejszych niż int (char, byte, short) powoduje, że wartości są rozszerzane (promowane) do typu int przed wykonaniem operacji, a wynik operacji jest również typu int

57 Wyrażenie warunkowe Postać wyrażenia warunkowego: boolean-exp? value0 : value1 W przypadku gdy boolean-exp ma wartość true wyrażenie przyjmuje wartość value0, natomiast w przypadku gdy ma wartość false wyrażenie przyjmuje wartość value1. Przykład: static int abs(int v) { return v > 0? v: -v;

58 Instrukcje

59 ; Instrukcja pusta

60 Instrukcja deklaracji zmiennej int x = 16; double[] tab = new double[100];

61 Instrukcja bloku programu { int x = 16; x++; int k = 2*x;

62 Instrukcje sterujące wykonywaniem programu

63 Instrukcja warunkowa if-else Składnia: if( Boolean-expression ) statement else statement lub: if( Boolean-expression ) statement

64 Pętla while Składnia: while( Boolean-expression ) statement

65 Pętla for Składnia: for(initialization; Boolean-exp; step) statement

66 Instrukcja break Instrukcja break służy do przerywania wykonywania bieżącego poziomu pętli. Przykład: static void breaktest(int v) { for( int i = 0; i < 100; i++ ) { if( v/i < 10 ) break; System.out.println(i);

67 Instrukcja break cd. Przykład 2: static void breaktest2() { int i = 0; while( true ) { if( i > 100 ) break; System.out.println(i); i++;

68 Instrukcja continue Instrukcja continue przerywa wykonywanie bieżącej iteracji pętli i przechodzi do następnej iteracji rozpoczynając od początku ciała pętli. Przykład: static void continuetest() { for( int i = 0; i < 100; i++ ) { if( i % 10 < 2 ) continue; System.out.println(i);

69 Instrukcja wyboru switch Składnia: switch(integral-selector) { case integral-val1: statement; break; case integral-val2: statement; break; case integral-val3: statement; break; //... default: statement;

70 Instrukcja wyboru switch cd. public static void switchtest(int v) { int r = v %4; switch(r) { case 0: System.out.println( Podzielna przez 4 ); break; case 1: System.out.println( Reszta z dzielenia wynosi 1 ); break; //...

71 Inicjalizacja i niszczenie obiektów w Javie

72 Konstruktor Konstruktor jest metodą klasy służącą do inicjalizacji nowo tworzonych obiektów tej klasy. Konstruktor jest automatycznie wołany gdy tworzony jest nowy obiekt. Nazwa konstruktora jest taka jak nazwa klasy do której należy Jeśli nie zdefiniuje się żadnego konstruktora to dodawany jest automatycznie domyślny konstruktor bezparametrowy

73 Przykład: Konstruktor class Kwadrat { Kwadrat() { System.out.println( Konstruktor klasy Kwadrat ); public class TestKonstruktora1 { public static void main(string[] args) { for(int i = 0; i < 10; i++) new Kwadrat();

74 Konstruktor Przykład 2: class Kwadrat { Kwadrat(int b) { System.out.println( Ctor klasy Kwadrat o boku + b); public class TestKonstruktora2 { public static void main(string[] args) { for(int i = 0; i < 10; i++) new Kwadrat(i);

75 Konstruktor Przykład 3: class Kwadrat { Kwadrat() { System.out.println( Konstruktor klasy Kwadrat ); Kwadrat(int b) { System.out.println( Ctor klasy Kwadrat o boku + b);

76 Przykład 3 cd: public class TestKonstruktora3 { Konstruktor public static void main(string[] args) { for(int i = 0; i < 10; i++) { if( i % 3!= 0 ) { new Kwadrat(i); else { new Kwadrat();

77 Przeciążanie funkcji w klasie W ramach jednej klasy nie może być dwóch metod o takich samych nazwach i odbieranych parametrach. Mogą natomiast istnieć dwie metody o takich samych nazwach ale różniące się odbieranymi parametrami decyzja, której z nich użyć jest podejmowana na podstawie parametrów.

78 Przeciążanie funkcji w klasie cd. Przykład: class P { void foo() { System.out.println( Foo wersja 1 ); void foo(int i) { System.out.println( Foo wersja 2 ); void foo(string s) { System.out.println( Foo wersja 3 );

79 Przeciążanie funkcji w klasie cd. Przykład cd.: public class TestPrzeciazania { public static void main(string[] args) { P p1 = new P(); p.foo(); // wersja 1 p.foo(10); // wersja 2 p.foo( Test ); // wersja 3

80 Słowo kluczowe this Słowo kluczowe this może być używane tylko wewnątrz niestatycznych metod klasy i oznacza bieżący obiekt na którym wykonywana jest metoda. Przykład: class X { void f(int i) { /*...*/ X a = new X(), b = new X(); a.f(1); b.f(2); Funkcja f musi wiedzieć na którym obiekcie klasy X ma operować jest to możliwe dzięki przekazaniu do niej ukrytej referencji do obiektu jako pierwszego argumentu.

81 Słowo kluczowe this cd. Ponieważ referencja do obiektu jest ukryta nie ma do niej normalnego dostępu, jednak właśnie słowo kluczowe this zapewnia ten dostęp. Normalnie nie ma potrzeby używania słowa kluczowego this. Przykład: class Y { void f1() { /*... */ void f2() { f1(); /*... */ void f3() { this.f1(); /*... */

82 Przykład 2: class Z { int i = 0; Słowo kluczowe this cd. Z zwieksz() { i++; return this; void print() { System.out.println( i= + i); public static void main(string[] args) { Z a = new Z(); a.zwieksz().zwieksz().zwieksz().print();

83 Wywołanie konstruktora z innego konstruktora Przykład: class Prostokat { int boka = 0; int bokb = 0; Prostokat(int a, int b) { boka = a; bokb = b; //...

84 Wywołanie konstruktora z innego konstruktora cd. //... Prostokat(int a) { this(a,a); Prostokat() { this(10,10); //! this(10); // nie można wolac dwa razy

85 Niszczenie obiektów metoda finalize() Metoda finalize() jest wołana przez garbage collector w momencie gdy obiekt ma zostać usunięty Nie należy jej wywoływać samodzielnie Nie ma gwarancji, że zostanie ona zawołana Jej użycie powinno być ograniczone do zwolnienia pamięci zaalokowanej poza mechanizmami Javy

86 Niszczenie obiektów Do posprzątania po obiekcie należy zaimplementować własną metodę, którą następnie należy ręcznie wywołać, gdy obiekt jest już niepotrzebny.

87 Inicjalizacja zmiennych Java nie gwarantuje, że stworzona zmienna jest poprawnie zainicjalizowana. W przypadku gdy wystąpi próba odwołania do niezainicjalizowanej zmiennej, podczas kompilacji zostanie zgłoszony błąd. Przykład: void foo() { int i; i++;

88 Inicjalizacja składowych obiektu Gdy składowymi klasy są typy proste to Java domyślnie je inicjalizuje: class Wartosci { boolean t; // domyslna war. false char c; // domyslna war. \0 byte b; // domyslna war. 0 short s; // domyslna war. 0 int i; // domyslna war. 0 long l; // domyslna war. 0 float f; // domyslna war. 0.0 double d; // domyslna war. 0.0 //...

89 Inicjalizacja składowych obiektu Gdy składowymi klasy są referencje do obiektów to domyślnie Java nadaje im wartość null (jest to słowo kluczowe Javy).

90 Inicjalizacja składowych obiektu W Javie można do składowych przypisać wartość początkową inną niż wartość domyślna: class Wartosci { boolean t = true; char c = q ; byte b = 10; short s = 0xaa; int i = 555; long l = 23; float f = 3.14f; double d = ; Kwadrat k = new Kwadrat(); // inicjalizacja referencji

91 Inicjalizacja składowych obiektu Można też zawołać funkcje w celu inicjalizacji zmiennej: class Inicjalizacja { int i = f(); Można wołać też funkcje z parametrami, ale parametrami nie mogą być niezainicjalizowane zmienne: class Inicjalizacja { //! j = g(i); // blad i nie jest zainicjalizowane int i = f(); int j = g(i); // ok. i jest już zainicjalizowane

92 Definicja tablicy: int[] t1; lub Inicjalizacja tablic int t1[]; // definicja w stylu C Inicjalizacja tablicy: int t1[] = { 1, 5, 6, 13 ; Możliwe jest też przypisanie jednej tablicy do drugiej, jest to przypisanie referencji: int[] t2; t2 = t1;

93 Inicjalizacja tablic cd. Przykład: public class Tablice { public static void main(string[] args) { int[] t1 = { 1, 2, 5, 8, 12 ; int[] t2; t2 = t1; for(int i = 0; i < t2.length; i++) t2[i]++; for(int i = 0; i < t1.length; i++) System.out.println( t1[ + i + ] = + t1[i] );

94 Inicjalizacja tablic cd. Możliwe jest też określenie rozmiaru inicjalizowanej tablicy: int[] t = new int[54]; Dla typów obiektowych oprócz zainicjalizowania samej tablicy, trzeba też inicjalizować każdy element tej tablicy: Integer[] t = new Integer[20]; // inicjalizacja tablicy for(int i = 0; i < t.length; i++ ) { t[i] = new Integer(0); // inicjalizacja elementow

95 Tablice wielowymiarowe Java pozwala na łatwy sposób tworzenia tablic wielowymiarowych: int[][] t1 = { { 1, 2, 3, { 4, 5, 6, ; for(int i = 0; i < t1.length; i++) for(int j = 0; j < t1[i].length; j++) System.out.println( t1[ + i + ][ + j + ] = + t1[i][j]); //...

96 Tablice wielowymiarowe cd. Tworzenie tablic wielowymiarowych o określonym rozmiarze: int[][][] t2 = new int[2][2][5];

97 Specyfikacja dostępu

98 Dostęp do składowych klasy Jeśli nie ma określonego specyfikatora dostępu to jako domyślny przyjmowany jest friend, który oznacza możliwość dostępu w ramach tego samego pakietu (pliku).dostęp w ramach pakietu Specyfikator public oznacza, że wszyscy mają dostęp do składowej Specyfikator private dopuszcza dostęp do składowej tylko w ramach tej samej klasy Specyfikator protected dopuszcza dostęp do składowej tylko w ramach tej samej klasy i klas z niej dziedziczących

99 Dostęp do składowych klasy Przykład: public class X { public void pub1() { /*... */ public void pub2() { /*... */ private void priv1() { /*... */ protected void prot1() { /*... */ private int i;

100 Dziedziczenie W Javie możliwe jest tylko dziedziczenie pojedyncze Wszystkie obiekty w Javie dziedziczą z obiektu podstawowego Objects Do oznaczenia dziedziczenia służy słowo kluczowe extends

101 Dziedziczenie Przykład: class A { private String s = new String( Klasa A ); public void append(string str) { s += str; public void foo1() { append( foo1() ); public void foo2() { append( foo2() ); public void print() { System.out.println(s); public static void main(string[] args) { A obiekt1 = new A(); obiekt1.foo1(); obiekt1.foo2(); obiekt1.print();

102 Dziedziczenie Przykład cd: public class B extends A { public void foo2() { append( B.foo2() ); super.foo2(); // wywolanie metody klasy bazowej public void foo3() { append( foo3() ); public static void main(string[] args) { B obiekt = new B(); obiekt.foo1(); obiekt.foo2(); obiekt.foo3(); A.main(args); // test klasy bazowej

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

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

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

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

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

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

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

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

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

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

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

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Polimorfizm, metody wirtualne i klasy abstrakcyjne Programowanie obiektowe Polimorfizm, metody wirtualne i klasy abstrakcyjne Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Polimorfizm,

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

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

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

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami

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

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

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

Programowanie obiektowe i język Java

Programowanie obiektowe i język Java Programowanie obiektowe i język Java Tomasz Głowacki Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych i ich zastosowań

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

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

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

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

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017 Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania

Bardziej szczegółowo

Wykład 7: Pakiety i Interfejsy

Wykład 7: Pakiety i Interfejsy Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,

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

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np Klasy Klasa jest nowym typem danych zdefiniowanym przez użytkownika Wartości takiego typu nazywamy obiektami Najprostsza klasa jest po prostu strukturą, np struct Zespolona { Klasy jako struktury z operacjami

Bardziej szczegółowo

Java niezbędnik programisty spotkanie nr 3. Modyfikatory, jednostki kompilacji, tworzenie/inicjalizacja, odśmiecanie/ finalizacja...

Java niezbędnik programisty spotkanie nr 3. Modyfikatory, jednostki kompilacji, tworzenie/inicjalizacja, odśmiecanie/ finalizacja... Java niezbędnik programisty spotkanie nr 3 Modyfikatory, jednostki kompilacji, tworzenie/inicjalizacja, odśmiecanie/ finalizacja... 1 Definicja klasy [modyfikator] class nazwa_klasy { [modyfikator] nazwa_typu

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

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

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

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

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016 Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac

Bardziej szczegółowo

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i

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

/** Program demonstrujący działanie klasy GregorianCalendar import java.util.*; public class TestKalendarza // zbuduj d i zainicjalizuj z aktualną datą GregorianCalendar d = new GregorianCalendar(); int

Bardziej szczegółowo

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

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1 Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie

Bardziej szczegółowo

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

Akademia ETI. Wprowadzenie do programowania w Javie PG Java User Group Przemysław Kulesza Akademia ETI Wprowadzenie do programowania w Javie PG Java User Group 1 Dlaczego Java? Najpopularniejszy język programowania obiektowego Łatwy w nauce Dostępny na wiele platform 2 Platformy Java Java Standard

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

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

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

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

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

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

Materiały pomocnicze do wykładu 3 - Elementy języka Java Materiały pomocnicze do wykładu 3 - Elementy języka Java 1) Typy danych Typy całkowite Typ Rozmiar Zakres przechowywanych danych byte 8 bitów -128 do 127 short 16 bitów -32768 do 32767 int 32 bity -2147483648

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

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. 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

ROZDZIAŁ 2. Operatory

ROZDZIAŁ 2. Operatory Bibliografia [1] Jerzy Grębosz, Symfonia C++, Oficyna Kallimach, Kraków, 1999, [2] Jerzy Grębosz, Pasja C++, Oficyna Kallimach, Kraków, 1999, [3] Bjarne Stroustrup, Język C++, WNT, Warszawa, 1997, [4]

Bardziej szczegółowo

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

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusz Mikoda Programowanie urządzeń mobilnych dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusz Mikoda Najważniejsze platformy mobilne Android ios Windows Phone 8.1 BlackBerry OS Sailfish OS Tizen Brew Android

Bardziej szczegółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

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

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;

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 języka Java. przygotował: pawel@kasprowski.pl

Podstawy języka Java. przygotował: pawel@kasprowski.pl Podstawy języka Java przygotował: pawel@kasprowski.pl Początki: PDA Star7 (*7) PDA do obsługi urządzeń domowych. (1992) (język OAK) Autorzy Javy Green Team Ojciec Javy: James Gosling Poszukiwanie zastosowania

Bardziej szczegółowo

Wykład 6: Dziedziczenie

Wykład 6: Dziedziczenie Wykład 6: Dziedziczenie Dziedziczenie Jeden z filarów obiektowości. Budowa jednej klasy na bazie drugiej, przez dodawanie/przesłanianie jej składowych: nad-klasa klasa bazowa pod-klasa klasa pochodna od

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

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

Programowanie obiektowe i zdarzeniowe

Programowanie obiektowe i zdarzeniowe Marek Tabędzki Programowanie obiektowe i zdarzeniowe 1/23 Programowanie obiektowe i zdarzeniowe wykład 6 polimorfizm Na poprzednim wykładzie: dziedziczenie jest sposobem na utworzenie nowej klasy na podstawie

Bardziej szczegółowo

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

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run(). Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public

Bardziej szczegółowo

Metody Metody, parametry, zwracanie wartości

Metody Metody, parametry, zwracanie wartości Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca

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

PHP: bloki kodu, tablice, obiekty i formularze

PHP: bloki kodu, tablice, obiekty i formularze 1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują

Bardziej szczegółowo

Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft );

Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft ); Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft ); Dobrą praktyką jest używanie wielkich liter jako nazw stałych. Nie jest

Bardziej szczegółowo

EGZAMIN PROGRAMOWANIE II (10 czerwca 2010) pytania i odpowiedzi

EGZAMIN PROGRAMOWANIE II (10 czerwca 2010) pytania i odpowiedzi EGZAMIN PROGRAMOWANIE II (10 czerwca 2010) pytania i odpowiedzi 1. Napisz wskaźnik do funkcji fun tak zdeklarowanej: T* fun( int, double const& ) const; definicja wskaźnika musi być precyzyjna, inaczej

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

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

Java EE produkcja oprogramowania

Java EE produkcja oprogramowania Java EE produkcja oprogramowania PPJ PODSTAWY PROGRAMOWANIA W JAVIE PODSTAWY JĘZYKA JAVA 4 Warszawa, 2016Z 2 Pętle, typ tablicowy, usługi czasu i kalendarza 3 Pętla while 1/3 Instrukcja pętli umożliwia

Bardziej szczegółowo

Programowanie - instrukcje sterujące

Programowanie - instrukcje sterujące Instytut Informatyki Uniwersytetu Śląskiego Laborki środowisko NetBeans, tworzenie nowego projektu; okno projekty; główne okno programu; package - budowanie paczek z klas; public class JavaApplication

Bardziej szczegółowo

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

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1 Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,

Bardziej szczegółowo

KLASY, INTERFEJSY, ITP

KLASY, INTERFEJSY, ITP KLASY, INTERFEJSY, ITP ZAGADNIENIA: Klasy, modyfkatory dostępu, pakiety. Zmienne i metody statyczne. Klasy abstrakcyjne, dziedziczenie. Interfejsy. Komentarze i javadoc, http://th-www.if.uj.edu.pl/zfs/ciesla/

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

Język C - podstawowe informacje

Język C - podstawowe informacje Język C - podstawowe informacje Michał Rad AGH Laboratorium Maszyn Elektrycznych 2014-12-05 Outline Program w języku C Funkcje Składnia Instrukcje sterujace Na koniec... Po kolei napisać program (zwykły

Bardziej szczegółowo

TEMAT : KLASY DZIEDZICZENIE

TEMAT : KLASY DZIEDZICZENIE TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą

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

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

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

Języki i metodyka programowania. Język C# pętle, sterowanie, wyjątki

Języki i metodyka programowania. Język C# pętle, sterowanie, wyjątki Język C# pętle, sterowanie, wyjątki Język C# pętle Pętle: while ( ) do { while ( ); for ( ; ; ) foreach ( in

Bardziej szczegółowo

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016 Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa

Bardziej szczegółowo

Klasy i obiekty cz II

Klasy i obiekty cz II Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy

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

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

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

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

Programowanie w języku Java WYKŁAD

Programowanie w języku Java WYKŁAD Programowanie w języku Java WYKŁAD dr inż. Piotr Zabawa Certyfikowany Konsultant IBM/Rational e-mail: pzabawa@pk.edu.pl www: http://www.pk.edu.pl/~pzabawa 03.03.2014 WYKŁAD 2 Elementy leksykalne Java Elementy

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

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main Język obiektowy Wykład 13 Programowanie obiektowe z lotu ptaka, str 1 James Gosling, Mike Sheridan, Patrick Naughton Sun Microsystems 1995(20latmłodszyodC) C jest językiem proceduralnym Java jest językiem

Bardziej szczegółowo

Spis treści. O autorze (11) O redaktorze technicznym (11) Wstęp (13) Rozdział 1. Podstawy Javy (19)

Spis treści. O autorze (11) O redaktorze technicznym (11) Wstęp (13) Rozdział 1. Podstawy Javy (19) Spis treści O autorze (11) O redaktorze technicznym (11) Wstęp (13) Rozdział 1. Podstawy Javy (19) Pochodzenie Javy (20) o Java a języki C i C++ (21) o Java a C# (22) Java a Internet (22) o Aplety Java

Bardziej szczegółowo

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego

Bardziej szczegółowo

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 3

PARADYGMATY PROGRAMOWANIA Wykład 3 PARADYGMATY PROGRAMOWANIA Wykład 3 Definiowanie operatorów i ich przeciążanie Przykłady zastosowania operatorów: a) operator podstawienia ( = ) obiektów o złożonej strukturze, b) operatory działania na

Bardziej szczegółowo

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

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle Pętle while, for, while, instrukcje break, continue, switch 1. Pętle Przykład 1 - Pętla while public class lab4_3 public static void main(string[] args) char ch = 'a'; String s, wynik=""; while ( ch!=

Bardziej szczegółowo

Laboratorium Programowania Kart Elektronicznych

Laboratorium Programowania Kart Elektronicznych Laboratorium Programowania Kart Elektronicznych Programowanie JavaCard Marek Gosławski Przygotowanie do zajęć dokumentacja JavaCard i GlobalPlatform środowisko programistyczne karta JavaCard Potrzebne

Bardziej szczegółowo

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

Programowanie obiektowe, wykład nr 6. Klasy i obiekty Dr hab. inż. Lucyna Leniowska, prof. UR, Zakład Mechatroniki, Automatyki i Optoelektroniki, IT Programowanie obiektowe, wykład nr 6 Klasy i obiekty W programowaniu strukturalnym rozwój oprogramowania oparto

Bardziej szczegółowo

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki Informatyka I Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Dziedziczenie klas

Bardziej szczegółowo

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

Programowanie w środowiskach graficznych. Wykład 3 Język C# Programowanie w środowiskach graficznych Wykład 3 Język C# 1 Zagadnienia 1. Wprowadzenie 2. Przestrzenie nazw 3. Typy, parametry, konwersje 4. Klasy 5. Instrukcje sterujące 6. Właściwości 7. Interfejsy,

Bardziej szczegółowo

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować

Bardziej szczegółowo

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Język PHP Język interpretowalny, a nie kompilowany Powstał w celu programowania

Bardziej szczegółowo

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = Ala ma ; 1 2 Operacje na zmiennych Kolejność operacji: deklaracja, inicjacja bool decyzja; int licznik, lp; double stvat, wartpi; char Znak; string S1, S2 = "Kowalski"; przypisanie wartości podstawienie decyzja

Bardziej szczegółowo

Programowanie obiektowe w języku

Programowanie obiektowe w języku Programowanie obiektowe w języku C++ Stanisław Gepner sgepner@meil.pw.edu.pl Dziedziczenie Wstęp Zacznijmy od przykładu Przykład rolniczy Każde zwierzątko wydaje dźwięk Każde się tak samo porusza Musimy

Bardziej szczegółowo