Wstęp do programowania w języku Java



Podobne dokumenty
Wstęp do programowania w języku Java

Wstęp do programowania w języku Java

Wstęp do programowania w języku Java

Programowanie obiektowe

Java jako język programowania

WPROWADZENIE DO JĘZYKA JAVA

Wykład 1: Wprowadzenie do technologii Java

Programowanie obiektowe zastosowanie języka Java SE

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

WPROWADZENIE DO JĘZYKA JAVA

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

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

Ćwiczenie 1. Przygotowanie środowiska JAVA

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

Programowanie obiektowe

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

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

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

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

JAVA. Tomasz Grzywacz.

Programowanie w Internecie. Java

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

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

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

Podstawy języka Java. przygotował:

Spis treści. 1 Java T M

Programowanie w Javie

Multimedia JAVA. Historia

Java EE produkcja oprogramowania

Java Podstawy JUST JAVA Michał Bereta Intytu Modelowania Komputerowego Wydział Fizyki, Matematyki i Informatyki Stosowanej

1 Atrybuty i metody klasowe

Tworzenie aplikacji w języku Java

Język Java część 2 (przykładowa aplikacja)

Język JAVA podstawy programowania

TECHNOLOGIE INFORMACYJNE

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

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

Programowanie Użytkowe. Dr. inż. Marcin Blachnik

ZSBD ćwiczenie 4. Obiektowe systemy zarządzania bazą danych. Przygotowanie środowiska pracy. Wymagania: ZSBD ćwiczenie 4

Programowanie obiektowe. Wprowadzenie

JDK można pobrać ze strony

Programowanie wieloplatformowe w Java

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

Java Podstawy. Michał Bereta

Zaawansowane aplikacje WWW - laboratorium

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

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

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

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

Programowanie graficznego interfejsu użytkownika. Wykład 8. Maciej Wołoszyn 10 maja 2006

Polimorfizm, metody wirtualne i klasy abstrakcyjne

ZAPOZNANIE SIĘ Z TWORZENIEM

Podstawy i języki programowania

Spis treści. 1 Aplet. 2 Od aplikacji do apletu. 1 Aplet 1. 2 Od aplikacji do apletu 1. 3 Budowa apletu 3. 4 Cykl życia apletu 4

Programowanie w Javie

Grafika i komunikacja człowiek komputer Laboratorium. Część 1: Wstęp do grafiki

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej

Aplikacje RMI

Wprowadzenie do języka Java

Język Java część 2 (przykładowa aplikacja)

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

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

Programowanie obiektowe - Java

Utworzenie pliku. Dowiesz się:

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

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Java niezbędnik programisty spotkanie nr 12. Graficzny interfejs użytkownika

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

Wykład 4: Klasy i Metody

Podstawy, środowisko JDK, kompilacja programów z linii poleceń

JAVA W SUPER EXPRESOWEJ PIGUŁCE

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

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

Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne

PODEJŚCIE OBIEKTOWE. Przykład 1 metody i atrybuty statyczne

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

Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

SYLABUS/KARTA PRZEDMIOTU

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

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

Dokumentacja aplikacji Szachy online

Główne koncepcje języka Java. dr Jarosław Skaruz

1 Wprowadzenie do J2EE

Środowiska i platformy programistyczne

Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy. Tworzenie łącz w apletach

Java EE produkcja oprogramowania

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!

Laboratorium Programowania Kart Elektronicznych

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

Wprowadzenie do Java Web Start

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

Wprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

Kompozycja i dziedziczenie klas

Aplikacje RMI Lab4

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Języki i paradygmaty programowania - 1

Java Foundation Clases. Tworzenie graficznych interfejsów użytkownika (GUI) w Javie

KARTA PRZEDMIOTU. Aplikacje sieciowe w języku Java. D1_5

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Transkrypt:

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 w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 1 / 24 Literatura Krzysztof Barteczko: Java od Podstaw do technologii, Tom 1 i 2, Wydaw. MIKOM, 2004. Elliot Koffman, Paul Wolfgang: Structury danych i techniki obiektowe na przykładzie Javy 5.0, Wydaw. HELION, 2006. Laura Lemay, Rogers Cadenhead: Java 2 dla kaŝdego, Wydaw. HELION, 2001. Bruce Eckel: Thinking in Java - edycja polska - wydanie 3, Wydaw. HELION, 2003. Marek Wierzbicki: Java - programowanie obiektowe, Wydaw. HELION, 2006. Marcin Lis: Java, Ćwiczenia praktyczne, Wydanie II, Wydaw. HELION, 2006. Herbert Schildt: Java. Kompendium programisty, Wydaw. Helion, 2005. Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 2 / 24

