Java, ProgrammingJavaLecture4

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

1

Programowanie w Java 4

Tablice

Kontrola kolejności wykonania instrukcji

Klasy i metody

Porównanie z Pascalem Delphi

Dla Specjalizacji Systemy Informacyjne w

Gospodarce

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

2

Tablice

Java

int[] Ar= new
int[10];

Index zaczyna się
od zera

Tablica
deklarowana
dynamicznie (new)

Int[] [] =Ar2 =
new int[10] [2];

Delphi

Ar: Array[1..10] of
integer;

Kontrola zakresu
indeksu

Tablica
deklarowana
statycznie

Ar2:
array[1..10,0..1];

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

3

Tablice - użycie

Java

Deklarowanie i

Inicjowanie:

Int [] [] Ar = {{1,2} ,

{3,4,5}};

Odczyt:

X= ar[0];

Zapis:

Ar[1] = 10;

Uwaga

Int [] b, c[]; deklaruje

jednowymiarową macierz

b i dwuwymiarową c

Czytelniej: int b[], c[] [];

Delphi

Deklarowanie i
Inicjowanie:

Ar: array[1..2, 1..3] = ((1,2) ,

(3,4,5));

Odczyt:

X:= ar[1];

Zapis:

Ar[1] := 10;

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

4

Tablice - kopiowanie

Java

Przed kopiowaniem trzeba dynamicznie
zarezerwować pamięć – operator new

Funkcja void System.arrycopy(ArSource,
StartPoz, ArDestin, StartPozDest,
Number);

Przykład kopiowania całej tablicy:

A2 = new int[a1.length];
System.arraycopy(A1,0,A2,0,A1.length);

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

5

Kontrola przepływu - if

Java

Pojedyncze instrukcje:

if (warunek)
instrukcja1
else
instrukcja2;

Blok instrukcji:

if (warunek)
{ instrukcje 1 }
else
{ instrukcje 2 };

Delphi

Pojedyncze instrukcje:

if (warunek) then
instrukcja1
else
instrukcja2;

Blok instrukcji:

if (warunek) then
begin instrukcje 1 end
else
begin instrukcje 2 end;

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

6

Sprawdzanie wartości

Java

Instrukcja switch
sprawdza kolejno każdy
przypadek

Należy użyć break aby
zakończyć sprawdzanie

Przykład:

switch (ch) {
case ‘!’: wykrzyknik=true;
case ‘1’: case ’2’: cyfry=true;
break;
default: x=0; }

Delphi

Instrukcja case
zatrzymuje się po
znalezieniu pierwszego
pasującego wzoru

Przykład:

case (ch) of
‘!’: wykrzyknik=true;
‘1’, ’2’: cyfry=true;
default: x=0;
end;

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

7

Pętle – o znanej liczbie
powtórzeń

Java

Budowa:

for (instrukcja_początkowa;

warunek;
instrukcja_iterująca) Blok

Przykład:

for (int i=0; i<ar.length; i+

+) { s=s+ar[i];}

Delphi

Budowa

for

zmienna:=wart_początkowa
to wart_koń do Block

Przykład:

for i:=1 to length(ar) do
begin
s:=s+ar[i];
end;

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

8

Pętle – sprawdzenie przed
iteracją

Java

Budowa:

Nadanie wartości
zmiennej kontrolnej

While (warunek)
Block

Przykład

i=1; s=0;
while i<ar.lenght)
{
s:=s+ar[i];
i++;
};

Delphi

Budowa:

Nadanie wartości
zmiennej kontrolnej

While (warunek)
Block

Przykład

i:=1; s:=0;
while i<length (ar) do
begin
s:=s+ar[i];
Inc(i);
end;

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

9

Pętle – sprawdzenie po
iteracji

Java

Budowa:

do
Block
while (warunek);

Przykład:

String buffer;
DataInputStream my_inp = new
DataInputStream(System.in);

do {
buffer=my_inp.readLine(); }
while (! buffer.equals(„exit”));

Delphi

Budowa:

repeat
Block
until (warunek);

Przykład:

repeat
read(x);
until (x=0);

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

10

Kontrola pętli

Break – przerywa wykonywanie pętli

Przykład:

for (int i=0; i<ar.length; i++)
{ if ar[i]==0 beak;
s=fun(ar[i]);
.....
}

Continue –”przeskakuje” pozostałe instrukcje w bloku

Przykład:

for (int i=0; i<ar.length; i++)
{ if ar[i]==0 continue;
s=fun(ar[i]);
.....
}

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

11

Powrót z metody

Java

Instrukcja return (powrot)

przekazuje kontrolę

programu do metody

