' $ ' $
JerzySobczyk JerzySobczyk
Operatory
Składnia
+ - * / % operatory arytmetyczne
! && || operatory logiczne
komentarze // /* */ /** */
~ & | ^ operatory bitowe
litery A .. Z , a .. z , \udddd dddd>00C0
<< przesunięcie w lewo
identyfikatory pierwszy znak= _ , $ lub litera, następne >> przesunięcie w prawo z roszerzeniem znaku
>>> przesunięcie w prawo z uzupełnieniem zerami
dodatkowo 0 .. 9
< > <= >= == != porównania
liczby dziesiętne Ddddd (D = 0)
++ -- inkrementacja i dekrementacja
liczby ósemkowe 0dddd
= += -= *= /= podstawienia
liczby szesnastkowe 0xddddd
&= |= ^= %= podstawienia
<<= >>= >>>= podstawienia
liczby rzeczywiste IEEE 754 (zapis z literami: E, F, D)
? : wyrażenie warunkowe
znaki Unicode
(){}[];,. inne
& W5 WWW 1 & W5 WWW 3
19padziernika1998roku 19padziernika1998roku
' $ ' $
JerzySobczyk JerzySobczyk
Typy proste
Znaki specjalne
typ opis
\n NL - nowa linia \ kontynuacja
byte 8 bitowa liczba ze znakiem
\r CR - poczÄ…tek wiersza \\ back slash
short 16 bitowa liczba ze znakiem
\t HT - tabulator \ apostrof
int 32 bitowa liczba ze znakiem
\f FF - nowa strona \" cudzysłów
long 64 bitowa liczba ze znakiem
float 32 bitowa liczba rzeczywista ze znakiem
\ddd znak o kodzie ósemkowym ddd
double 64 bitowa liczba rzeczywista ze znakiem
\xdd znak o kodzie szenastkowym dd
char 16 bitowy znak kodu Unicode
\udddd znak kodu Unicode dddd
boolean wartość logiczna true lub false
& W5 WWW 2 & W5 WWW 4
19padziernika1998roku 19padziernika1998roku
' $ ' $
JerzySobczyk JerzySobczyk
Inicjalizatory
Wartości początkowe
class Abc {
0, null, false.
static int arr[] = new int[7];
static { .... } // inicjalizator
Stałe
Abc() { .... } // konstruktor
}
public static final STAAA=17
int a = 3 * b; // błąd!!
Przykłady:
int b = 4;
math.PI
Color.red
int c = 3 * d; // OK
Color.blue
static int d = 5;
& W5 WWW 5 & W5 WWW 7
19padziernika1998roku 19padziernika1998roku
' $ ' $
JerzySobczyk JerzySobczyk
Opakowania (wrappers)
Tablice
typy: Integer, Long, Float, Double, Character, Boolean
int[] a; Ô! int a[];
Przykłady:
byte[] f(int n); Ô! byte f(int n)[];
Integer I = new Integer(123);
Character CH = new Character( z ); for (i=0; i
Double D = I.doubleValue(); a[i]=i;
String s = I.toString(); }
char[][]x = new char[14][];
StringBuffer buff; x[0] = new char[7];
double d = Double.valueOf(buff.toString()).doubleValue();
& W5 WWW 6 & W5 WWW 8
19padziernika1998roku 19padziernika1998roku
' $ ' $
JerzySobczyk JerzySobczyk
Zakres dostępu
Hierarchia klas tablicowych
public Dowolna klasa niezależnie od tego do jakiego pa-
kietu należy ma prawo dostępu do zmiennych zde-
Object
finiowanych jako publiczne.
private Tylko obiekty klasy, która zdefiniowała tą zmienną
Array A
mają prawo dostępu do niej. Nawet obiekty klas
potomnych nie będą miały dostępu.
int[] float[] A[] B
protected Tylko obiekty klas definiujÄ…cych zmiennÄ… i obiekty
B[] klas potomnych mają prawo dostępu.
(bez niczego) Zmienna jest dostępna bez ograniczeń w ramach
pakietu. (Jest to zakres domyślny.)
& W5 WWW 9 & W5 WWW 11
19padziernika1998roku 19padziernika1998roku
' $ ' $
JerzySobczyk JerzySobczyk
Klasy
Modyfikatory
/** Komentarz dokumentacyjny */
public class Klasa
extends Superklasa
final Nie można zdefiniować klas potomnych.
implements Interfejs {
abstract Nie można tworzyć obiektów danej klasy.
Klasa() { super(17); ... }
native Metoda zaimplementowana w innym języku.
Klasa(int i) { this(); j=i; ...}
void finalize() { ... }
synchronized Klasa jest jest monitorem Hoare.
static public void main(String[] args) {...}
}
& W5 WWW 10 & W5 WWW 12
19padziernika1998roku 19padziernika1998roku
' $ ' $
JerzySobczyk JerzySobczyk
Instrukcje
Dziedziczenie
if (...) ... else ...
Najczęściej używane klasy bazowe: switch (..) { case ..: ... default: ... }
break ...;
Object tylko elementarne własności
continue ...;
Applet aplety dla WWW
return ...;
Thread wątki współbieżne
for (...; ...; ...) ...
Panel interfejsy użytkownika
while (...) ...
do ... while (...);
& W5 WWW 13 & W5 WWW 15
19padziernika1998roku 19padziernika1998roku
' $ ' $
JerzySobczyk JerzySobczyk
WyjÄ…tki
Interfejsy
class UjemnyWyjÄ…tek extends Exception {
}
metody public abstract
...
zmienne final public static
int f(int i) throws UjemnyWyjÄ…tek {
interface Superinterfejs {
if (i < 0)
public int f();
throw new UjemnyWyjÄ…tek
}
}
interface Interfejs extends Superinterfejs {...}
...
class Klasa implements Interferjs {
try {
public int f() {...}
f(k);
}
} catch (UjemnyWyjÄ…tek e) {
}
& W5 WWW 14 & W5 WWW 16
19padziernika1998roku 19padziernika1998roku
' $ ' $
JerzySobczyk JerzySobczyk
WÄ…tki
Aańcuchy
class X implements Runnable {
public void m() {
StringBuffer sb = new StringBuffer( "Cześć!" );
Thread t = new Thread();
String s = sb.toString();
t.target = this;
char c;
t.start();
}
while ((c = (char) System.in.read()) != -1)
public void run() {
sb.appendChar(c);
// treść wątku
}
}
& W5 WWW 17 & W5 WWW 19
19padziernika1998roku 19padziernika1998roku
' $ ' $
JerzySobczyk JerzySobczyk
WÄ…tki
Prosty program
start() uruchomienie wÄ…tku
class Echo {
static public void main(String args[]) {
stop() zakończenie działania wątku
int i = 0;
suspend() zawieszenie wÄ…tku
while (i < args.length) {
resume() wznowienie wÄ…tku
System.out.println("Arg[" + i + "]=" + args[i++]);
sleep() zawieszenie się wątku na określony czas
wait() oczekiwanie na zdarzenie
}
}
notify() wygenerowanie zdarzenia
}
notifyAll() poinformowanie wszystkich wątków
& W5 WWW 18 & W5 WWW 20
19padziernika1998roku 19padziernika1998roku
' $ ' $
JerzySobczyk JerzySobczyk
Najprostszy aplet - plik HTML
Prosty program - rezultaty
A Simple Program
dss(98)$ javac Echo.java
dss(99)$ java Echo a1 b2 c3
Arg[0]=a1
Arg[1]=b2
Here is the output of my program:
Arg[2]=c3
& W5 WWW 21 & W5 WWW 23
19padziernika1998roku 19padziernika1998roku
' $ ' $
JerzySobczyk JerzySobczyk
Najprostszy aplet - rezultat
Najprostszy aplet
dss(99)$ appletviewer HelloWorld.html
import java.applet.Applet;
import java.awt.Graphics;
public class HelloWorld extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world!", 50, 25);
}
}
& W5 WWW 22 & W5 WWW 24
19padziernika1998roku 19padziernika1998roku
' $ ' $
JerzySobczyk JerzySobczyk
AWT
Cykl życiowy apleta
class Component {
public void repaint() {}
Akcja metoda
przeglÄ…darka pobiera aplet init()
użytkownik otwiera stronę start()
class XXX extends Component {
użytkownik opuszcza stronę stop()
repaint()
użytkownik opuszcza przeglądarkę destroy()
public void paint(Graphics g){}
& W5 WWW 25 & W5 WWW 27
19padziernika1998roku 19padziernika1998roku
' $ ' $
JerzySobczyk JerzySobczyk
Program - aplet
public class Åšwider extends Applet {
public void init() { resize(200,60); }
Układacze
public void paint(Graphics g) { ..... }
" BorderLayout
public static void main(String args[]) {
" CardLayout
Åšwider s = new Åšwider();
" FlowLayout
s.init();
" GridLayout
Frame f = new Frame("Ni pies ni wydra"};
" GridBagLayout
f.resize(200,60);
f.add("Center", s);
f.show();
}
}
& W5 WWW 26 & W5 WWW 28
19padziernika1998roku 19padziernika1998roku
' $ ' $
JerzySobczyk JerzySobczyk
CardLayout
BorderLayout
& W5 WWW 29 & W5 WWW 31
19padziernika1998roku 19padziernika1998roku
' $ ' $
JerzySobczyk JerzySobczyk
CardLayout
BorderLayout
import java.awt.*;
import java.awt.*;
import java.applet.Applet;
import java.applet.Applet;
public class Card extends Applet {
public class Border extends Applet {
Panel w = new Panel();
public void init() {
setLayout(new BorderLayout());
public void init() {
add("North", new Button("North"));
Choice c = new Choice();
add("South", new Button("South"));
add("East", new Button("East"));
w.setLayout(new CardLayout());
add("West", new Button("West"));
w.add("One", new Label("jeden"));
add("Center", new Button("Center"));
c.addItem("One");
}
w.add("Two", new Label("dwa"));
}
& W5 WWW 30 & W5 WWW 32
19padziernika1998roku 19padziernika1998roku
' $ ' $
JerzySobczyk JerzySobczyk
c.addItem("Two");
FlowLayout
w.add("Three", new Label("trzy"));
c.addItem("Three");
import java.awt.*;
add(c);
import java.applet.Applet;
add(w);
public class Flow extends Applet {
}
Button raz, dwa, trzy;
public void init() {
public boolean action(Event evt, Object arg) {
raz = new Button("Raz");
if (evt.target instanceof Choice) {
dwa = new Button("Dwa");
((CardLayout)w.getLayout()).show(w,(String)arg);
trzy = new Button("Trzy");
return true;
add(raz);
}
add(dwa);
return false;
add(trzy);
}
}
}
}
& W5 WWW 33 & W5 WWW 35
19padziernika1998roku 19padziernika1998roku
' $ ' $
JerzySobczyk JerzySobczyk
FlowLayout GridLayout
& W5 WWW 34 & W5 WWW 36
19padziernika1998roku 19padziernika1998roku
' $
JerzySobczyk
GridLayout
import java.awt.*;
import java.applet.Applet;
public class Grid extends Applet {
public void init() {
setLayout(new GridLayout(3,2));
add(new Button("1"));
add(new Button("2"));
add(new Button("3"));
add(new Button("4"));
add(new Button("5"));
add(new Button("6"));
}
}
& W5 WWW 37
19padziernika1998roku
' $
JerzySobczyk
GridBagLayout
& W5 WWW 38
19padziernika1998roku
Wyszukiwarka
Podobne podstrony:
java text FieldPosition
java
java text CollationElementIterator
java io InvalidClassException
tworzenie aplikacji w jezyku java na platforme android
Java Tęczowy tekst
java awt image IndexColorModel
java awt image ImageConsumer
java beans PropertyChangeEvent
java awt event ActionEvent
java awt event FocusEvent
java rmi server RMISocketFactory
java beans Beans
więcej podobnych podstron