Agnieszka Nowak - Brzezińska

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

Download "Agnieszka Nowak - Brzezińska"

Transkrypt

1 Agnieszka Nowak - Brzezińska

2 Wystarczy raz zapisać kod a program można uruchomić wszędzie

3 Java język programowania stworzony przez James a Goslinga i Patric a Naughton a z firmy Sun Microsystems. Krótka historia języka: 1991 r. Projekt Green czyli niezależny od platformy i kompaktowy język programowania tunerów telewizji kablowej r. wielofunkcyjny pilot tv oraz tv box z funkcją wideo na żądanie! r punktów Air Miles za loty w celu promocji technologii Green r. przeglądarka internetowa HotJava z obsługą apletów. Pierwsza wersja (1.0) Javy (bo nazwa Oak była już zajęta) r. Java 1.2 GUI i funkcję graficzne przemianowano na Java 2 SE ver r. Java 1.5 typy generyczne, pętla for each, dużo zmian przemianowano na Java 5.0.

4 Źródło: K. Sierra, B. Bates. Head First Java. 2nd Edition. O Reilly, USA.

5

6 Java rozróżnia wielkość liter println, Println, PRINTLN to są 3 różne nazwy! Główny plik źródłowy zawierający kod programu (z rozszerzeniem.java) musi nazywać się tak samo jak nazwa klasy. Wszystko w Javie musi się znajdować w jakieś klasie! Nazwa klasy musi się zaczynać od litery, po której mogą wystąpić dowolne kombinacje liter i cyfr. Nazwa nie może być zarezerwowanym słowem kluczowym. Funkcja (metoda main) musi się znajdować w pliku źródłowym klasy, która chcemy uruchomić.

7 Typy komentarzy: Jednolinijkowe (liniowe) // to jest komentarz składający się z 1 linii Wielolinijkowe (blokowe) /* tutaj komentarz mający wiele linii */ Komentarzy blokowych NIE wolno zagnieżdżać /* /* błąd */ */ Automatyczne generowanie dokumentacji /** Jest to nasz pierwszy Tomasz Jach */

8

9

10 Deklarujemy referencję zmiennej Tworzymy obiekt Połączenie odwołania do obiektu i referencji

11

12 Należy zalogować się jako administrator. Przejdź do panelu sterowania, przełącz na widok klasyczny i kliknij dwukrotnie ikonę Systemu. W systemach Windows NT/2000/XP od razu otworzy się okno Właściwości systemu. W systemie Windows Vista należy kliknąć Zaawansowane ustawienia systemu. W oknie dialogowym Właściwości systemu kliknij kartę Zaawansowane, a następnie przycisk Zmienne środowiskowe. W oknie tym znajdź zmienną o nazwie Path. Kliknij przycisk Edytuj i dodaj tam katalog jdk\bin na początku ścieżki i wpis ten oddziel od reszty wpisów średnikiem, jak poniżej: C:\jdk\bin; inne wpisy Zapisz ustawienia. Każde nowe okno konsoli będzie wykorzystywać prawidłową ścieżkę.

13

14

15

16 W Javie każdy typ int to liczba 32bitowa, w C/C++ to była 16-to albo 32-u albo dowolna inna liczba. Teraz nie ma przynajmniej problemów z przenoszeniem kodu.

17 Interpreter Javy może wykonać kod bajtowy Javy bezpośrednio na urządzeniu, na którym interpreter zainstalowano. Obecnie kod bajtowy jest tłumaczony przez kompilator JIT (just-in-time compiler) na kod maszynowy.

18

19

20

21

22 Skrót JVM (ang. Java Virtual Machine), wirtualny (programowy) procesor, który wykonuje kod pośredni ładowany z plików class lub archiwów z lokalnego systemu plików lub poprzez sieć maszyna wirtualna implementowana jest jako samodzielnie uruchamiany program lub wbudowywana np. w przeglądarkę WWW albo w system operacyjny (statycznie jako moduł lub biblioteka łączona dynamicznie)

23 Podstawowa wersja środowiska Javy dostarczana jest przez firmę Sun Microsystems w postaci pakietu narzędzi Java 2 Software Developers Kit Standard Edition (Java 2 SDK SE) Zestaw przygotowywany jest dla różnych systemów operacyjnych Dawniej nazywany był Java Developers Kit (JDK) istnieje rozbudowana wersja pakietu Enterprise Edition zawierająca dodatkowe narzędzia oraz biblioteki środowisko zawierające tylko implementację maszyny wirtualnej dla określonego systemu operacyjnego i biblioteki standardowe Javy, bez narzędzi programistycznych, nazywane jest Java Runtime Environment i służy tylko do uruchamiania programów utworzonych w Javie

24 w zestawie J2SDK kompilatorem jest program o nazwie javac (Java Compiler) pliki wynikowe mogą być pogrupowane logicznie w pakiet, który fizycznie może być zlokalizowany w pewnej drzewiastej strukturze katalogowej pakiet może być zarchiwizowany do formatu zip lub jar np. za pomocą programu narzędziowego jar dostarczanego w zestawie J2SDK

25 Małe programy z interfejsem graficznym uruchamiane przez przeglądarkę WWW z wbudowaną obsługą Javy lub specjalną przeglądarkę apletów o nazwie appletviewer dostarczaną w pakiecie J2SDK; informacja o tym skąd i jaki plik class lub jar załadować wbudowywana jest w stronę WWW w postaci specjanego znacznika HTML, który dodatkowo może zawierać parametry uruchomieniowe apletu, aplikacje graficzne, lub tekstowe programy uruchamiane przez maszynę wirtualną pracującą z poziomu systemu operacyjnego

26 Implementacją maszyny wirtualnej w pakiecie J2SDK jest program java uruchamiany z linii komend wraz z parametrem określającym plik class lub jar w lokalnym systemie plików, od którego zaczyna się wykonywanie aplikacji serwlet program wykonywany po stronie serwera midlet program wykonywany w urządzeniu przenośnym

27 jedna z klas musi zawierać metodę public static void main(string[ ] args) jeśli jest to klasa publiczna, nazwa tej klasy musi być taka sama jak nazwa pliku, w której jest zdefiniowana po kompilacji pliku źródłowego.java do Bkodu (polecenie javac) powstają pliki.class (dla każdej klasy osobny plik) poleceniem java klasa.class zostaje załadowana przez JVM (Java Virtual Machine) i sterowanie zostaje przekazane do metody main( ), gdzie zaczyna się życie : tworzenie obiektów, odwołania do innych klas aplikacji

28 class Aplikacja1 { public static void main(string[] args) { System.out.println("Hello World!"); } } Przy założeniu, że kod aplikacji zapisany został w pliku Aplikacja1.java kompilujemy go kompilatorem javac wydając polecenie: javac Aplikacja1.java W wyniku kompilacji otrzymamy plik z kodem pośrednim Aplikacja1.class który możemy uruchomić wykorzystując interpreter java java Aplikacja1

