1. Wprowadzenie do języka Java

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

Download "1. Wprowadzenie do języka Java"

Transkrypt

1 1. Języki Java, C# 2. Program w Javie (aplikacja, aplet) 3. Typy danych, zmienne i stałe 4. Operatory 5. Instrukcje sterujące 6. Obsługa wyjątków 1.1 Języki Java i C# Java i C# to dalszy "etap rozwoju" języka C++. Są to języki w pełni obiektowe, zasadniczo o interpretowanym kodzie, ze zintegrowaną biblioteką klas dla programowania zdarzeniowego, wielowątkowego, tworzenia GUI, obiektowej komunikacji rozproszonej, i innych. Główny cel powstania: uniwersalny (niezaleŝny od sprzętu) język programowania tzw. systemów "wbudowanych" (ang. embedded systems ) (do róŝnorodnych zastosowań - sterowania robotem, pralką, telefonia komórkowa, itd). Uniwersalność kodu uzyskano dzięki stworzeniu zaleŝnej od sprzętu (pośredniej) warstwy oprogramowania ( abstrakcyjnej maszyny ) (ang. Java Virtual Machine, C# MSIL). Ta "maszyna" interpretuje kod pośredni programu Javy wzgl. C#. Java szybko znalazła zastosowanie w programowaniu internetowym. RównieŜ C#.NET posiada juŝ tę funkcjonalność. W. Kasprzak: Programowanie zdarzeniowe 1-2

2 Zabezpieczenia zawarte w Javie poprawiły bezpieczeństwo dokumentów w Internecie. Zasadnicze cechy języka Java wzgl. C#: obiektowość - język zaprojektowany od początku jako obiektowy, notacja podobna do C/C++, obsługa sytuacji wyjątkowych - rozbudowana kontrola w czasie kompilacji i wykonania, pełnoprawny typ referencyjny - brak wskaźników, bardzo ograniczona niejawna konwersja typów danych; przenaszalność język pośredni - ścisła definicja wbudowanych typów danych, obiektowe programowanie wielowątkowe, wbudowane narzędzia programowania zdarzeniowego - z biblioteką graficzną dla GUI, program sterowany zdarzeniami. W. Kasprzak: Programowanie zdarzeniowe Program w Javie Bajtkod Javy - to instrukcje dla maszyny wirtualnej (JavaVM). W. Kasprzak: Programowanie zdarzeniowe 1-4

3 Platforma programowa Javy: Wirtualna maszyna Javy (Java VM) Interfejs programisty uŝytkowego (Java API) Java API: zbiór elementów programowych o szerokiej funkcjonalności (np. komponenty GUI, JDBC); pogrupowanych w biblioteki klas i interfejsów (tzw. pakiety). Java API i Java VM separują program od sprzętu: W. Kasprzak: Programowanie zdarzeniowe 1-5 KaŜda pełna implementacja platformy Java posiada: Język: obiekty, string, typy liczbowe, wątki, wejście I wyjście, struktury danych, systemowe własności, data i czas, itd. Aplety: konwencje stosowane przez aplety; API dla grafiki 2W i 3W, animacji, mowy, telefonii, itp. Sieciowe: URL, TCP (Transmission Control Protocol), UDP (User Datagram Protocol) gniazdka, adresy IP (Internet Protocol). Internacjonalizacja: automatyczne dostosowanie do regionu świata; Zabezpieczenia: podpis elektroniczny, klucze publiczne i prywatne, kontrola dostępu, certyfikaty. Komponenty programowe: JavaBeans; Serializacja i komunikacja obiektów: umoŝliwia trwałość obiektów i komunikację poprzez mechanizm Remote Method Invocation (RMI). Komunikacja z bazami danych - Java Database Connectivity (JDBC): W. Kasprzak: Programowanie zdarzeniowe 1-6

4 Środowisko programisty np. Sun J2SE 5.0: zawiera JRE ( Java 2 Runtime Environment ) (maszyna wirtualna Javy, główna hierarchia klas i pliki pomocnicze); i narzędzia do tworzenia programów kompilatory, debagery; W. Kasprzak: Programowanie zdarzeniowe 1-7 Kompilator w locie - Just-in-Time (JIT) - tłumaczy kod pośredni Javy na kod maszynowy podczas wykonania kodu. W. Kasprzak: Programowanie zdarzeniowe 1-8