Java jako uniwersalne środowisko programowania Platforma programistyczna Java 2 zawiera: uniwersalny obiektowy język programowania, kompilator, debuger, narzędzia tworzenia dokumentacji, itp., bogaty zestaw standardowych bibliotek umoŝliwiających między innymi: jednolity sposób tworzenia graficznych interfejsów uŝytkownika (AWT, Swing), dostęp do baz danych (JDBC API), działania w sieci (aplikacje typu klient-serwer, aplety, serwelety), programowanie multimedialne (Java 3D, Java Media Framework), przetwarzanie dokumentów HTML oraz XML. środowisko programowania w systemach rozproszonych i heterogenicznych (JNI - Java Native Interface, RMI - Remote Metod Invocation), środowisko budowania programu z gotowych komponentów (JavaBeans) Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 3 / 24 Aktualne edycje Javy Java 2 platform J2ME Micro Edition J2SE Standard Edition J2EE Enterprise Edition Java 2 Micro Edition (J2ME) - uproszczona wersja platformy do programowania urządzeń elektronicznych o bardzo ograniczonych zasobach, takich jak telefony komórkowe lub palmtopy. Java 2 Standard Edition (J2SE) platforma przeznaczona głównie do standardowych zastosowań dla komputerów personalnych i serwerów. Java 2 Enterprise Edition (J2EE) platforma przeznaczona głównie do tworzenia rozbudowanych i zaawansowanych aplikacji biznesowych opartych na architekturze wielowarstwowej. Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 4 / 24

Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 5 / 24 Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 6 / 24

Narzędzia programistyczne Firma Sun Microsystems udostępnia bezpłatnie wszystkie niezbędne narzędzia do programowania w Javie. Pod adresem http://java.sun.com/javase/downloads/index.jsp moŝna pobrać pakiet Java 2 Standard Edition 5.0, który zawiera: narzędzia do budowania, kompilacji i uruchamiania programu, narzędzia do dokumentowania i archiwizacji programów, pakiety klas standardowych, przykładowe aplety i aplikacje. Uzupełnieniem pakietu J2SE SDK jest znormalizowana dokumentacja: JDK 5.0 Documentation oraz zastaw bezpłatnych podręczników: The Java Tutorials Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 7 / 24 Narzędzia programistyczne c.d. Po zainstalowaniu pakietu J2SE SDK w katalogu j2sdk1.5.0_06 powstają podkatalogi: bin zawierający programy usługowe: javac kompilator, java - interpreter, appletviewer przeglądarka apletów, javadoc - generator dokumentacji, jdb debuger, jar narzędzie do tworzenia archiwów. jre zawierający środowisko uruchomieniowe: wirtualną maszynę javy, bibliotekę klas, lib zawierający dodatkowe biblioteki klas demo zawierający aplety i aplikacje demonstracyjne include zawierający pliki nagłówkowe języka C src.zip kody źródłowe klas standardowych docs zawierający znormalizowana dokumentacja pakietu w postaci stron HTML. Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 8 / 24

Zintegrowane środowiska programistyczne Javy Pakiet J2SE SDK nie zawiera Ŝadnego edytora kodu źródłowego. Dlatego do pisania programów w języku Java naleŝy uŝywać innych narzędzi. Najpopularniejsze zintegrowane środowiska programistyczne Javy to: NetBeans http://www.netbeans.org/ Eclipse http://www.eclipse.org/ Borland JBuilder http://www.borland.com/us/products/jbuilder/index.html JCreator http://www.jcreator.com/ Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 9 / 24 Wirtualna maszyna Javy (JVM) Java Virtual Machine to rodzaj wirtualnego komputera, który ma swój zestaw rejestrów, zestaw instrukcji, stos i pamięć dla programów. Dzięki standaryzacji maszyny wirtualnej, programy napisane w Javie są uniwersalne, tzn. wykonują się identycznie w kaŝdym systemie operacyjnym. Programy napisane w Javie są kompilowane do poziomu kodu pośredniego, nazywanego kodem bajtowym Javy (bytecode). Kod bajtowy jest interpretowany przez wirtualną maszynę JVM do postaci programu wykonywalnego dla danego systemu operacyjnego. Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 10 / 24