29 Plik źródłowy: Applet1.java import java.applet.*; import java.awt.*; public class Aplet1 extends Applet { public void init() { add(new Label( Hello world )); } } javac Aplet1.java Applet1.class <applet> <html> <head> <title>aplet1</title></head > <body> <applet code="aplet1.class" width="400" height="200"> </applet> </body> </html> Plik HTML: Applet.html Applet.html

30 Nazwa Przykładowe wartośdi Objaśnienie CODE CODE="Pusty.class" określa nazwę pliku zawierającego kod bajtowy apletu WIDTH HEIGHT HSPACE VSPACE CODEBASE WIDTH=100 HEIGHT=200 HSPACE=10 VSPACE=20 CODEBASE= "C:/Aplety" określają wymiar apletu w pikselach określają w pikselach odstęp pomiędzy apletem a otaczającym go tekstem Określa ścieżkę dostępu do tego pliku. Jeżeli zbiór z kodem bajtowym jest w tej samej kartotece, co dokument HTML, to nie trzeba podawad ścieżki dostępu. Wartością CODEBASE może byd również adres sieciowy URL.

31 Jeżeli kod HTML strony WWW został zapisany w pliku Aplet1.html to działanie apletu możemy sprawdzić ładując stronę do przeglądarki lub korzystając z interpretera appletviewer poprzez podanie komendy: appletviewer Aplet1.html Wyszukiwaniem i ładowaniem plików zawierających kod pośredni zajmuje się moduł ładujący (bytecode loader, classloader) klasy, o ile to możliwe, ładowane są w pierwszej kolejności z lokalnego systemu plików a następnie z sieci

32 Przed rozpoczęciem wykonywania załadowanego kodu bajtowego jest on sprawdzany przez weryfikator w czterech etapach 1. weryfikacja pliku klasy: weryfikacja sygnatury pliku i jego struktury 2. weryfikacja tworzenia podklas, stałych, wskaźników do obszarów pamięci 3. weryfikacja kodu bajtowego: analiza metod, kontrola argumentów, inicjalizacji zmiennych, analiza stosu argumentów, badanie możliwości wystąpienia nadmiaru i niedomiaru podczas operacji arytmetycznych 4. sprawdzenie podczas wykonania typu danych oraz dostępu: analiza poziomów dostępu do składowych prywatnych i chronionych

33 Maszyna wirtualna może zawierać zintegrowany kompilator JIT, który "w locie" (JustInTime) generuje kod wykonywalny specyficzny dla danego komputera na podstawie kodu pośredniego. Przy pierwszym uruchomieniu kod pośredni trafia wprost do interpetera, ale jest kompilowany i zapamiętywany w postaci kodu wynikowego. Kolejne odwołanie do tego kodu powoduje, że wykorzystywany jest kod wynikowy, co przyśpiesza działanie programu nawet 20krotnie

34 menedżer bezpieczeństwa jest klasą implementującą powłokę ochronną w układzie maszyna wirtualna/przeglądarka określa i nadzoruje politykę dostępu przeglądarki do zasobów lokalnych i sieciowych menedżer bezpieczeństwa musi wyrazić zgodę na uzyskanie przez aplet dostępu do następujących zasobów: 1. komunikacji sieciowej, 2. danych w lokalnym systemie plików, 3. procesów systemu operacyjnego, 4. modułu ładowania, 5. bibliotek Javy przy standardowych ustawieniach aplety załadowane przez sieć nie mają np. dostępu do lokalnego systemu plików i mogą nawiązywać połączenia sieciowe tylko z serwerem, z którego zostały załadowane. aplikacje nie podlegają tym ograniczeniom i mogą uzyskiwać dostęp do dowolnych zasobów lokalnych i sieciowych

35 Ścieżka (bezwględna) do katalogu jdk/bin powinna być umieszczona w zmiennej systemowej PATH javac kompilator Składnia wywołania: javac [opcje] [plikiźródłowe] pliki źródłowe z rozszerzeniem java mogą być wymienione w linii komend lub zebrane w listę rozdzieloną odstępami i/lub znakami nowego wiersza zapisaną w pliku, którego nazwa podawana jest po

36 w wyniku kompilacji powstają pliki z kodem pośrednim o rozszerzeniu class. każdy plik class zawiera jedną skompilowaną klasę lub interfejs program w języku Java jest zbiorem definicji klas i interfejsów javac kompilator Program w języku Java może być zapisany w jednym pliku lub w wielu plikach przy czym: w jednym pliku źródłowym może znajdować się co najwyżej jedna klasa publiczna jeżeli plik źródłowy zawiera definicję klasy publicznej, to jego nazwa musi być identyczna z nazwą tej klasy (wielkość liter jest istotna).

37

38

39 Składnia wywołania: java [opcje] nazwaklasy [argumenty] jako parametr podawana jest nazwa klasy (bez rozszerzenia class), od której zaczyna się wykonanie aplikacji. Klasa taka nazywana jest klasą startową java interpreter aplikacji java [opcje] jar plik.jar [argumenty] wskazywany jest plik archiwum z rozszerzeniem jar, który zawiera klasę startową, inne klasy aplikacji oraz pliki zasobów (grafiki, dźwięki i.t.p.).

40 Składnia wywołania: appletviewer [opcje] url interpreter apletów pozwala uruchamiać aplety bez korzystania z przeglądarki WWW jako parametr podawany jest url strony WWW jeśli w stronę WWW wbudowanych jest kilka apletów, to dla każdego z nich otwierane jest osobne okno interpretera

41 pakiet jest mechanizmem łączenia w pewną całość logicznie powiązanych klas i interfejsów zapewniania kontrolę dostępu do klas i interfejsów oraz ich składowych pozwala unikać kolizji nazw biblioteki Javy zorganizowane są w pakiety Przynależność klas i interfejsów zdefiniowanych w danym pliku do konkretnego pakietu możemy określić podając jako pierwszy wpis w pliku źródłowym deklarację pakietu package nazwapakietu; dalszaczęśćplikuźródłowego

42 pakiety mogą zawierać podpakiety i tworzyć hierarchie zorganizowaną w strukturę drzewa struktura ta jest mapowana na strukturę katalogów katalogi zawierają skompilowane pliki klas i interfejsów

43

44 programy mogą wykorzystywać klasy i interfejsy z istniejących pakietów deklarując ich import można importować wszystkie klasy i interfejsy danego pakietu podając w deklaracji importu symbol * na końcu nazwy pakietu deklaracja z symbolem* oznacza, że wykorzystane zostaną z danego pakietu tylko te definicje klas i interfejsów, które są niezbędne do skompilowania i uruchamiania programu jeśli nie podano żadnej deklaracji importu, to i tak domyślnie zawsze importowany jest pakiet java.lang.*