5 Przykład 1.1 Aplikacja "HelloWorld": /** * Wyświetla napis "Hello World!" na standardowym wyjściu. */ public class HelloWorldApp { public static void main(string[ ] args) { System.out.println("Hello World!"); // Komentarze /** komentarz */ - ten komentarz wykorzysta javadoc tworząc dokumentację // komentarz - komentarz do końca wiersza /* komentarz */ komentarz przez wiele wierszy Metoda main - jest to punkt wejścia do programu Javy. W. Kasprzak: Programowanie zdarzeniowe 1-9 Wywołanie kompilatora: javac HelloWorldApp.java Kompilator generuje plik z kodem pośrednim: HelloWorldApp.class Wykonanie aplikacji: java HelloWorldApp Przykład 1.2. Aplet "Hello World" import java.applet.*; import java.awt.*; /** Klasa HelloWorld implementuje aplet który * wyświetla napis "Hello World!". */ public class HelloWorld extends Applet { public void paint(graphics g) { g.drawstring("hello world!", 50, 25); Utworzymy podany kod w pliku HelloWorld.java. W. Kasprzak: Programowanie zdarzeniowe 1-10

6 Potrzebny nam jest odpowiedni plik HTML o nazwie Hello.html: <HTML> <HEAD><TITLE> Pierwszy Program</TITLE> </HEAD> <BODY> <APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25> </APPLET> </BODY> </HTML> Kompilacja pliku źródłowego: javac HelloWorld.java Uruchamiamy aplet wywołując przeglądarkę lub appletviewer : appletviewer Hello.html Instrukcja import (dołącz klasy lub pakiety): import java.applet.applet; // importuj klasę import java.awt.graphics; // importuj klasę public class HelloWorld extends Applet { public void paint(graphics g) { g.drawstring("hello world!", 50, 25); W. Kasprzak: Programowanie zdarzeniowe 1-11 Alternatywna postać bez instrukcji "import": public class HelloWorld extends java.applet.applet { public void paint (java.awt.graphics g) { g.drawstring("hello world!", 50, 25); Dzięki "import" moŝemy odwoływać się do klas "Applet" i "Graphics" bez przedrostków (podając ich proste nazwy). java.applet i java.awt to pakiety zawarte w Java API; java.applet zawiera klasy istotne dla działania apletów; java.awt - klasy z "Abstract Window Toolkit" (AWT) dla tworzenia GUI. Klasa System zawarta jest w pakiecie java.lang, automatycznie importowanym do kaŝdego programu w Java. W. Kasprzak: Programowanie zdarzeniowe 1-12

7 Importowanie pakietu: import java.applet.*; // importuj pakiet import java.awt.*; // importuj pakiet public class HelloWorld extends Applet { public void paint(graphics g) { g.drawstring("hello world!", 50, 25); - KaŜda klasa naleŝy do jakiegoś pakietu. Jeśli plik z definicją klasy nie deklaruje na górze do którego pakietu klasa naleŝy, to naleŝy ona do "domyślnego" pakietu. - Klasy naleŝące do tego samego pakietu mogą odwoływać się do siebie bez konieczności stosowania nazw kwalifikowanych (bez przedrostka). W. Kasprzak: Programowanie zdarzeniowe 1-13 Definicja klasy pochodnej od Applet import java.applet.applet; import java.awt.graphics; public class HelloWorld extends Applet { // Początek definicji klasy public void paint(graphics g) { g.drawstring("hello world!", 50, 25); extends wskazuje, Ŝe HelloWorld jest klasą pochodną klasy Applet. Implementacja metod klasy Applet import java.applet.applet; import java.awt.graphics; public class HelloWorld extends Applet { public void paint(graphics g) { // Implementacja metody paint g.drawstring("hello world!", 50, 25); W. Kasprzak: Programowanie zdarzeniowe 1-14

8 KaŜdy aplet musi implementować jedną lub więcej z metod: init, start, paint. Poza tym aplety mogą implementować metody: stop, destroy (przeznaczone do zakończenia współpracy strony z apletem), a takŝe szereg innych metod. Obiekt klasy Graphics reprezentuje kontekst ekranu dla pracy metody paint naszego apletu: pierwszy argument podaje tekst do wyświetlenia, argumenty (x,y) podają pozycję lewego dolnego rogu tekstu na ekranie w układzie współrzędnych kontekstu graficznego g. W. Kasprzak: Programowanie zdarzeniowe 1-15 Wywołanie apletu <HTML> <HEAD> <TITLE> Prosty program </TITLE> </HEAD> <BODY> <APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25> </APPLET> </BODY> </HTML> Blok <APPLET> podaje nazwę apletu HelloWorld.class, związuje z nim kontekst graficzny - jego pozycję i rozmiary na ekranie. Przeglądarka przeszukuje katalog z plikiem.html, załadowuje plik z klasą apletu przez sieć na własny komputer i tworzy instancję klasy. Atrybuty WIDTH i HEIGHT podają szerokość i wysokość w pikselach obszaru graficznego związanego z apletem na ekranie. W. Kasprzak: Programowanie zdarzeniowe 1-16

9 1.3 Typy danych, zmienne i stałe Typy danych w Javie dzielimy na: typy wbudowane i typy tworzone (definiowane) przez programistę klasy, typy przeliczeniowe ("enum"). Wbudowane typy danych: (1) Typy dla wartości - ("value-type") - typy proste: zmienne tych typów posiadają wartości tych samych typów. (2) Typy referencyjne: zmienne tych typów referują tablice lub obiekty klas; wartością zmiennej jest odniesienie do tablicy lub obiektu. W. Kasprzak: Programowanie zdarzeniowe 1-17 Wbudowane typy proste: Nazwa Opis Format (całkowite) byte Byte integer 8-bitowy kod U2 short Short integer 16-bitowy kod U2 int Integer 32-bitowy kod U2 long Long integer 64-bitowy kod U2 (zmiennoprzecinkowe) float Single-precision 32-bit IEEE 754 double Double-precision 64-bit IEEE 754 (inne) char Pojedynczy znak 16-bitowy znak Unikodu boolean Wartość logiczna true, false W. Kasprzak: Programowanie zdarzeniowe 1-18

10 Zmienna to jednostka danych przechowująca stan (wielkość) określonego typu, ma przyporządkowane miejsce pamięci i opatrzona jest nazwą (identyfikatorem zmiennej). Ze zmienną związane są: Typ (wyznacza rodzaj danych i operacji na nich) Nazwa (sekwencja znaków Unikodu), Wartość (aktualny stan obiektu); Zasięg definicji (zakres widoczności) (zakres programu w którym odwołujemy się do zmiennej poprzez jej prostą nazwę); Czas Ŝycia. Aby nadać zmiennej typ i nazwę wykonujemy instrukcję definicji: typ nazwa Pierwszą wartość zmiennej nadaje się podczas definicji połączonej z inicjalizacją lub w wyniku instrukcji przypisania. Wartości mogą być zmienianie w wyniku instrukcji przypisania. W. Kasprzak: Programowanie zdarzeniowe 1-19 Przykład 1.3. Definicje 8 zmiennych. public class MaxVariablesDemo { public static void main (String args[]) { // typy całkowite byte largestbyte = Byte.MAX_VALUE; short largestshort = Short.MAX_VALUE; int largestinteger = Integer.MAX_VALUE; long largestlong = Long.MAX_VALUE; // typy zmienno-przecinkowe (podzakres liczb rzeczywistych) float largestfloat = Float.MAX_VALUE; double largestdouble = Double.MAX_VALUE; // inne typy char achar = 'S'; boolean aboolean = true; //... W. Kasprzak: Programowanie zdarzeniowe 1-20

11 Uwagi: MAX_VALUE to stałe zdefiniowane w osobnych klasach liczb. Największa liczba typu byte to 127 Największa liczba typu short to Największa liczba typu integer to Największa liczba typu long to Największa liczba typu float to e+38 Największa liczba typu double to e+308 W. Kasprzak: Programowanie zdarzeniowe 1-21 Stałe (literały, stałe symboliczne) : - przeznaczone do inicjalizacji zmiennych; - kaŝda stała posiada typ i wartość. Literał (stała bez nazwy) - typ danych wynika niejawnie ze sposobu zapisu. Przykład 1.4. Przykłady literałów i ich typów: Literal Typ danych 178 int 8864L long double D double F float 26.77e3 double ' c ' char true boolean false boolean W. Kasprzak: Programowanie zdarzeniowe 1-22

12 Stałe symboliczne - to stałe opatrzone nazwą i jawnym typem. Definicja stałej symbolicznej: final typ NAZWASTALEJ = wartość; Np. final float PI = ; final int MAXSIZE = 40000; final PersonalDB DIAPERS = new PersonalDB(); Konwencja: w nazwach stałych symbolicznych stosujemy duŝe litery. Lokalną stałą symboliczną moŝna zainicjować później - najpierw sama deklaracja a później przypisanie pierwszej (i ostatecznej) wartości. Np. final int STAŁA_CZYSTA; // Deklaracja tzw. "czystej" stałej... STAŁA_CZYSTA = 0; // Inicjalizacja czystej stałej W. Kasprzak: Programowanie zdarzeniowe 1-23 Referencja to dana, której wartością jest adres. Typy referencyjne: tablice, klasy, interfejsy. Zmienna referencyjna odnosi się do miejsca pamięci, w którym pomieszczono daną lub wektor danych reprezentowanych tą zmienną. Nie ma typu wskaźnikowego, tzn. jawnego korzystania z adresów. Prosta nazwa zmiennej składa się z pojedynczego identyfikatora. Kwalifikowana nazwa zmiennej zawiera więcej niŝ jeden identyfikator. Identyfikator (nazwa) zmiennej: 1. Nieograniczony ciąg znaków Unikodu rozpoczynający się od litery; 2. Nie będący słowem kluczowym ani teŝ: true, false, null. 3. Unikalny w swoim zasięgu interpretacji nazw. W. Kasprzak: Programowanie zdarzeniowe 1-24

13 Konwencja: - nazwa zmiennej rozpoczyna się małą literą, ale nazwa klasy - duŝą; - drugie słowo w nazwie rozpoczyna się juŝ duŝą literą, np. isvisible; - znak podkreślenia (_) jest wprawdzie poprawny w nazwie, ale powinien być uŝywany jedynie w nazwach stałych (tam są wyłącznie duŝe litery). Zasięg zmiennej - obszar programu, w którym do zmiennej odwoływać się moŝemy poprzez jej nazwę - wyznacza teŝ czas Ŝycia zmiennej. Inicjalizacja zmiennych wg kategorii ich zasięgów: Lokalna zmienna i składowa klasy mogą być inicjowane w miejscu deklaracji. Parametery metod i obsługi wyjątków są inicjowane w procesie wywołania tych metod wzgl. procedur obsługi wyjątków. W. Kasprzak: Programowanie zdarzeniowe 1-25 Kategorie zasięgu (zakresu interpretacji) zmiennej: Zasięgi: składowej klasy parametru metody, lokalnej zmiennej parametru obsługi wyjątków W. Kasprzak: Programowanie zdarzeniowe 1-26

14 1.4 Operatory Operator - operacja (funkcja) podana w notacji operatorowej - z 1, 2 lub 3 argumentami (operandami). Jedyny operator 3-arg. to:?: 1-argumentowe operatory mogą być przedrostkowe i przyrostkowe: operator operand // Notacja przedrostkowa operand operator // Notacja przyrostkowa 2-argumentowe operatory występują pomiędzy swoimi operandami. operand1 operator operand2 // 3-argumentowy operator: operand1? operand2 : operand3 // Operatory arytmetyczne Za wyjątkiem operatora + uŝywanego teŝ do łączenia napisów operatory arytmetyczne są przeznaczone tylko dla liczbowych danych. W. Kasprzak: Programowanie zdarzeniowe 1-27 Operator WyraŜenie Opis + op1 + op2 dodawanie op1 i op2 - op1 - op2 odejmowanie op2 od op1 * op1 * op2 mnoŝenie op1 przez op2 / op1 / op2 dzielenie op1 przez op2 % op1 % op2 reszta z dzielenia op1 przez op2 Operator zwraca wynik określonego typu. Gdy typy operandów są róŝne konwersja niejawne (poszerzanie typu) podczas obliczania wyraŝeń: Typ wyniku Typy argumentów: long nie są typu float ani double; co najmniej jeden jest typu long int nie są typu float ani double; Ŝaden nie jest typu long double co najmniej jeden jest typu double float co najmniej jeden jest typu float; Ŝaden nie jest double W. Kasprzak: Programowanie zdarzeniowe 1-28

15 1-argumentowe wersje operatorów + i - : Operator WyraŜenie Opis + +op Poszerza op do int jeśli op jest typu byte,short,char. - -op Arytmetyczna negacja op. Przed- i przyrostkowe operatory ++ i --. przedrostkowe ++op, --op : zwróć wartośc operanda po operacji; przyrostkowe op++, op--: zwróć wartość operanda sprzed operacji. Operatory porównań (relacji) Operator WyraŜenie Wynik jest "true" gdy: > op1 > op2 op1 większe niŝ op2 >= op1 >= op2 op1 większe lub równe op2 < op1 < op2 op1 mniejsze niŝ op2 <= op1 <= op2 op1 mniejsze lub równe op2 == op1 == op2 op1 i op2 są równel!= op1!= op2 op1 i op2 są nierówne W. Kasprzak: Programowanie zdarzeniowe 1-29 Operatory logiczne (dla argumentów typu boolean) Operator WyraŜenie Wynik jest "true" gdy: && op1 && op2 op1 i op2 są prawdziwe op1 op2 op1 lub op2 jest prawdziwe!! op op jest fałszywe & op1 & op2 op1 i op2 są prawdziwe op1 op2 op1 lub op2 jest prawdziwe ^ op1 ^ op2 op1 i op2 są róŝne Uwaga: 0 <= index && index < NUM_ENTRIES Gdy pierwszy operand zostanie obliczony jako false, drugi operand nie będzie juŝ interpretowany, gdyŝ wynik i tak będzie false. W. Kasprzak: Programowanie zdarzeniowe 1-30

16 Operatory bitowe przesunięć Operator WyraŜenie Operacja >> op1 >> op2 przesuń op1 w prawo o op2 bitów (zachowuje znak liczby) << op1 << op2 przesuń op1 w lewo o op2 bitów >>> op1 >>> op2 przesuń op1 w prawo o op2 bitów z wypełnieniem zerami (liczba bez znaku) Operatory bitowe logiczne Operator WyraŜenie Operacja & op1 & op2 bitowe AND op1 op2 bitowe OR ^ op1 ^ op2 bitowe XOR ~ ~op2 bitowa negacja W. Kasprzak: Programowanie zdarzeniowe 1-31 Operatory przypisania Podstawowy = : op1 = op2 Rozszerzone operatory przypisania: Operator WyraŜenie RównowaŜne z: += op1 += op2 op1 = op1 + op2 -= op1 -= op2 op1 = op1 - op2 *= op1 *= op2 op1 = op1 * op2 /= op1 /= op2 op1 = op1 / op2 %= op1 %= op2 op1 = op1 % op2 &= op1 &= op2 op1 = op1 & op2 = op1 = op2 op1 = op1 op2 ^= op1 ^= op2 op1 = op1 ^ op2 <<= op1 <<= op2 op1 = op1 << op2 >>= op1 >>= op2 op1 = op1 >> op2 >>>= op1 >>>= op2 op1 = op1 >>> op2 W. Kasprzak: Programowanie zdarzeniowe 1-32

17 Inne operatory Operator WyraŜenie Opis?: op1? op2 : op3 gdy op1 jest "true" zwraca op2, w przeciwnym razie zwraca op3 [] typ [] Deklaracja tablicy elementów typu typ. [] typ[ op1 ] Utworzenie tablicy o liczbie op1 elementów typu typ operatorem new. [] op1[ op2 ] Pobranie elementu o indeksie op2 w tablicy op1.. op1.op2 Odwołanie do składowej op2 z op1. () op1(param) Deklaracja lub wywołanie metody op1 z listą parametrów (argumentów) param. (typ) (typ) op1 Konwersja wyraŝenia op1 do typu typ. new new op1 Utworzenie obiektu lub tablicy. instanceof op1 instanceof Zwraca "true" gdy obiekt op1 jest op2 instancją klasy op2 W. Kasprzak: Programowanie zdarzeniowe 1-33 Tabela operatorów według priorytetów - im wyŝej połoŝony wiersz tym wyŝszy priorytet: Przyrostkowe operatory []. (param) wyraŝ++ wyraŝ-- 1-arg. operatory ++wyraŝ --wyraŝ +wyraŝ -wyraŝ ~! Konstrukcja, konwersja new (typ)wyraŝ Arytm. multiplikatywne * / % Arytm. addytywne + - Przesunięć < Porównania < > <= >= instanceof Porówn. równościowe ==!= Bitowe AND & Bitowe exclusive OR ^ Bitowe OR Logiczne AND && Logiczne OR Warunkowy? : Przypisania = += -= *= /= %= &= ^= = <<= >>= >>>= W. Kasprzak: Programowanie zdarzeniowe 1-34

18 1.5 Instrukcje sterujące UmoŜliwiają zmianę sekwencyjnego sposobu wykonania programu. Rodzaj instrukcji pętla warunek obsługa wyjątku skok Slowa kluczowe while, do-while, for if-else, switch-case try-catch-finally, throw break, continue, etykieta:, return while (wyraŝenie) { instrukcje // Wykonuj petlę gdy wyraŝenie jest prawdziwe ( true). do { instrukcje while (wyraŝenie); // Sprawdzenie warunku następuje po zakończeniu pętli. W. Kasprzak: Programowanie zdarzeniowe 1-35 for (inicjalizacja; warunek; inkrementacja) { instrukcje // Wszystkie trzy wyraŝenia są opcjonalne: // MoŜe być: for( ; ; ) if (wyraŝenie) { instrukcje W. Kasprzak: Programowanie zdarzeniowe 1-36 if ( flaga == OK) { // akcja "OK." else { // akcja "Cancel" switch (miesiąc) { case 1: System.out.println("Styczeń"); break; //... case 12: System.out.println("Grudzień"); break; default: System.out.println("Błędny miesiąc!"); break;

19 Obsługa sytuacji wyjątkowych try { instrukcje // tu moŝe wystąpić throw catch (typ_wyjątku nazwa) { // obsługa wyjątku danego typu instrukcje finally { // wykonywana zawsze niezaleŝnie od wyjątku instrukcje Instrukcje skoków - Etykietowana instrukcja: etykietainstrukcji: pewnainstrukcja; - Instrukcja break bez etykiety - kończy wykonywanie aktualnej wewnętrznej instrukcji sterującej: switch, for, while, do-while. break; W. Kasprzak: Programowanie zdarzeniowe Instrukcja break z etykietą - kończy wykonywanie zewnętrznego switch, for, while, do-while o podanej etykiecie: break etykietainstrukcji; - Instrukcja continue kończy bieŝącą iterację wewnętrznej pętli : continue; - Instrukcja continue z etykietą kończy bieŝącą iterację zewnętrznej instrukcji pętli o podanej etykiecie: continue etykietainstrukcji; - Instrukcja return - powrót z wykonywanej metody. return wyraŝenie; // Typ wyniku musi odpowiadać deklaracji. return; // W metodzie o wyniku typu void W. Kasprzak: Programowanie zdarzeniowe 1-38

20 1.6 Obsługa sytuacji wyjątkowych Wyjątek - przerwanie normalnego wykonania programu, na skutek jakiegoś błędu lub nadzwyczajnej sytuacji w programie. Np.: błąd działania sprzętu, brak wystarczającej pamięci, brak dostępu do zasobów, itp. Zalety stosowania mechanizmu obsługi sytuacji wyjątkowych. 1. Oddzielenie kodu obsługi błędu od "normalnego kodu" Np. mamy normalny pseudo-kod wykonania: void readfile { otwórz plik; określ rozmiar pliku; alokuj pamięci odpowiednio do rozmiaru pliku; wczytaj plik do pamięci; zamknij plik; Teraz naleŝy uwzględnić moŝliwe błędy programu. Dojdziemy do pewnego pseudo-kodu z wymieszanym "normalnym kodem" i W. Kasprzak: Programowanie zdarzeniowe 1-39 "sprawdzaniem błędów": errorcodetype readfile { errorcode = 0; otwórz plik; if (plikjestotwarty) { określ rozmiar pliku; if (mamrozmiarpliku) { alokuj pamięć o rozmiarze pliku; if (jestwystarczającapamięc) { wczytaj plik do pamięci; if (odczytbłędny) { errorcode = -1; else { errorcode = -2; else { errorcode = -3; zamknij plik; if (plikniezamykasię) { errorcode = -4; else { errorcode = -5; return errorcode; Oryginalny przepływ programu nie jest juŝ widoczny w nowym kodzie. Wykorzystując mechanizm obsługi wyjątków nasz pseudo-kod wyglądać W. Kasprzak: Programowanie zdarzeniowe 1-40

21 będzie duŝo czytelniej: void readfile { try { otwórz plik; określ rozmiar pliku; alokuj pamięci odpowiednio do rozmiaru pliku; wczytaj plik do pamięci; zamknij plik; catch (PlikNieotwarty) { obsłuŝpliknieotwarty; catch (BrakRozmiaru) { obsłuŝbrakrozmiaru; catch (BrakPamięci) { obsłuŝbrakpamięci; catch (OdczytNieudany) { obsłuŝodczytnieudany; catch (PlikNiezamkniety) { obsłuŝplikniezamkniety; 2. MoŜliwość kontrolowanego propagowania błędów przez hierarchię wywołań Np. mamy wywołania: metoda 1 woła metodę 2 ta metodę 3 a ta readfile. Niech jedynie metoda 1 jest zainteresowana błędami W. Kasprzak: Programowanie zdarzeniowe 1-41 powstałymi podczas wykonania readfile. W normalnym kodzie propagacje błędu wstecz musiałyby być jawnie rozpatrywane w kodzie: void metoda1() { errorcodetype error; error = metoda2(); if (error) obsłuŝbłąd; else kontynuuj; errorcodetype metoda2() { errorcodetype error; error = metoda3(); if (error) return error; else kontynuuj; errorcodetype metoda3() { errorcodetype error; error = readfile(); W. Kasprzak: Programowanie zdarzeniowe 1-42

22 if (error) return error; else kontynuuj; System obsługi wyjątków umoŝliwia automatyczny powrót do miejsca, w którym odbędzie się rozpoznanie i obsługa wyjątku: void metoda1() { try { metoda2(); catch (wyjatek) { obslugabłedu; void metoda2() throws wyjatek { metoda3(); void metoda3() throws wyjatek { readfile(); Zaleta 3. Grupowanie błędów i ich obsługi. W Javie wszystkie zgłaszane wyjątki są obiektami klas: obiektem klasy Throwable lub jej klasy pochodnej. W. Kasprzak: Programowanie zdarzeniowe 1-43 Sprawdzalne wyjątki Java wymaga aby metody obsługiwały lub specyfikowały wszystkie sprawdzalne wyjątki, które mogą wystąpić podczas wykonania metody. Wyjątki, które są typowe dla środowiska czasu wykonania, nie są sprawdzalne przez kompilator. Nie ma wymogu ich obsługi lub deklarowania ich wystąpienia. Np. są nimi: wyjątki arytmetyczne (np. dzielenie przez zero), wyjątki wskazań (np. próba odwołania do obiektu poprzez zerową referencję), wyjątki indeksowania (np. odwołanie do elementu tablicy poprzez zły indeks). Sprawdzane wyjątki to takie, których obsługę lub deklarowanie sprawdza kompilator. Przykład 1.5 Klasa InputFile obejmuje FileReader i posiada metodę getword, dla odczytu słowa z obiektu odczytywanego (tzw. reader). import java.io.*; public class InputFile { W. Kasprzak: Programowanie zdarzeniowe 1-44

23 private FileReader in; public InputFile(String filename) { in = new FileReader(filename); public String getword() { int c; StringBuffer buf = new StringBuffer(); do { c = in.read(); if (Character.isWhitespace((char)c)) return buf.tostring(); else while (c!= -1); return buf.tostring(); buf.append((char)c); Program ignoruje moŝliwość zgłoszenia wyjątku przez konstruktor FileReader() jak teŝ metodę read(). Kompilator zgłosi dwa błędy: InputFile.java:4: Warning: Exception java.io.filenotfoundexception W. Kasprzak: Programowanie zdarzeniowe 1-45 must be caught, or it must be declared in throws clause of this method. in = new FileReader(filename); InputFile.java:9: Warning: Exception java.io.ioexception must be caught, or it must be declared in throws clause of this method. c = in.read(); W. Kasprzak: Programowanie zdarzeniowe 1-46

24 Obsługa wyjątków Przykład 1.6. Nasza klasa ListOfNumber wywołuje dwie metody klas Javy, które mogą zgłaszać wyjątki. // Uwaga: Ten program nie skompiluje się! import java.io.*; import java.util.vector; public class ListOfNumbers { private Vector victor; private static final int size = 10; public ListOfNumbers () { victor = new Vector(size); for (int i = 0; i < size; i++) victor.addelement( new Integer(i)); public void writelist() { PrintWriter out = new PrintWriter ( new FileWriter("OutFile.txt")); W. Kasprzak: Programowanie zdarzeniowe 1-47 for (int i = 0; i < size; i++) out.println("value at: " + i + " = " + victor.elementat(i)); out.close(); Metoda writelist wywołuje dwie metody, które mogą zgłaszać wyjątki: konstruktor klasy FileWriter zgłosi IOException, jeśli nie moŝna otworzyć podanego pliku: out = new PrintWriter(new FileWriter("OutFile.txt")); metoda elementat klasy Vector zgłosi ArrayIndexOutOfBoundsException, jeśli przekazany jej indeks jest poza zakresem elementów obiektu klasy Vector: out.println("value at: " + i + " = " + victor.elementat(i)); Kompilator sprawdza tylko istnienie obsługi lub deklaracji wyjątku IOException, ale nie sprawdza wyjątku czasu wykonania - ArrayIndexOutOfBoundsException. W. Kasprzak: Programowanie zdarzeniowe 1-48

25 Blok try Kod metody writelist ujmiemy w blok try - aktywacji śledzenia wyjątków: PrintWriter out = null; try { System.out.println("Początek bloku try"); out = new PrintWriter( new FileWriter("OutFile.txt")); for (int i = 0; i < size; i++) out.println("value at: " + i + " = " + victor.elementat(i)); Po bloku try musi wystąpić przynajmniej jeden blok catch lub blok finally. Np. try {... catch (ArrayIndexOutOfBoundsException e) { W. Kasprzak: Programowanie zdarzeniowe 1-49 System.err.println("Wyjątek: ArrayIndexOutOfBoundsException: " + e.getmessage()); catch (IOException e) { System.err.println("Wyjątek: IOException: " + e.getmessage()); Obsługa wyjątków typu klasy bazowej moŝe obsłuŝyć teŝ wyjątki typu klas pochodnych. Np.: try {... catch (Exception e) { System.err.println("ObsłuŜono: " + e.getmessage()); Teraz w jednym bloku ogólnym obsłuŝymy wyjątki IOException i ArrayIndexOutOfBoundsException, ale tez szereg dalszych. W. Kasprzak: Programowanie zdarzeniowe 1-50

26 Blok finally UmoŜliwia kontrolowane "opuszczenie" fragmentu programu, niezaleŝnie od tego czy w bloku try wystąpił wyjątek, czy teŝ nie. Np. w naszym przykładzie 1.6 stosujemy blok finally w metodzie writelist dla zamknięcia obiektu PrintWriter. finally { if (out!= null) { System.out.println("Zamykanie PrintWriter"); out.close(); else { System.out.println("PrintWriter nie jest otwarty"); Korzyść z bloku try - oddzielenie fragmentu planowego zwalniania zasobów programu od normalnego kodu, wykonanie tego fragmentu niezaleŝnie od tego, czy wystąpił błąd czy tez nie. Np. bez bloku try musielibyśmy stworzyć we writelist następujący kod: try {... out.close(); // kod ten będzie powtórzony poniŝej W. Kasprzak: Programowanie zdarzeniowe 1-51 catch (ArrayIndexOutOfBoundsException e) { out.close(); // powtórzenie kodu System.err.println("ObsłuŜono: ArrayIndexOutOfBoundsException: " + e.getmessage()); catch (IOException e) { System.err.println("ObsłuŜono IOException: " + e.getmessage()); Przykład 1.7. Cała metoda writelist() po modyfikacjach potrzebnych dla obsługi wyjątków wygląda teraz następująco: public void writelist() { PrintWriter out = null; try { System.out.println("Początek bloku try"); out = new PrintWriter( new FileWriter("OutFile.txt")); for (int i = 0; i < size; i++) out.println("value at: " + i + " = " + victor.elementat(i)); W. Kasprzak: Programowanie zdarzeniowe 1-52

27 catch (ArrayIndexOutOfBoundsException e) { System.err.println("Obsługa: ArrayIndexOutOfBoundsException:" + e.getmessage()); catch (IOException e) { System.err.println("ObsłuŜono: IOException: " + e.getmessage()); finally { if (out!= null) { System.out.println("Zaykanie PrintWriter"); out.close(); else { System.out.println("PrintWriter nie jest otwarty"); Uwagi: 1. Jeśli metoda writellist nie posiadałyby bloku catch obsługującego sprawdzalny wyjątek IOException, to naleŝałoby zadeklarować go w liście wyjątków tej metody, np.: W. Kasprzak: Programowanie zdarzeniowe 1-53 public void writelist() throws IOException, ArrayIndexOutOfBoundsException { 2. Wyjątek ArrayIndexOutofBoundsException nie jest sprawdzalny przez kompilator i nie musi być tu deklarowany. Zgłaszanie wyjątków throw pewienthrowableobject; Jako wyjątek moŝe być zgłoszony jedynie obiekt klasy Throwable lub klasy pochodnej od Throwable. W innym razie wystąpi błąd kompilacji: testing.java:10: Cannot throw class java.lang.integer; it must be a subclass of class java.lang.throwable. throw new Integer(4); ^ Np. public Object pop() throws EmptyStackException { Object obj; if (size == 0) throw new EmptyStackException(); W. Kasprzak: Programowanie zdarzeniowe 1-54

28 obj = objectat(size - 1); setobjectat(size - 1, null); size--; return obj; Hierarchia klas wyjątków Error. Błąd dynamicznej konsolidacji programu lub inny "cięŝki" błąd w JVM. Programy w Javie nie powinny obsługiwać ani zgłaszać takich wyjątków. Exception. To jest klasa bazowa wyjątków w programach Javy. Są juŝ W. Kasprzak: Programowanie zdarzeniowe 1-55 liczne klasy pochodne tej klasy, np. IllegalAccessException, NegativeArraySizeException. Runtime Exception Specialna klasa pochodna od Exception, która dotyczy wyjątków zgłaszanych w Java virtual machine (czyli podczas wykonania programu). Np. NullPointerException. Tworzenie własnych klas wyjątków Dla naszej klasy powinniśmy utworzyć klasy ewentualnych wyjątków, które mogą być zgłaszane w jej metodach. Nasz główna klasa wyjątków powinna dziedziczyć z klasy Exception. Dziedziczenie z klasy RuntimeException, mimo iŝ kusi brakiem konieczności deklarowania wyjątków w metodach, powinniśmy zostawić środowisku czasu wykonania, czyli JVM. Konwencja - nazwy klas dziedziczących z Exception kończą się na "Exception". W. Kasprzak: Programowanie zdarzeniowe 1-56

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

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

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

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

Programowanie obiektowe zastosowanie języka Java SE

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

Bardziej szczegółowo

Język JAVA podstawy. Wykład 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

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

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

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

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

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

Ć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

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

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

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

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

Bardziej szczegółowo

Java 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

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

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

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

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

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

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

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

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

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

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

Podstawy otwartych języków programowania Język Java

Podstawy otwartych języków programowania Język Java Podstawy otwartych języków programowania Język Java Wiktor Wandachowicz Platforma Java Stworzona przez Sun Microsystems, Inc. J2SE Java 2 Standard Edition (platforma ogólnego przeznaczenia/desktop) J2EE

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

Programowanie obiektowe. Wprowadzenie

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

Obsługa wyjątków. Rysunek 2-4 Hierarchia dziedziczenia klas wyjątków

Obsługa wyjątków. Rysunek 2-4 Hierarchia dziedziczenia klas wyjątków Obsługa wyjątków Podczas działania programu mogą wystąpić róŝne sytuacje specjalne, do których naleŝą m.in. wystąpienia błędu polegającego na próbie otwarcia pliku, który nie istnieje. Java posiada zapoŝyczony

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1. Wielowątkowość Programowanie w środowisku rozproszonym. Wykład 1. Informacje organizacyjne Wymiar godzin: W-30, LAB-15 Zaliczenie wykonanie kilku programów i ich zaliczenie (w trakcie zajęć laboratoryjnych)

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

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

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

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

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga! Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

Programowanie Multimediów JAVA. wprowadzenie do programowania (2/3) [1]

Programowanie Multimediów JAVA. wprowadzenie do programowania (2/3) [1] JAVA wprowadzenie do programowania (2/3) [1] [2] Programowanie Multimediów [3] Aplikacja klasa posiadająca metodę główną: public static void main ( String args [ ] ) { // opis metody } Tablica argumentów

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

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

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

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

Współbieżność w środowisku Java

Współbieżność w środowisku Java Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych

Bardziej szczegółowo

Tworzenie i obsługa graficznego interfejsu uŝytkownika

Tworzenie i obsługa graficznego interfejsu uŝytkownika Tworzenie i obsługa graficznego interfejsu uŝytkownika Programowanie w środowisku rozproszonym. Wykład 3. Aplety aplikacje uruchamiane w środowisku przeglądarki - przykład import java.applet.applet; import

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

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

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

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

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

Python wstęp do programowania dla użytkowników WCSS

Python wstęp do programowania dla użytkowników WCSS Python wstęp do programowania dla użytkowników WCSS Dr inż. Krzysztof Berezowski Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Wprowadzenie CHARAKTERYSTYKA JĘZYKA Filozofia języka

Bardziej szczegółowo

XII. Warunek wielokrotnego wyboru switch... case

XII. Warunek wielokrotnego wyboru switch... case XII. Warunek wielokrotnego wyboru switch... case 12.1. Gdy mamy więcej niŝ dwie moŝliwości Do tej pory poznaliśmy warunek if... else... Po co nam kolejny? Trudno powiedzieć, ale na pewno nie po to, Ŝeby

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

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

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

#include void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

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

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

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++ Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu

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

Wykład nr 3. Temat: Wskaźniki i referencje. Edward Morgan Forster

Wykład nr 3. Temat: Wskaźniki i referencje. Edward Morgan Forster Wykład nr 3 Temat: Wskaźniki i referencje. Cytaty: Mylić się jest rzeczą ludzką, ale żeby coś naprawdę spaprać potrzeba komputera. Edward Morgan Forster Gdyby murarze budowali domy tak, jak programiści

Bardziej szczegółowo

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. PYTHON Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. Aby program napisany w danym języku mógł być wykonany, niezbędne

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

Efekty uboczne błędów

Efekty uboczne błędów Obsługa wyjątków Efekty uboczne błędów Fragment kodu programu jest bezpieczny (ang. exception-safe) jeżeli błędy, które wystąpią w trakcie przetwarzania tego kodu nie będą powodowały niepożądanych efektów

Bardziej szczegółowo

Delphi Laboratorium 3

Delphi Laboratorium 3 Delphi Laboratorium 3 1. Procedury i funkcje Funkcja jest to wydzielony blok kodu, który wykonuje określoną czynność i zwraca wynik. Procedura jest to wydzielony blok kodu, który wykonuje określoną czynność,

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

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

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

Java-wykład. Dorota Pylak

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

Bardziej szczegółowo

Kurs programowania. Wykład 6. Wojciech Macyna. 7 kwietnia 2016

Kurs programowania. Wykład 6. Wojciech Macyna. 7 kwietnia 2016 Wykład 6 7 kwietnia 2016 Klasa java.applet.applet Aplety w języku Java Aplety sa specyficznymi programami które moga być wyświetlane w oknach większości przegladarek internetowych. Klasa Applet rozszerza

Bardziej szczegółowo

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

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pierwsze kroki Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Co znaczy

Bardziej szczegółowo

PROGRAMOWANIE W ŚRODOWISKU FLASH wykład 2

PROGRAMOWANIE W ŚRODOWISKU FLASH wykład 2 PROGRAMOWANIE W ŚRODOWISKU FLASH wykład 2 Paweł Woszkowski SWSIM 2009 ADOBE ACTIONSCRIPT Programming language of the Adobe Flash Platform. Originally developed as a way for developers to program interactivity,

Bardziej szczegółowo

ForPascal Interpreter języka Pascal

ForPascal Interpreter języka Pascal Akademia Podlaska w Siedlcach Wydział Nauk Ścisłych Instytut Informatyki ForPascal Interpreter języka Pascal Przedmiot: Sieci i Systemy Wirtualne Informatyka IV Prowadzący: dr Krzysztof Trojanowski Grupa:

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

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

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

Programowanie RAD Delphi

Programowanie RAD Delphi Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje

Bardziej szczegółowo