Professional Documents
Culture Documents
0 Wstep Do Programowania W Jezyku Java
0 Wstep Do Programowania W Jezyku Java
Wstp do programowania w
jzyku Java
Pawe Rogaliski
Instytut Informatyki, Automatyki i Robotyki
Politechniki Wrocawskiej
pawel.rogalinski @pwr.wroc.pl
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
1 / 28
Zamiast wprowadzenia
Dla kogo jest dzisiejszy wykad?
Dla osb, ktre znaj jzyk C/C++ ?
Dla osb ktre zaczynaj swoj przygod z jzykiem Java?
Dla osb zainteresowanych tworzeniem aplikacji dla systemu Android ?
Czy mona
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
2 / 28
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 przykadzie Javy 5.0,
Wydaw. HELION, 2006.
Herbert Schildt: Java. Kompendium programisty,
Wydaw. Helion, 2005.
Joshua Bloch: Java. Efektywne programowanie, Wydaw. Helion, 2009.
W. Frank Ableson, Robi Sen, Chris King: Android w akcji, Wyd II, Wydaw.
Helion, 2011.
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
3 / 28
Narzdzia programistyczne
Firma
udostpnia
bezpatnie
do programowania w Javie. Pod adresem
wszystkie
niezbdne
narzdzia
www.oracle.com/technetwork/java/javase/downloads/index.html
mona pobra pakiet Java SE Development Kit, ktry zawiera:
narzdzia do budowania, kompilacji i uruchamiania programu,
narzdzia do dokumentowania i archiwizacji programw,
pakiety klas standardowych,
przykadowe aplety i aplikacje.
Uzupenieniem pakietu Java SE JDK jest znormalizowana dokumentacja:
Java SE 6 Documentation
oraz zastaw bezpatnych podrcznikw:
The Java Tutorials
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
4 / 28
pakietu
Java SE JDK
katalogu
jdk1.6.0_nn
powstaj
5 / 28
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
6 / 28
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
7 / 28
http://developer.android.com/sdk/index.html
Szczegowa instrukcja instalacji krok po kroku jest pod adresem:
http://developer.android.com/sdk/installing.html
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
8 / 28
Tutoriale:
1. The Java SE Tutorials (on line version) - praktyczny przewodnik dla programistw
tworzcych aplikacje w jzyku Java
http://docs.oracle.com/javase/tutorial/
2. Mark Dexter: Using the Eclipse Workbench (video tutorial)
http://eclipsetutorial.sourceforge.net/workbench.html
3. Mark Dexter: Eclipse and Java for Total Beginners (video tutorial)
http://eclipsetutorial.sourceforge.net/totalbeginner.html
4. Mark Dexter: Eclipse and Java: Introducing Persistence (video tutorial)
http://eclipsetutorial.sourceforge.net/persistence.html
5. Mark Dexter: Eclipse and Java: Using the Debugger (video tutorial)
http://eclipsetutorial.sourceforge.net/debugger.html
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
9 / 28
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
10 / 28
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
11 / 28
J2ME
Micro Edition
J2SE
Standard Edition
J2EE
Enterprise Edition
12 / 28
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
13 / 28
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
14 / 28
Hello
Windows
kompilator javac
JVM java
Hello
JVM java
Linux
HelloDemo.class
Hello
B-kod
JVM java
Solaris
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
15 / 28
Program w Javie
Kady program w Javie jest zestawem klas.
Klasa jest podstawow jednostk enkapsulacji
(nie mona pisa kodu poza definicj klasy).
Pisany przez nas program moe by zapamitany w jednym lub wielu
plikach rdowych o rozszerzeniu "java".
Naley przestrzega nastpujcej konwencji dotyczcej nazewnictwa
nazwa klasy powinna by zgodna z nazw pliku, ktry przechowuje program.
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
16 / 28
Kompilacja
Kompilator Javy wymaga, aby pliki rdowe
edytor tekstowy
Program.java
kompilator javac
Program.class
javac nazwa_pliku.java
Wynikiem kompilacji s pliki z rozszerzeniem class,
JVM java
17 / 28
Aplikacje i Aplety
Wyrniamy dwa rodzaje programw: aplikacje (standalone programs)
i aplety (applets).
Aplikacje mog dziaa zarwno w trybie graficznym
jak i tekstowym.
Aplety dziaaj jedynie w rodowisku graficznym.
Aby zobaczy dziaanie aplikacji musimy mie zainstalowan
w naszym komputerze wirtualn maszyn Javy JVM.
Aplety s wykonywane przez rodowisko przegldarek; s one widoczne wtedy,
gdy przegldarka posiada zintegrowan wirtualn maszyn Javy.
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
18 / 28
Aplikacja
Aby aplikacja moga zosta uruchomiona, gwna klasa musi zawiera metod
public static void main(String args[])
Maszyna wirtualna Javy jest wywoywana za pomoc polecenia java
z argumentami: nazwa pliku o rozszerzeniu class zawierajcego
metod main() oraz argumenty wywoania tej metody, np.:
java nazwa_pliku arg1 arg2
Po zaadowaniu klasy przez JVM sterowanie zostaje przekazane do
metody main() i tu zaczyna si waciwe dziaanie programu:
tworzenie obiektw, odwoania do innych klas aplikacji.
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
19 / 28
Aplet
Aplety w odrnieniu od aplikacji nie posiadaj metody main(). Gwna klasa
kadego
apletu
(np.
MyApps
musi
by
klas
publiczn,
dziedziczy
20 / 28
Pierwszy program
Tworzymy plik PierwszyProgram.java i wprowadzamy nastpujcy kod:
class PierwszyProgram
{
public static void main(String arg[]){
System.out.println("To jest pierwszy program");
}
}
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
21 / 28
Program z argumentami
Tworzymy plik Argumenty.java i wprowadzamy nastpujcy 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");
}
}
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
22 / 28
Pierwszy aplet
Tworzymy plik PierwszyAplet.java i wprowadzamy nastpujcy 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);
}
}
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
23 / 28
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
24 / 28
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();
}
}
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
25 / 28
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
26 / 28
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);
}
}
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
27 / 28
Wstp do programowania w jzyku Java Autor: Pawe Rogaliski Instytut Informatyki, Automatyki i Robotyki PWr
28 / 28