45

46 Kod bajtowy może być tłumaczony w locie (w trakcie działania programu) na kod maszynowy przeznaczony dla określonego procesora, na którym działa aplikacja.

47 Korzyści płynące z wielowątkowości to lepsza interaktywność i działanie w czasie rzeczywistym. W Javie realizacja wielowątkowości jest o wiele prostsza niż w innych językach. Wątki w Javie mogą korzystać z systemów wieloprocesorowych, jeśli podstawowy system operacyjny to umożliwia.

48 Java jest bardziej dynamicznym językiem niż C i C++ pod wieloma względami. Została tak zaprojektowana aby dostosowywać się do ewoluującego środowiska. Do bibliotek można bez przeszkód dodawać nowe metody i zmienne egzemplarzy, nie wywierając żadnego wpływu na klienty.

49 Założenie jest proste: użytkownik pobiera kod bajtowy z internetu i uruchamia go na własnym urządzeniu. Programy napisane w Javie, które działają na stronach internetowych, noszą nazwę apletów Javy. Aby używać apletów, wystarczy mieć przeglądarkę obsługującą Javę, w której można uruchomić kod bajtowy tego języka. Nie trzeba nic instalować. Dzięki temu, że forma Sun udziela licencji na kod źródłowy Javy i nie zezwala na wprowadzanie żadnych zmian w języku i bibliotece standardowej, każdy aplet powinien działać w każdej przeglądarce która obsługuje Javę. Najważniejsze jest jednak to, że dzięki zabezpieczeniom maszyny wirtualnej nie trzeba obawiać się ataków ze strony złośliwego kodu.

50 Pobieranie apletu odbywa się w podany sposób jak wstawianie obrazu na stronę internetową. Aplet integruje się ze stroną a tekst otacza go ze wszystkich stron jak obraz. Różnica polega na tym, że ten obraz jest żywy. Reaguje na polecenie użytkownika, zmienia wygląd oraz przesyła dane pomiędzy komputerem, na którym został uruchomiony a tym, ż którego pochodzi.

51 Zmienna konstrukcja programistyczna posiadająca swoją unikalną nazwę, oraz typ danych jakie zmienna jest w stanie przechowywać. Każda zmienna przed wykorzystaniem w programie musi zostać zadeklarowana (stworzona). Deklaracja polega na podaniu typu i nazwy zmiennej w formie: typ_zmiennej nazwa_zmiennej; np. int suma; Aby naraz zadeklarować wiele zmiennych tego samego typu oddzielamy ich nazwy przecinkiem: np. int suma, pensja, obroty; Na końcu każdej deklaracji musi znajdować się średnik! Nazwa zmiennej może się składać z liter (małych lub wielkich), cyfr, oraz znaku podkreślenia, ale nie może się zaczynać od cyfry.

52 Aby przypisać zmiennej jakąś określoną wartość wpisujemy: nazwa_zmiennej = wartość; np. suma = 100; Pierwsze przypisanie wartości zmiennej nazywa się jej inicjalizacją. Inicjalizacja zmiennej może się odbyć w dowolnym miejscu programu po jej wcześniejszym zadeklarowaniu. Może też wystąpić równocześnie z deklaracją: int suma = 100;

53 W Javie każda zmienna musi mieć określony typ. Deklaracja zmiennej polega na napisaniu nazwy typu, a po nim nazwy zmiennej. Double pensja; Int liczbadnipracujacych; Long liczbamieszkancowziemi; Boolean czyzdanyegzamin;

54 Po zadeklarowaniu zmiennej trzeba zainicjować ją za pomocą instrukcji przypisania nie można użyć wartości niezainicjowanej zmiennej. Int liczbadniprzepracowanych; System.out.println(liczbaDniPrzepracowanych); Błąd zmienna nie została zainicjowana!!!

55 Int liczbadniprzepracowanych; liczbadniprzepracowanych = 12; lub Int liczbadniprzepracowanych = 12;

56 Java jest językiem o ścisłej kontroli typów. Oznacza to, że zmienna każda musi mieć określony typu. Istnieje 8 podstawowych typów. 4 z nich reprezentują liczby całkowite, dwa liczby rzeczywiste, jeden o nazwie char zarezerwowano dla znaków reprezentowanych przez kody liczbowe systemu Unicode, zaś ostatni jest logiczny (boolean).

57 To liczby pozbawione części ułamkowej. Zaliczają się do nich także liczby ujemne. Typ Liczba bajtów zakres Int do Short do Long do byte do 127

58 Służą do przechowywania liczb z częścią ułamkową. Typ Liczba bajtów zakres Float 4 Około 3, E+38F (6-7 znaczących cyfr dziesiętnych) doubl e 8 Około 1, E (15 znaczących cyfr dziesiętnych)

59 Typ char służy do reprezentacji pojedynczych znaków. Mogą to być stałe znakowe opatrzone apostrofami np. A, z, 0. Typ ten zajmuje 16 bitów. Można również wyświetlać symbole zakodowane w Unicode (których wartości mieszczą się w zakresie \u0000 do \uffff). Przykładowo \u03c0 to grecka litera. Ponadto wyróżnia się symbole reprezentujące znaki specjalne jak znak nowej linii czy tabulacja: \n nowa linia \t tabulacja \b backspace \r powrót karetki \ cudzysłów \ znak apostrofu \\ - lewy ukośnik (ang. backslash)

60 Może przechowywać dwie wartości: true i false. Służy do sprawdzania warunków logicznych. Wartości logicznych nie można konwertować na wartości całkowitoliczbowe.

61 + (dodawanie) - (odejmowanie) * (mnożenie) / (dzielenie całkowitoliczbowe) % (dzielenie modulo) ++ (inkrementacja) -- (dekrementacja)

62 Wynik:

63 Operator inkrementacji (++) zwiększa wartość zmiennej o jeden, podczas gdy operator dekrementacji (--) zmniejsza wartość zmiennej o jeden. Oba operatory mogą występować w dwóch formach: Przedrostkowej (++x). Przyrostkowej (x++). Obie postacie powodują zwiększenie zapamiętanej w zmiennej wartości o jeden, ale w przypadku formy przedrostkowej odbywa się to przed jej wykorzystaniem (przed zwróceniem jej wartości), a w przypadku formy przyrostkowej dopiero po wykorzystaniu danej zmiennej.

64 Wynik:

65 Jeśli w wyniku operacji w dalszej części programu na zmiennej liczbowej przekroczymy dopuszczalny zakres przyjmowanych przez nią wartości to nie spowoduje to błędu kompilacji! Przekroczenie dopuszczalnej wartości nie powoduje błędu a jedynie zawinięcie liczby zgodnie z zasadą: INT_MAX + 1 = INT_MIN INT_MAX + 2 = INT_MIN +1 oraz INT_MIN 1 = INT_MAX INT_MIN 2 = INT_MAX + 1