Wieloplatformowość programów w Javie HelloDemo.java class HelloDemo public static void main(string[] args) System.out.print( Hello ); Hello Windows kompilator javac JVM java Hello HelloDemo.class B-kod JVM java JVM java Linux Hello Solaris Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 11 / 24 Program w Javie KaŜdy program w Javie jest zestawem klas. Klasa jest podstawową jednostką enkapsulacji (nie moŝna pisać kodu poza definicją klasy). Pisany przez nas program moŝe być zapamiętany w jednym lub wielu plikach źródłowych o rozszerzeniu "java". NaleŜy przestrzegać następującej konwencji dotyczącej nazewnictwa nazwa klasy powinna być zgodna z nazwą pliku, który przechowuje program. Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 12 / 24

Kompilacja Kompilator Javy wymaga, aby pliki źródłowe miały rozszerzenie java. Pliki źródłowe są kompilowane za pomocą kompilatora Javy (javac.exe) do postaci kodu bajtowego (pośredniego), a nie kodu maszynowego. Polecenie kompilacji pliku źródłowego ma postać: javac nazwa_pliku.java Wynikiem kompilacji są pliki z rozszerzeniem class, które mogą być wykonane przez maszynę wirtualną Javy. edytor tekstowy Program.java kompilator javac Program.class JVM java Podczas kompilacji pliku źródłowego kaŝda klasa zostaje przeniesiona do swojego własnego pliku o nazwie właściwej zgodnej z nazwą klasy i rozszerzeniu class Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 13 / 24 Hello Aplikacje i Aplety WyróŜniamy dwa rodzaje programów: aplikacje (standalone programs) i aplety (applets). Aplikacje mogą działać zarówno w trybie graficznym jak i tekstowym. Aplety działają jedynie w środowisku graficznym. Aby zobaczyć działanie aplikacji musimy mieć zainstalowaną w naszym komputerze wirtualną maszynę Javy JVM. Aplety są wykonywane przez środowisko przeglądarek; są one widoczne wtedy, gdy przeglądarka posiada zintegrowaną wirtualną maszynę Javy. Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 14 / 24

Aplikacja Aby aplikacja mogła zostać uruchomiona, główna klasa musi zawierać metodę public static void main(string args[]) Maszyna wirtualna Javy jest wywoływana za pomocą polecenia java z argumentami: nazwa pliku o rozszerzeniu class zawierającego metodę main() oraz argumenty wywołania tej metody, np.: java nazwa_pliku arg1 arg2 Po załadowaniu klasy przez JVM sterowanie zostaje przekazane do metody main() i tu zaczyna się właściwe działanie programu: tworzenie obiektów, odwołania do innych klas aplikacji. Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 15 / 24 Aplet Aplety w odróŝnieniu od aplikacji nie posiadają metody main(). Główna klasa kaŝdego apletu (np. MyApps ) musi być klasą publiczną, dziedziczyć z predefiniowanej klasy Applet z pakietu java.applet, albo JApplet z pakietu javax.swing. Nazwa pliku źródłowego w którym znajduje się główna klasa musi być taka jak nazwa klasy, a jego rozszerzenie musi być java. Do uruchomienia apletu trzeba utworzyć plik HTML zawierający znacznik wywołania tej klasy, np.: <applet code = MyApps.class width = 300 height = 300 > </applet> Po napotkaniu tego znacznika przeglądarka ładuje plik MyApps.class, następnie wywoływany jest konstruktor tej klasy oraz metoda inicjalizacyjna, itd. Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 16 / 24