„wołającej”. Jeżeli metoda

zwraca wartość (jest

funkcją) to trzeba podać

wartość lub wyrażenie.

Budowa:

return wyrażenie;

Przykład:

int x2(int x)
{
return x*x;
}

Delphi

Instrukcja break lub

dojście do końca bloku

powoduje powrót z funkcji

Zwracaną wartość nadaje

się przypisuje się nazwie

funkcji lub pseudo

zmiennej Result;

Przykład:

function x2(x: integer);
begin
x2:=x*x;
// result:=x*x;
end;

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

12

Klasy - deklaracja

Java

Budowa:

class nazwaKlasy

extends klasaPrzodek
implements
interfacaName {

Deklaracje zmiennych
Deklaracje funkcji

(metod)

Inicjalizator klasy
}

Delphi

Budowa

nazwaKlasy= class

(klasaPrzodek )

ZakresWidoczności
Deklaracje

zmiennych

Deklaracje funkcji
Konstruktor klasy
end;

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

13

Metody i zmienne -
deklaracja

Deklaracja zmiennych

Modyfikator(y) typ nazwa = wartość_ początkowa

Deklaracja metody (funkcji w klasie)

Modyfikator(y) typ nazwa (lista_argumentów) {
instrukcje; ...
}

Budowa listy argumentów

(typ identyfikator, typ identyfikator, ....)

Deklaracja inicjalizatora

static { instrukcje; ... }

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

14

Klasy - przykład

Class MyClass {
int i; // zmienna klasy
int Metoda1() {

int j; //zmienna lokalna
j=1;
return j;
}

int Metoda2() {

int j; //zmienna lokalna ale inna niż powyżej
j=2;
return j;
}

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

15

Modyfikatory - static

Static

Zmienne należą do typu a nie są kopiowane do obiektu danej klasy

Przykład:

public class MyClass {
// zmienna typu klasy
public static int instanceCount;
// konstruktor obiektu
public MyClass() {instanceCount++; }
// metoda typu klasy
public static void resetCounter() {instanceCount=0; }
// inicjalizator typu klasy
static { instanceCount=0; }
}

Metoda statyczne może być wywoływana z użyciem identyfikatora

typu klasy:

MyClass.resetCounter;

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

16

Modyfikatory

abstract

klasa nie jest w pełni zaimplementowana

Można dziedziczyć z tej klasy

Nie można tworzyć obiektów (nie używać new)

synchronised

Synchronizacja wątków (threads)

native

Zaimplementowane w innym języku (n.p. C)

volative

Zmienna może się zmienić niezależnie od programu

(n.p. I/O)

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

17

Modyfikatory - final

Zmienna nie może zmieniać
wartości (po prostu stała)

Musi być nadana wartość w deklaracji

Przykład;

final int MAX_NUMBER = 1000;

Klasa lub metoda

Nie można nadpisać w klasie potomnej

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

18

Modyfikatory dostępu

Java

Określamy dla
każdej metody lub
zmiennej

Typy

public

protected

private protected

private

Delphi

Definiujemy sekcje

o danym dostępie i

tam wpisujemy

deklaracje

zmiennych lub

metod

Typy

public

protected

private

published

background image

18/04/02

Programowanie Java 4 Copyri
ght Marek A. Chmielowski

19

Wskaźnik obiektu i klasy
„rodzicielskiej”

this

Wskazuje na obiekt z którego wywołano
metodę

super

Wskazuje na klasę „rodzicielską”

Przykład

this.x = 0; // nadaje wartość zmiennej obiektu

super.x = 0; // nadaje wartość zmiennej w
klasie „rodzicielskiej”


Document Outline


Wyszukiwarka

Podobne podstrony:
Java Programowanie Sieciowe Podstawy Javy id 226331
Java, ProgrammingJavaLecture2
Java, Programowanie W Jezyku Java
Java Programowanie, biblioteki open source i pomysly na nowe projekty
java programming unleashed [ EN ] Java2
Java, ProgrammingJavaLecture1
Java, ProgrammingJavaLecture5
Zeszyt Java, Programowanie obiektowe i strukturalne, Java
Java i Programowanie w Sieci Internet
Generics in the Java Programming Language
Sun Java Training SL 275 Java Programming Language Overheads (Sun Microsystems, 2000)
Java Programowanie, biblioteki open source i pomysly na nowe projekty
Java programy
143030393X {72191ACF} Fast Track to Sun Certified Java Programmer (SCJP) 5 0 Upgrade Exam [Tong 2006
Java Programowanie biblioteki open source i pomysly na nowe projekty
Java Programmer 2 exam objectives

więcej podobnych podstron