66 Operatory bitowe służą do wykonywania operacji na bitach. Są one następujące: Operator Nazwa Przykład & Bitowe AND x & y Bitowe OR x y ~ Bitowe NOT ~x ^ Bitowy XOR x ^ y << Przesunięcie arytmetyczne w lewo x << y >> Przesunięcie arytmetyczne w prawo x >> y >>> Przesunięcie arytmetyczne w prawo z wypełnieniem zerami x >> y

67 Operacje logiczne wykonujemy na argumentach, które przyjmują jedną z dwóch możliwych wartości logicznych: true lub false. Wyróżniamy 3 operatory logiczne: Operator Nazwa Przykład && Logiczny AND x && y Logiczny OR x y! Logiczny NOT!x

68 Operatory przypisania są operatorami dwuargumentowymi i powodują przypisanie operandowi lewostronnemu wartości operandu prawostronnego. Argument 1 Operator Argument 2 Znaczenie x = y x = y x += y x = x + y x -= y x = x y x *= y x = x * y x /= y x = x / y x %= y x = x % y x <<= y x = x << y x >>= y x = x >> y x >>>= y x = x >>>y x &= y x = x & y x = y x = x y x ^= y x = x ^ y

69 Operatory porównania służą do porównania operandów. Zwracają one wartość true lub false. Przykład: Wynikiem działania arg1 == arg2 będzie true jeśli oba argumenty są sobie równe. W przeciwnym przypadku wynikiem będzie false. Operator Wykonywane działanie Przykład == Równość x == y!= Nierówność x!= y < Mniejszość x < y > Większość x > y <= Mniejszość lub równość x <= y >= Większość lub równość x >= y

70 Wszystkie operatory dwuargumentowe (za wyjątkiem op. przypisania) o jednakowym priorytecie są sprawdzane od lewej do prawej. Operatory przypisania są oceniane od prawej do lewej. Typ operatora Symbol operatora Przyrostkowe x++ x -- Unarne ++x --x +x -x ~! Multiplikatywne * / % Addytywne + - Przesunięcia bitowe << >> >>> Relacyjne < > <= >= instanceof Równości ==!= Bitowy AND & Bitowy XOR ^ Bitowy OR Logiczny AND && Logiczny OR Warunkowy? : Przypisania = += -= *= /= %= &= ^= == <<= >>= >>>=

71

72

73 == (operator równości)!= (operator nierówności) > (większości) < (mniejszości) >= (większe bądź równe) <= (mniejsze bądź równe) && (koniunkcja logiczna) (alternatywa logiczna)! (negacja)

74 Warunek? Wyrażenie1: wyrażenie2 Wartością tego wyrażenia jest wyrażenie1 jeśli warunek ma wartość true, lub wyrażenie2 gdy warunek ma wartość false.

75 Klasa Math zawiera zestaw funkcji matematycznych, które mogą być bardzo przydatne przy pisaniu niektórych rodzajów programów. int x=4; float pierwzx= Math.sqrt(x); System.out.println(pierwZx); Wynik : 2.0

76

77 double x=9.997; Int nx = (int) z; Wynik : 9

78 W javie łańcuchy składają się z szeregu znaków Unicode. Nie ma wbudowanego typu String, ale standardowa biblioteka Javy zawiera predefiniowaną klasę o takiej właśnie nazwie. Każdy łańcuch w cudzysłowach jest obiektem klasy String: String e= ; String powitanie= Witaj ;

79 Aby wydobyć z łańcucha jakiś podłańcuch, należy użyć metody substring klasy String. Np.. String powitanie= Witaj ; String s= powitanie.substring(0,3); Wit

80 Metoda equals String imie1= Aleks ; String imie2= Aleksandra ; Imie2.equals(imie1);

81