Pierwszy program Tworzymy plik PierwszyProgram.java i wprowadzamy następujący kod: class PierwszyProgram public static void main(string arg[]) System.out.println("To jest pierwszy program"); Następnie kompilujemy program źródłowy za pomocą kompilatora javac: javac PierwszyProgram.java Na końcu wykonujemy program, korzystając z interpretera java: java PierwszyProgram Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 17 / 24 Program z argumentami Tworzymy plik Argumenty.java i wprowadzamy następujący kod: class Argumenty public static void main(string[] args) int n = args.length; System.out.println("Argumenty: "); for (int i=0; i<n; ++i) System.out.println(args[i]+ "\t"); Następnie kompilujemy program źródłowy za pomocą kompilatora javac: javac Argumenty.java Na końcu wykonujemy program, korzystając z interpretera java: java Argumenty par1 par2 par3 Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 18 / 24

Pierwszy aplet Tworzymy plik PierwszyAplet.java i wprowadzamy następujący kod: import java.awt.*; import java.applet.*; public class PierwszyAplet extends Applet public void paint(graphics g) g.drawstring("to jest pierwszy aplet ", 20, 20); Następnie kompilujemy program źródłowy za pomocą kompilatora javac: javac PierwszyAplet.java Co się stanie, gdy aplet zostanie uruchomiony jako samodzielna aplikacja? Interpreter Javy wyświetli wtedy komunikat o błędzie, Ŝe nie znalazł metody main: Exception in thread "main" java.lang.nosuchmethoderror: main Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 19 / 24 Pierwszy aplet c.d. Musimy jeszcze przygotować prostą stronę WWW z odpowiednio zapisanym znacznikiem <APPLET>. Wymaganymi parametrami znacznika <APPLET> są: width i height, które definiują rozmiar obszaru wykorzystywanego przez aplet na stronie WWW, code określający nazwę pliku class z kodem bajtowym apletu. <html> <body> <applet code = "PierwszyAplet.class" width = "300" height = "200"> </applet> </body> </html> Po otwarciu strony WWW przeglądarka utworzy okno o rozmiarach width x height, a następnie uruchomi i wyświetli w utworzonym oknie aplet, którego kod bajtowy znajduje się w pliku PierwszyAplet.class. Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 20 / 24

Aplet uruchamiany jako aplikacja Istnieje moŝliwość napisania apletu, który będzie mógł pracować zarówno jako aplet, jak i aplikacja. Wystarczy dodać do niego metodę main, która utworzy okno (obiekt klasy Frame) i egzemplarz apletu. import java.awt.*; import java.applet.*; public class Hello extends Applet public void paint(graphics g) g.drawstring("hello World", 20, 20); public static void main(string args[]) Frame frame = new Frame("Pogram Hello"); Hello aplet = new Hello(); frame.setsize(300, 300); frame.add(aplet); frame.show(); aplet.init(); Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 21 / 24 Okna dialogowe do wczytywania i wyświetlania tekstów Tekst (łańcuch znaków) moŝna zapamiętać w obiektach klasy String String text; // deklaracja obiektu klasy String Tekst moŝna wczytywać w graficznym oknie dialogowym tworzonym przez metodę showinputdialog z klasy JOptionPane text = JOptionPane.showInputDialog( tekst zachęty: ); Text moŝna wyświetlić w oknie konsoli za pomocą metody print lub println System.out.print(text); Tekst moŝna wyświetlać w oknie graficznym tworzonym przez metodę showinputdialog z klasy JOptionPane JOptionPane.showMessageDialog(text); Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 22 / 24

Okna dialogowe do wczytywania i wyświetlania tekstów import javax.swing.joptionpane; class TextInOut public static void main(string arg[]) String text; text = JOptionPane.showInputDialog(null, "Wprowadź tekst:"); System.out.println(text); JOptionPane.showMessageDialog(null, text); System.exit(0); Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 23 / 24 Wczytywanie i wyświetlanie tekstów - przykład import javax.swing.joptionpane; class Wizytowka public static void main(string[] arg) String nazwisko, imie; // wcztytanie danych nazwisko = JOptionPane.showInputDialog(null, "Podaj nazwisko:"); imie = JOptionPane.showInputDialog(null, "Podaj imie:"); // wyswietlanie w oknie konsoli System.out.println("Imie: " + imie); System.out.println("Nazwisko: " + nazwisko); // wyswietlanie w oknie graficznym String text; text = "Imie: " + imie + "\n"; text += "Nazwisko: " + nazwisko; JOptionPane.showMessageDialog(null, text); // zakonczenie aplikacji System.exit(0); Wstęp do programowania w języku Java Autor: Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki PWr 24 / 24