82 Instrukcje warunkowe służą do sprawdzania warunków. W zależności od tego czy warunek jest prawdziwy, czy fałszywy, wykonywane są różne bloki instrukcji. Ogólna postać instrukcji warunkowej jest następująca: if (warunek) { //instrukcje do wykonania, gdy warunek jest prawdziwy } else { //instrukcje do wykonania, gdy warunek jest fałszywy } Blok else jest blokiem opcjonalnym. Prawdziwa jest zatem instrukcja: if (warunek) { //instrukcje do wykonania, gdy warunek jest prawdziwy }

83 Często przydatna jest również zmodyfikowana postać instrukcji warunkowej, sprawdzająca warunki podrzędne, w przypadku gdy nie jest spełniony warunek nadrzędny. if (warunek1) { //instrukcje do wykonania, gdy warunek1 jest prawdziwy. } else if(warunek2) { //instrukcje do wykonania, gdy warunek2 jest prawdziwy, natomiast warunek1 jest fałszywy. } else if(warunek3) { //instrukcje do wykonania, gdy warunek3 jest prawdziwy, natomiast warunek1 oraz warunek2 jest fałszywy. } else { //instrukcje do wykonania, gdy wszystkie warunki są fałszywe. }

84

85 Instrukcja switch pozwala w wygodny sposób sprawdzić ciąg warunków i wykonać różny kod w zależności od tego czy są one fałszywe czy prawdziwe. Jej postać jest następująca:

86

87 Operator warunkowy jest postaci: warunek? wartość1 : wartość2; Co należy rozmieć jako: jeśli warunek jest prawdziwy to podstaw za wartość wyrażenia wartość1, w przeciwnym wypadku podstaw za wartość wyrażenia wartość2. Można go traktować jako skróconą wersję instrukcji warunkowej if. Przykład:

88 Pętla while wykonuje daną instrukcję lub blok instrukcji tak długo jak długo warunek jest spełniony (ma wartość true). Ogólna postać pętli while jest następująca: while (warunek) instrukcja; Pętla while bada prawdziwość warunku jeszcze przed wykonaniem dalszego kodu (na samym jej początku), dlatego też, jeśli warunek ma wartość false to instrukcje zawarte w tej pętli nigdy nie zostaną wykonane.

89 Można też tak:

90 Pętla do while jest odmianą pętli while, a jej ogólna postać jest następująca: do instrukcja; while(warunek); Co należy rozumieć jako: Wykonuj instrukcję dopóki warunek jest prawdziwy. Jako, iż warunek pętli sprawdzany jest na końcu, wykona się ona zawsze przynajmniej raz!

91 ALBO

92 Ogólna postać pętli for jest następująca: for (wyrażenie początkowe; wyrażenie warunkowe; wyrażenie modyfikujące) instrukcja_do_wykonania; W miejsce wyrażenia początkowego wstawiane jest wyrażenie stosowane do zainicjalizowania zmiennej służącej jako licznik wykonań pętli. Wyrażenie warunkowe określa jaki warunek musi być spełniony by przejść do kolejnego przebiegu pętli. Wyrażenie modyfikujące natomiast używane jest do modyfikacji wartości zmiennej będącej licznikiem pętli.

93 Wartość zmiennej i widoczna tylko w bloku pętli LUB Wartość zmiennej i widoczna poza blokiem pętli

94 Instrukcja break powoduje przerwanie wykonywania pętli i opuszczenie jej bloku. Nie ma warunku zatrzymania pętli A i tak zadziała

95 Wynik

96 Instrukcja continue powoduje przejście do kolejnej iteracji danej pętli (chyba, że była to jej ostatnia iteracja). Wynik

97 Instrukcje break i continue mają również postać w połączeniu z etykietami. Etykieta to wyznaczone miejsce w kodzie programu. Etykietę definiuje się przez podanie jej nazwy zakończonej znakiem dwukropka break etykieta powoduje przerwanie wszystkich pętli znajdujących się za etykietą (innymi słowy przerwij działanie pętli i idź do etykieta1). continue etykieta powoduje przerwanie bieżącej iteracji pętli przejście do miejsca oznaczonego etykietą. Następnie następuje ponowne wejście do pętli znajdującej się tuż za etykietą!

98 Wynik Widać różnicę? Wynik

99 char charat(int index) int compareto(string anotherstring) {<0;0;>0} boolean endswith(string suffix) int indexof(int ch, int fromindex) int indexof(string str) int length() String replace(char oldchar, char newchar) String substring(int beginindex) String tolowercase() String touppercase() String valueof( )

100 System.out.println("abc"); String cde = "cde"; System.out.println("abc" + cde); String c = "abc".substring(2,3); String d = cde.substring(1, 2); int dlugosc = cde.length();

101 boolean nextboolean() double nextdouble() float nextfloat() int nextint() int nextint(int n) uwaga na zakres: [0;n) long nextlong() void setseed(long seed)

102 // Stworzenie obiektu klasy Random, który posłuży do losowania liczb Random r = new Random(); // Losowanie liczby z zakresu [0,10] do zmiennej a. int a = r.nextint(11); // deklaracja i definicja zmiennej // Losowanie liczby z zakresu [-10,22] i wyświetlenie jej na konsolę. System.out.println( r.nextint(33)-10 ); /* 33, bo w przedziale [-10,22] są 33 liczby i -10 bo to najmniejsza liczba w zakresie. */

103

104 Tablica jest rodzajem struktury danych będącą zestawem elementów tego samego typu. Dostęp do każdego z tych elementów można uzyskać za pomocą jego indeksu w postaci liczny int. Jeśli np. a będzie tablicą liczb całkowitych to a[i] jest i-tym elementem tej tablicy. Deklaracja zmiennej tablicowej polega na określeniu typu tablicy i nazwy zmiennej. Int[] a; Int [] a = new int [100]; Powyższa instrukcja tworzy tablicę, w której można zapisać 100 liczb całkowitych.

105 Elementy tablicy numerowane są od 9. Tablicę można zapełnić wartościami np. za pomocą pętli: Int [] a = new int [100]; For (int i=0; i100; i++) A[i]=i Próba dostępu do elementu o indeksie 100 lub większym w tablicy zawierającej 100 elementów zakończy się spowodowaniem wyjątku ArrayIndexOutOfBounds (indeks spoza przedziału tablicy).

106 Informację o liczbie elementów tablicy można uzyskać za pomocą odwołania nazwatablicy.length Rozmiaru tablicy nie można zmienić! Int [] a = new int [100]; For (int i=0; i<a.length; i++) A[i]=i

107 Służą do reprezentacji tabel i innych bardziej złożonych struktur danych. Aby uzyskać dostęp do elementu tablicy wielowymiarowej należy użyć więcej niż jednego indeksu. Int [][] a = new int [4][2]; Int [][] tablica = { {16,3}, {9,7}, {6,3}, {5,12} }

108

109

110

111 System.out.println("\nTablica poszarpana"); int [][] tabsz = new int[10][]; // 8 wierszy,?? kolumn for(int i=0; i<tabsz.length; i++) tabsz[i] = new int[i]; /*w każdym wierszu tyle kolumn jaki jest numer wiersza */ //Wyświetlanie for(int i=0; i<tabsz.length; i++){ // "Przejście" przez wiersze for(int j=0; j<tabsz[i].length; j++)//"przejście" przez kolumny System.out.print(tabSZ[i][j]+" "); System.out.println(); // Koniec kolumn w danym wierszu - nowa linia }

112 Tablice można kopiować jedną instrukcją: arraycopy(object src, int srcpos, Object dest, int destpos, int length) Co otrzymamy po wykonaniu takiego czegoś? char[] copyfrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd' }; char[] copyto = new char[7]; System.arraycopy(copyFrom, 2, copyto, 0, 7); System.out.println(new String(copyTo));

113 String napis = To jest napis ; napis.length() - to jest funkcja zwracając nam długość Jej definicja mogła by wyglądać tak: int length(string arg)

114 Jeśli mamy jakiś kawałek kodu, który często wykorzystujemy Jeśli często obliczamy lub potrzebujemy dostać efekt wywołania jakiegoś fragmentu kodu

115 int dodaj( int l1, int l2 ) { int wynik; wynik = l1 + l2; return wynik; } Funkcja zwraca wartość typu int Funkcja nazywa się dodaj Funkcja przyjmuje dwa parametry typu int: l1, l2 Funkcja zwraca nam sumę tych dwóch parametrów

116 package jbpack; import java.util.*; public class Program { // Gdzieś tu muszą być funkcje public static void main(string[] args) { // Tutaj nie } // Ale tutaj tak }

117 package jbpack; import java.util.*; public class Program { }; int dodaj( int l1, int l2 ) { int wynik; wynik = l1 + l2; return wynik; public static void main(string[] args) { System.out.println( Suma 4 i 5 wynosi: + dodaj(4,5)); } }

118 Jakaś funkcja: void głupiafunkcja( int arg ){ arg += 1; } Gdzieś w main(): int wartosc = 10; System.out.println( wartosc ); głupiafunkcja( wartosc ); System.out.println( wartosc ); Wynikiem będzie dwukrotne wyświetlenie 10!

119 8. Napisz funkcję, która w parametrze otrzymuje tablicę dwuwymiarową (o nieznanym rozmiarze) a w wyniku zwraca liczbę elementów dodatnich w tej tablicy. 9. Napisz funkcję, która dostaje trzy parametry: dwa znaki zn1, zn2 i jedną liczbę zak [4;8]. Funkcja ma zwrócić napis o długości zak i losowo wypełnioną znakami zn1, zn Napisz funkcję, która dostaje jeden parametr int dzielnik. Funkcja ma wypisywać na ekran wszystkie liczby mniejsze od 100, a podzielne przez dzielnik

120 Schemat blokowy Obliczenia Wejście / Wyjście Alternatywa Start Koniec

121

122

123 Program wczytujący liczby tak długo dopóki nie zostanie podana liczba 0. Program podaje na końcu sumę tak wczytanych liczb.

124

125 BEGIN Read(x); Read(y); suma := x + y; Write(suma); END.

126 BEGIN Read(dzielna); Read(dzielnik); IF(dzielnik!= 0) THEN BEGIN iloraz := dzielna / dzielnik write( Wynik wynosi, iloraz); END ELSE write( Błąd dzielenia przez 0! ); END

127 W celu wyświetlenia wartości zmiennych korzystamy ze znanej już instrukcji: System.out.println(zmienna_do_wyswietlenia); Przykładowo aby wyświetlić zawartość zmiennej suma: int suma = 100; System.out.println(suma); Aby wyświetlić jakiś napis, podajemy go jako argument w/w instrukcji opatrzony w cudzysłów: System.out.println( Jakiś napis do wyświetlenia ); Można połączyć wyświetlanie napisu i wartości zmiennych za pomocą operatora łączenia +: System.out.println( Wartość zmiennej suma wynosi + suma);

128 Aby wyświetlić zawartość dwóch zmiennych w jednej linii można posłużyć się instrukcją: System.out.print(zmienna); Przykładowo: int zawodnik = 1; double czas = 33; System.out.print( Zawodnik nr ); System.out.print(zawodnik); System.out.print( miał czas ); System.out.println(czas); LUB użyć operatora łączenia + System.out.println( Zawodnik nr + zawodnik + miał czas + czas);

129 Wszystkie sekwencje znaków specjalnych przedstawionych przy okazji omówienia typu char działają również na łańcuchach znaków. \n nowa linia \t tabulacja \b backspace \r powrót karetki \ cudzysłów \ znak apostrofu \\ - lewy ukośnik (ang. backslash) Aby wyświetlić tekst w 3 liniach wykorzystujemy sekwencję \n: System.out.println( To\njest teskt\nw 3 liniach );

130 boolean hasnext() - zwraca wartość True jeśli następna wartość dowolnego typu jest dostępny do odczytu. string next() - zwraca odczytaną następną wartość dowolnego typu. boolean hasnextint() - zwraca wartość True jeśli następna wartość jest typu Integer. int nextint() - zwraca następną odczytaną wartość typu int. boolean hasnextdouble() - zwraca wartość True jeśli następna wartość jest typu Double. double nextdouble() - zwraca następną odczytaną wartość typu Double.

131 Ryzykowne operacje zawiera się w blokach try Gdy coś złego się stanie program wygeneruje wyjątek Ów wyjątek jest łapany (stąd catch ) i może zostać obsłużony Dzięki temu program rzadziej się wysypuje Blok finally wykona się zawsze, niezależnie od błędów Literatura:

132

133

134 1. Pamiętaj, że buforowane wyjście należy czyścić, a pliki zamykać! 2. Klasa PrintWriter, jak również wszystkie inne poznane, mają wiele użytecznych metod, warto je poznać. 3. Za pomocą klasy File możesz zmieniać strukturę katalogów: tworzyć, kasować, odczytywać. 4. FileReader może bezpośrednio odczytywać plik, ale robi to bardzo wolno. 5. Parsowanie pliku tekstowego jest zadaniem wymagającym wiedzy o tym jak on jest zbudowany.

135 Obiekt C Obiekt A Obiekt B Obiekt D

136

137

138 Załóżmy, że mamy napisać program o następującej specyfikacji: 1. Program wyświetla kwadrat, okrąg i trójkąt. 2. Gdy użytkownik kliknie na jakiś kształt tenże zaczyna świecić na niebiesko. 3. Jednocześnie odgrywana jest muzyczka w.mp3, specyficzna do każdego z kształtów.

139

140 Kwadrat zmieńkolor() { // tu będzie kod do zmiany koloru } Trójkąt odtwórzdźwięk() zmieńkolor() { { /* odegraj dźwięk*/ // tu będzie kod do zmiany Okrąg } koloru } zmieńkolor() { odtwórzdźwięk() // { tu będzie kod do zmiany /* odegraj dźwięk*/ koloru } } Proceduralnie Obiektowo odtwórzdźwięk() { /* odegraj dźwięk*/ }

141 Dodajemy nowy kształt: Dodamy nowy kształt, ale tenże będzie odgrywał muzyczkę.wav

142 Zmieniamy przetestowany już kod i być może coś się zepsuje Proceduralnie Kwadrat zmieńkolor() { // tu będzie kod do zmiany koloru } odtwórzdźwięk() { /* odegraj dźwięk mp3*/ } Okrąg zmieńkolor() { // tu będzie kod do zmiany koloru } odtwórzdźwięk() { /* odegraj dźwięk mp3*/ } Obiektowo Trójkąt zmieńkolor() { // tu będzie kod do zmiany koloru } odtwórzdźwięk() { /* odegraj dźwięk mp3*/ } Dziwnokształtny zmieńkolor() { // tu będzie kod do zmiany koloru } odtwórzdźwięk() { /* odegraj plik.wav*/ }

143 Kształt ma mieć inny kolor po kliknięciu: A do tego kolor ten ma być zmienny, podawany w parametrze i do tego gradientowy

144

145 Kwadrat zmieńkolor() { // tu będzie kod do zmiany koloru } odtwórzdźwięk() { /* odegraj dźwięk mp3*/ } Okrąg zmieńkolor() { // tu będzie kod do zmiany koloru } Trójkąt zmieńkolor() { // tu będzie kod do zmiany koloru } odtwórzdźwięk() { /* odegraj dźwięk mp3*/ } Dziwnokształtny kolor1; kolor2; Proceduralnie Zmieniamy przetestowany kod Kolejne if-y odtwórzdźwięk() { /* odegraj dźwięk mp3*/ } Obiektowo } zmieńkolor() { // tu będzie kod do zmiany koloru z gradientem odtwórzdźwięk() { /* odegraj plik.wav*/ }

146 Kwadrat Okrąg Trójkąt Dziwnokształtny zmieńkolor() { // tu będzie kod do zmiany koloru } odtwórzdźwięk() { /* odegraj dźwięk mp3*/ } zmieńkolor() { // tu będzie kod do zmiany koloru } odtwórzdźwięk() { /* odegraj dźwięk mp3*/ } zmieńkolor() { // tu będzie kod do zmiany koloru } odtwórzdźwięk() { /* odegraj dźwięk mp3*/ } kolor1; kolor2; zmieńkolor() { // tu będzie kod do zmiany koloru z gradientem } odtwórzdźwięk() { /* odegraj plik.wav*/ }

147 Kwadrat Okrąg Trójkąt Dziwnokształtny Kształt zmieńkolor() { // tu będzie kod do zmiany koloru } odtwórzdźwięk() { /* odegraj dźwięk*/ }

148 Kwadrat Okrąg Trójkąt Dziwnokształtny kolor1; kolor2; zmieńkolor() { // tu będzie kod do zmiany koloru z gradientem } odtwórzdźwięk() { /* odegraj plik.wav*/ } Kształt zmieńkolor() { // tu będzie kod do zmiany koloru } odtwórzdźwięk() { /* odegraj dźwięk*/ }

149 Nazwa klasy To co obiekt wie To co obiekt potrafi Klasa będzie swoistym projektem obiektów tworzonych na jej podstawie. To co obiekt wie = atrybuty To co obiekt potrafi = metody

150 Pies To co obiekt wie Telewizor To co obiekt wie To co obiekt potrafi To co obiekt potrafi

151

152

153

154 Programowanie zorientowane obiektowo pozwala na dodawanie funkcjonalności bez zmiany uprzednio przetestowanego kodu. Wszystko w Javie jest obiektem (znajduje się wewnątrz klasy) Klasa opisuje sposób na stworzenie obiektu danego typu. Taki schemat. Obiekt potrafi robić różne rzeczy. Niekoniecznie interesuje nas w jaki sposób to robi. Obiekt wie o niektórych rzeczach i robi specyficzne rzeczy Rzeczy które obiekt wie o sobie nazywane atrybutami. Reprezentują stan obiektu. Rzeczy które obiekt robi nazywane są metodami. Reprezentują zachowanie obiektu. Gdy tworzysz klasę, zwykle powinieneś też stworzyć oddzielną klasę do testowania w której stworzysz obiekty poprzedniej klasy. Klasa może dziedziczyć atrybuty i metody z superklas (bardziej ogólnych klas) Programy w Javie to po prostu gadanie obiektów do siebie

155

156 public dostęp do atrybutu z każdego miejsca Private dostęp do atrybutu tylko z wnętrza klasy bazowej/obiektu bazowego Protected dostęp do atrybutu tylko z wnętrza klasy bazowej lub niższej w hierarchii dziedziczenia

157 W Javie wszystko co napiszemy dziedziczy po klasie Object. I tam jest taka fajna metoda tostring(). Ale nie działa ona tak jak chcemy No to nic trudnego! Java dba, abyśmy się nie pomylili

158

159 No to co to ten static?

160

161

162

163 Pakiety z hierarchii java i javax (dodatki wprowadzone w późniejszych wersjach) należą do podstawowego zestawu klas rozprowadzanych jako Java. Zestaw ten jest dostępny w dwóch wersjach: JRE (Java Runtime Environment) udostępnia kod bajtowy wszystkich klas standardowych i wirtualną maszynę do ich uruchamiania, zaś JDK (Java Development Kit) dodatkowo udostępnia źródła tych klas oraz dodatkowe narzędzia takie jak kompilator, paker czy debuger. Podział ten wprowadzono dlatego, że użytkownik Javy do uruchamiania programów potrzebuje tylko JRE, natomiast do programowania działających aplikacji potrzeba już JDK.

164 Specyfikatory dostępu pełnią rolę w Javie bardzo ważną, pozwalają bowiem na określenie swoistego rodzaju praw dostępu do składowych klas, a także do samych klas. Publiczny Prywatny Chroniony pakietowy

165 Domyślnie, jeżeli przed składową klasy nie występuje żadne określenie, dostęp jest pakietowy, co oznacza, że dostęp do tej składowej mają wszystkie klasy pakietu, w którym się one znajdują. Dostęp publiczny jest określany słowem public, dostęp prywatny słowem private a chroniony słowem protected.

166 Pakiet JDK (konsola) NetBeans Eclipse

167

168

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

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

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

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

JAVA. Tomasz Grzywacz. t.grzywacz@iel.waw.pl

JAVA. Tomasz Grzywacz. t.grzywacz@iel.waw.pl JAVA Tomasz Grzywacz t.grzywacz@iel.waw.pl Literatura B. Eckel "Thinking in Java", Helion, 2001 Laurence Vanhelsuwe [i in.], Programujemy w Java, t.1-2, EXIT, Warszawa 1997 Kris Jamsa, Java, MIKOM, Warszawa

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

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

Klasy: String, Random, Math. Korzystanie z dokumentacji.

Klasy: String, Random, Math. Korzystanie z dokumentacji. Klasy: String, Random, Math. Korzystanie z dokumentacji. Ćwiczenia 3 7. Napisz program wyliczający największy wspólny dzielnik dwóch liczb całkowitych podanych przez użytkownika algorytmem Euklidesa. 8.

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

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

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

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

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

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

Ć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

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

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

Klasy i obiekty. Programowanie zorientowane obiektowo. Case study: Filmoteka Case study: Klasa Akademik

Klasy i obiekty. Programowanie zorientowane obiektowo. Case study: Filmoteka Case study: Klasa Akademik Klasy i obiekty. Programowanie zorientowane obiektowo. Case study: Filmoteka Case study: Klasa Akademik Dlaczego obiekty Załóżmy, że mamy napisać program o następującej specyfikacji: 1. Program wyświetla

Bardziej szczegółowo

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

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

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

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

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

Bardziej szczegółowo

JDK można pobrać ze strony http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html

JDK można pobrać ze strony http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html Program napisany w języku Java, w wyniku kompilacji da kod bajtowy, plik z rozszerzeniem.class. Nie jest to plik wykonywalny samodzielnie w systemie operacyjnym tak jak pliki.exe. Uruchomienie gotowego

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

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

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

Konstrukcje warunkowe Pętle

Konstrukcje warunkowe Pętle * Konstrukcje warunkowe Pętle *Instrukcja if sposób na sprawdzanie warunków *Konstrukcja: if(warunek) else { instrukcje gdy warunek spełniony} {instrukcje gdy warunek NIE spełniony} * 1. Wylicz całkowity

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 Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

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

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

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2] 1. CEL ĆWICZENIA Celem ćwiczenia jest przedstawienie możliwości wykorzystania języka JavaScript do tworzenia interaktywnych aplikacji działających po stronie klienta. 2. MATERIAŁ NAUCZANIA JavaScript tak

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

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

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

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem Moduł 1 1. Wprowadzenie do języka Python Python jest dynamicznym językiem interpretowanym. Interpretowany tzn. że kod, który napiszemy możemy natychmiast wykonać bez potrzeby tłumaczenia kodu programistycznego

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

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

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

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 2 Jacek Rumiński 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

Bardziej szczegółowo

Wstęp do programowania w języku Java

Wstęp do programowania w języku Java Programowanie obiektowe Wstęp do programowania w języku Java Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Wstęp do programowania

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

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

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

Ćwiczenie: JavaScript Cookies (3x45 minut)

Ćwiczenie: JavaScript Cookies (3x45 minut) Ćwiczenie: JavaScript Cookies (3x45 minut) Cookies niewielkie porcje danych tekstowych, które mogą być przesyłane między serwerem a przeglądarką. Przeglądarka przechowuje te dane przez określony czas.

Bardziej szczegółowo

Strumienie, pliki. Sortowanie. Wyjątki.

Strumienie, pliki. Sortowanie. Wyjątki. Strumienie, pliki. Sortowanie. Wyjątki. Operacje I/O w Javie Serializacja Zapisuje całą klasę Plik binarny Delimiter nieokreślony Nie da się podglądać Pliki tekstowe Zapisuje wybrane informacje Plik tekstowy

Bardziej szczegółowo

Strumienie, pliki. Sortowanie. Wyjątki.

Strumienie, pliki. Sortowanie. Wyjątki. Strumienie, pliki. Sortowanie. Wyjątki. Serializacja Zapisuje całą klasę Plik binarny Delimiter nieokreślony Nie da się podglądać Pliki tekstowe Zapisuje wybrane informacje Plik tekstowy Delimiter ustawiamy

Bardziej szczegółowo

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

Podstawy JavaScript ćwiczenia

Podstawy JavaScript ćwiczenia Podstawy JavaScript ćwiczenia Kontekst:

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 3 - Funkcje, pliki i klasy

Programowanie 3 - Funkcje, pliki i klasy Instytut Informatyki Uniwersytetu Śląskiego Laborki funkcja; parametry funkcji; typ zwracany; typ void; funkcje bez parametrów; napis.length() - jako przykład funkcji. Zadania funkcja dodająca dwie liczby;

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

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

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Metody numeryczne Laboratorium 2

Metody numeryczne Laboratorium 2 Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania

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

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

Algorytmika i Programowanie VBA 1 - podstawy

Algorytmika i Programowanie VBA 1 - podstawy Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy

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

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

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wyjątki Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wydaje się, że żaden użytkownik oprogramowania nie lubi, kiedy stosowany program nagle zawiesza się,

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16 M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript

Bardziej szczegółowo

Wstęp do programowania w języku Java

Wstęp do programowania w języku Java Programowanie obiektowe Wstęp do programowania w języku Java Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Wstęp do programowania

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

JAVAScript w dokumentach HTML (1)

JAVAScript w dokumentach HTML (1) JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript mogą być zagnieżdżane w dokumentach HTML. Instrukcje JavaScript

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

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można

Bardziej szczegółowo

Wstęp do programowania w języku Java

Wstęp do programowania w języku Java Programowanie obiektowe Wstęp do programowania w języku Java Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Wstęp do programowania

Bardziej szczegółowo

JAVAScript w dokumentach HTML - przypomnienie

JAVAScript w dokumentach HTML - przypomnienie Programowanie obiektowe ćw.1 JAVAScript w dokumentach HTML - przypomnienie JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w

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

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

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

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

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Język PHP Paweł Witkowski Wydział Matematyki, Informatyki i Mechaniki Jesień 2011 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki) BDiUS w. VIII Jesień 2011 1 /

Bardziej szczegółowo

Pakiety i interfejsy. Tomasz Borzyszkowski

Pakiety i interfejsy. Tomasz Borzyszkowski Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji

Bardziej szczegółowo

Java Podstawy. Michał Bereta www.michalbereta.pl mbereta@pk.edu.pl

Java Podstawy. Michał Bereta www.michalbereta.pl mbereta@pk.edu.pl 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

do instrukcja while (wyrażenie);

do instrukcja while (wyrażenie); Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

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

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane aplikacje WWW - laboratorium Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w

Bardziej szczegółowo

Javadoc. Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka

Javadoc. Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka Javadoc Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka Wprowadzenie do Javadoc Treść prezentacji: http://students.mimuw.edu.pl/~as219669/javadoc.pdf Zadania: http://students.mimuw.edu.pl/~as219669/zadanie.rar

Bardziej szczegółowo

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu

Bardziej szczegółowo

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu Informatyka, Ćwiczenie 1 1. Uruchomienie Microsoft Visual C++ I. ZałoŜenie nowego projektu Wybieramy menu: File>New>Files jak na rys. poniŝej Zapisujemy projekt pod nazwą LAN, w katalogu d:\temp\lab typu

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

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

Należy ściągnąć oprogramowanie Apache na platformę

Należy ściągnąć oprogramowanie Apache na platformę Programowanie Internetowe Język PHP - wprowadzenie 1. Instalacja Oracle+Apache+PHP Instalacja Apache, PHP, Oracle Programy i ich lokalizacja Oracle Database 10g Express Edition10.2 http://www.oracle.com/technology/products/database/

Bardziej szczegółowo

Java. Æwiczenia praktyczne. Wydanie II

Java. Æwiczenia praktyczne. Wydanie II PRZYK ADOWY ROZDZIA Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl IDZ DO KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE

Bardziej szczegółowo

Programowanie Obiektowe GUI

Programowanie Obiektowe GUI Programowanie Obiektowe GUI Swing Celem ćwiczenia jest ilustracja wizualnego tworzenia graficznego interfejsu użytkownika opartego o bibliotekę Swing w środowisku NetBeans. Ponadto, ćwiczenie ma na celu

Bardziej szczegółowo

Właściwości i metody obiektu Comment Właściwości

Właściwości i metody obiektu Comment Właściwości Właściwości i metody obiektu Comment Właściwości Właściwość Czy można zmieniać Opis Application nie Zwraca nazwę aplikacji, która utworzyła komentarz Author nie Zwraca nazwę osoby, która utworzyła komentarz

Bardziej szczegółowo

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pętle for, while, do... while, foreach Jeszcze o operatorach... Skrócone operatory arytmetyczne przykład x +=

Bardziej szczegółowo

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Jak napisać program obliczający pola powierzchni różnych figur płaskich? Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy

Bardziej szczegółowo

Smarty PHP. Leksykon kieszonkowy

Smarty PHP. Leksykon kieszonkowy IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK

Bardziej szczegółowo

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

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

Wstęp do Programowania, laboratorium 02

Wstęp do Programowania, laboratorium 02 Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite

Bardziej szczegółowo

Proste programy w C++ zadania

Proste programy w C++ zadania Proste programy w C++ zadania Zbiór zadao do samodzielnego rozwiązania stanowiący powtórzenie materiału. Podstawy C++ Budowa programu w C++ Dyrektywy preprocesora Usunięcie dublujących się nazw Częśd główna

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

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

Język JAVA podstawy. wykład 1, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 3 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

Bardziej szczegółowo

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

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,

Bardziej szczegółowo