Podstawy jezyka Java id 367418 Nieznany

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

1 / 55




Programowanie obiektowe

Podstawy j

ę

zyka Java

Paweł Rogali

ń

ski

Instytut Informatyki, Automatyki i Robotyki
Politechniki Wrocławskiej

pawel.rogalinski

pwr.wroc.pl

@

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

2 / 55

Podstawowe elementy j

ę

zyka



Komentarze



słowa kluczowe



Identyfikatory



Typy danych



Literały



Operatory



Instrukcje warunkowe



Instrukcje iteracyjne



Instrukcje skoku

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

3 / 55

Komentarze w Javie

Komentarz wierszowy

// Program wypisuj

ą

cy tekst powitania

Komentarz blokowy

/* Program wypisuj

ą

cy tekst powitania

Warszawa, 13 listopada 2002 r.
*/

Komentarz dokumentacyjny

/**
* Klasa rysuj

ą

ca wykres. Typ wykresu

* zale

ż

y od naci

ś

ni

ę

tego przycisku.

*

@

version 1.0

*/

class Wykres {...

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

4 / 55

Tworzenie dokumentacji

Do opisu fragmentów kodu

ź

ródłowego programu u

ż

ywa si

ę

komentarzy. Na ich

podstawie, u

ż

ywaj

ą

c programu

javadoc

mo

ż

na pó

ź

niej wygenerowa

ć

dokumentacj

ę

.

Najcz

ęś

ciej opisuje si

ę

elementy takie jak

klasy

,

interfejsy

oraz

metody

i

atrybuty

klas.

Komentarze powinny by

ć

krótkie, precyzyjne. Nale

ż

y je umieszcza

ć

bezpo

ś

rednio przed

dokumentowanym elementem programu.

Polecenie wygenerowania dokumentacji ma posta

ć

:

javadoc nazwa_pliku.java

Jego wynikiem jest zbiór plików z opisem w formacie HTML.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

5 / 55

Tworzenie dokumentacji



Aby tekst komentarza został rozpoznany przez

javadoc

, musi by

ć

umieszczony

pomi

ę

dzy sekwencjami znaków

/**

i

*/

.



Pocz

ą

tkowe znaki

*

w kolejnych wierszach s

ą

pomijane.



W tek

ś

cie komentarza mo

ż

na umieszcza

ć

kod HTML np.

<ol>
<li> pierwszy element list
<li> drugi element listy
</ol>



Ka

ż

dy wiersz zawieraj

ą

cy znak

@

, po którym nast

ę

puje jeden ze znaczników

dokumentacyjnych, powoduje utworzenie w dokumentacji oddzielnego

paragrafu.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

6 / 55

Znaczniki dokumentacyjne

javadoc

@

author

– informacje o autorze programu,

@

version

– informacje o wersji programu,

@

return

– opis wyniku zwracanego przez metod

ę

,

@

serial

– opis typu danych i mo

ż

liwych warto

ś

ci przyjmowanych przez zmienn

ą

,

@

see

– tworzy ł

ą

cze do innego tematu,

@

since

– opis wersji, od której zaistniał okre

ś

lony fragment kodu,

@

deprecated

– informacje o elementach zdeprecjonowanych

(które nie s

ą

zalecane),

@

param

– opis parametru wywołania metody,

@

exception

– identyfikator wyj

ą

tku.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

7 / 55

Przykład tworzenia dokumentacji

/**
* To jest przykładowa klasa <code>Komunikat</code>
* zawieraj

ą

ca komentarze <i>javadoc</i>.

* @author Paweł Rogalinski
* @version v1.0 (2006r.)
*/

class

Komunikat

{

/**

* metoda drukuje komunikat.
* @param tekst tre

ść

komunikatu

* @return zawsze zwraca 1.
*/

public

int

drukujKomunikat(String tekst)

{ System.out.println(tekst);

return

1;

}
}

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

8 / 55

Przykład tworzenia dokumentacji



















background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

9 / 55

Słowa kluczowe

Słowa kluczowe to słowa, które maj

ą

specjalne znaczenie (np. oznaczaj

ą

instrukcje

steruj

ą

ce) i nie mog

ą

by

ć

u

ż

ywane w innym kontek

ś

cie ni

ż

okre

ś

la składnia j

ę

zyka.

abstract

default

if

package

synchronized

assert

do

implements private

this

boolean

double

import

protected

throw

break

else

instanceof public

throws

byte

extends

int

return

transient

case

false

interface

short

true

catch

final

long

static

try

char

finally

native

strictfp

void

class

float

new

super

volatile

const

for

null

switch

while

continue

goto


Uwagi
:



słowa kluczowe

goto

i

const

, s

ą

zarezerwowane ale nie s

ą

u

ż

ywane.



słowa

boolean

,

byte

,

char

,

double

,

float

,

int

,

long

,

short

s

ą

nazwami typów podstawowych.



słowa

true

,

false

i

null

s

ą

nazwami stałych.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

10 / 55

Identyfikatory

Identyfikatory to tworzone przez programist

ę

nazwy klas, pól i metod klasy

oraz stałych i zmiennych.

Identyfikator musi zaczyna

ć

si

ę

od litery lub podkre

ś

lenia i mo

ż

e składa

ć

si

ę

z dowolnych znaków alfanumerycznych (liter i cyfr) oraz znaków podkre

ś

lenia.

Java rozró

ż

nia wielkie i małe litery w identyfikatorach

Identyfikator nie mo

ż

e pokrywa

ć

si

ę

ze słowami kluczowymi.

Zalecenia:



Nazwy klas: wszystkie słowa w nazwie rozpoczyna

ć

du

żą

liter

ą

,

np.:

ObiektGraficzny



Nazwy metod i pól publicznych: pierwsze słowo rozpoczyna

ć

mał

ą

liter

ą

,

a kolejne wyrazy du

żą

liter

ą

, np.:

rysujTlo

,

kolorWypelnienia

.



Nazwy metod i pól prywatnych: pisa

ć

wył

ą

cznie małymi literami,

a wyrazy ł

ą

czy

ć

podkre

ś

leniem, np.:

kierunek_ruchu

.



Nazwy zmiennych niemodyfikowalnych (stałych): pisa

ć

wył

ą

cznie du

ż

ymi literami,

a wyrazy ł

ą

czy

ć

podkre

ś

leniem, np.:

ROZMIAR_TABLICY

.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

11 / 55

Typy danych

Typ danej to

zbiór jej mo

ż

liwych warto

ś

ci

oraz

zestaw operacji

, które mo

ż

na na nich

wykonywa

ć

. Jednocze

ś

nie okre

ś

la on

rozmiar pami

ę

ci

potrzebny do

przechowywania danej oraz

sposób zapisu danej w pami

ę

ci

komputera.

J

ę

zyk Java zawiera nast

ę

puj

ą

ce typy danych:



typy podstawowe:

typy całkowite:

byte

,

short

,

int

,

long

,

typy rzeczywiste:

float

,

double

,

typ znakowy:

char

,

typ logiczny:

boolean

,



typ wyliczeniowy



typ referencyjny – nazwy typu referencyjnego pochodz

ą

od nazwy klasy lub

interfejsu. Warto

ś

ci

ą

zmiennej typu referencyjnego jest referencja (odniesienie) do

obiektu.

Dane w programie przedstawiamy za pomoc

ą

literałów, zmiennych oraz stałych.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

12 / 55

Typy podstawowe

Typy podstawowe reprezentuj

ą

pojedyncze warto

ś

ci – nie s

ą

one zło

ż

onymi obiektami.

Zapewnia to bardzo du

żą

wydajno

ść

przy wykonywaniu oblicze

ń

.

Rozmiar i zakres warto

ś

ci typów podstawowych

nazwa

typu

zaj

ę

to

ść

pami

ę

ci

zakres warto

ś

ci

warto

ść

domy

ś

lna

znaczenie

byte

1

od -128 do 127

0

short

2

od -32768 do 32767

0

int

4

od ok. -2

×

10

9

do ok. 2

×

10

9

0

long

8

od ok. -9

×

10

18

do ok. 9

×

10

18

0

liczby całkowite

float

4

od ok. -3.4

×

10

38

do ok. 3.4

×

10

38

0.0F

double

8

od ok. -1.7

×

10

308

do ok. 1.7

×

10

308

0.0D

liczby rzeczywiste

char

2

od 0 do 65535

‘x0’

znaki unicode

boolean

1

false

,

true

false

warto

ś

ci logiczne

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

13 / 55

Typy podstawowe



Wszystkie typy całkowite reprezentuj

ą

liczby ze znakiem tzn. pierwszy bit liczby

jest traktowany jako znak.



Implementacja typów zmiennoprzecinkowych w Javie jest zgodna ze standardem

IEEE-754.



Znaki s

ą

w Javie reprezentowane jako 16-bitowe kody Unicode UTF-16 (ponad

65 tys. znaków; m.in. alfabet grecki i znaki innych alfabetów europejskich,

rosyjski, arabski, hebrajski, japo

ń

ski). Powszechnie obecnie stosowany kod

ASCII (7 bitowy) jest podzbiorem Unikodu.



Dane typu logicznego mog

ą

przyjmowa

ć

tylko jedn

ą

z dwóch warto

ś

ci:

true

(prawda) lub

false

(fałsz). Nie mo

ż

na stosowa

ć

warto

ś

ci 0 i 1, tak jak to

jest w j

ę

zyku C/C++.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

14 / 55

Typy wyliczeniowe



Wyliczenia tworzy si

ę

za pomoc

ą

słowa kluczowego

enum,

np.:

enum Kolor
{ Zielony, Zolty, Czerwony
}



Identyfikatory

Zielony

,

Zolty

,

Czerwony

nazywany stałymi wyliczeniowymi.

S

ą

one publicznymi statycznymi składowymi wyliczenia i posiadaj

ą

taki sam typ jak wyliczenie



W programie mo

ż

na deklarowa

ć

zmienne wyliczeniowe, którym mo

ż

na

przypisywa

ć

stałe wyliczenia, np.:

Kolor kol;
kol = Kolor.Zielony.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

15 / 55

Typy wyliczeniowe cd.



Stałe wyliczeniowe mo

ż

na wykorzystywa

ć

w instrukcji warunkowej

if

oraz

w instrukcji wyboru

switch

, np.:

if (kol==Kolor.Czerwony){ ... }

switch(kol)
{ case Zielony: System.out.print(”GREEN”); break;
case Zolty: System.out.print(”YELLOW”); break;
case Czerwony: System.out.print(”RED”); break;
}



Wszystkie wyliczenia automatycznie zawieraj

ą

dwie predefiniowane metody:

public static

typ-wyliczeniowy

[] values()

public static

typ-wyliczeniowy

valueOf(String tekst)

Metoda

values()

zwraca tablic

ę

zawieraj

ą

c

ą

list

ę

stałych wyliczeniowych.

Metoda

valueOf()

zwraca stał

ą

wyliczeniow

ą

, której odpowiada tekst

przekazany jako argument.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

16 / 55

Typy wyliczeniowe - przykład

class

KoloryDemo

{

// deklaracja typu wyliczeniowego

enum

Kolor

{ Zielony, Zolty, Czerwony
}

public static void

main(String[ ] args)

{

// deklaracja zmniennej typu wyliczeniowego

Kolor kolor;

// u

ż

ycie metody values()

System.out.println(

"Oto wszystkie kolory"

);

Kolor[] tab = Kolor.values();

for

(Kolor k : tab) System.out.println(k);

// u

ż

ycie metody valueOf()

kolor = Kolor.valueOf(

"Zielony"

);

// u

ż

ycie stałej wyliczeniowej w instrukcji if

if

(kolor==Kolor.Zielony) System.out.println(

"\n GREEN \n"

);

if

(kolor==Kolor.Zolty) System.out.println(

"\n YELLOW \n"

);

if

(kolor==Kolor.Czerwony) System.out.println(

"\n RED \n"

);

// u

ż

ycie stałych wyliczeniowych w instrukcji switch

switch

(kolor)

{

case

Zielony:

System.out.println(

"kolor zielony - droga wolna"

);

break

;

case

Zolty:

System.out.println(

"kolor

ż

ółty - uwaga"

);

break

;

case

Czerwony:

System.out.println(

"kolor czerwony - stop"

);

break

;

} } }

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

17 / 55

Literały

Literał to napis reprezentuj

ą

cy w sposób bezpo

ś

redni warto

ść

danej. W Javie

wyró

ż

niamy literały liczbowe, znakowe, ła

ń

cuchowe i logiczne.


Literał liczbowy
to bezpo

ś

redni zapis konkretnej liczby.



Liczby całkowite mog

ą

by

ć

zapisywane w systemie:

dziesi

ę

tnym, w naturalny sposób np.

3

lub

121

ósemkowym, poprzez poprzedzenie liczby zerem np.

03

szesnastkowym, poprzez poprzedzenie liczby znakami

0x

lub

0X

np.

0xFF

(cyfry szesnastkowe powy

ż

ej 9 mog

ą

by

ć

zapisywane wielkimi lub małymi

literami).



Ka

ż

da liczba całkowita zapisana literalnie (np.

100

) jest traktowana jako liczba

typu

int

.



Liczby całkowite typu

long

s

ą

zapisywane z przyrostkiem

L

lub

l

np.

300L

.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

18 / 55

Literały cd.

Literały liczbowe cd.



Przy zapisie liczb rzeczywistych jako separator miejsc dziesi

ę

tnych jest

stosowana kropka (a nie przecinek) np.

3.1415



Liczby rzeczywiste mog

ą

by

ć

zapisywane w notacji naukowej z wykorzystaniem

litery e lub E np.

9.3e-9

(9.3 pomno

ż

one przez 10 do pot

ę

gi -9)



Ka

ż

da liczba rzeczywista zapisana literalnie (z kropk

ą

dziesi

ę

tn

ą

lub w notacji

naukowej) jest traktowana jako liczba typu

double

.



Liczby rzeczywiste typu

float

s

ą

zapisywane z przyrostkiem

F

lub

f

np.

3.7f

.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

19 / 55

Literały cd.

Literał znakowy okre

ś

la jeden znak zapisany bezpo

ś

rednio w programie.



Literały znakowe typu

char

zapisujemy jako:

pojedyncze znaki w apostrofach np.

’A’

,

’+’

,

znaki specjalne uj

ę

te w apostrofy np.

’\n’

,

’\t’

,

jako kod szesnastkowy Unicode uj

ę

ty w apostrofy

np.

’\u006E’

(litera n),

’\u001B’

(znak Esc),



Bezpo

ś

rednich kodów Unikodu nie wolno stosowa

ć

dla

znaków specjalnych LF (

’\u000a’

) i CR (

’\000d’

).

Zamiast tego nale

ż

y stosowa

ć

znaki

’\n’

i

’\r’

.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

20 / 55

Literały cd.

Znaki specjalne i ich zapis stosowany w literałach znakowych i ła

ń

cuchowych

znaki specjalne

zapis

przej

ś

cie do nowego wiersza (line feedLF)

\n

tabulacja (TAB)

\t

backspace (BS)

\b

powrót karetki (carrage returnCR)

\r

nowa strona (form feedFF)

\f

apostrof

\’

cudzysłów

\”

lewy uko

ś

nik (backslash)

\\

dowolny znak o kodzie NNNN w unikodzie (N to cyfra szesnastkowa)

\uNNNN

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

21 / 55

Literały cd.

Literał ła

ń

cuchowy to bezpo

ś

rednio zapisane ci

ą

gi znaków (napisy),

które s

ą

traktowane jako teksty

.



Ła

ń

cuchy znakowe zapisujemy jako ci

ą

gi znaków uj

ę

te w cudzysłowy

np.

”Ala ma kota”

.



W ła

ń

cuchach mo

ż

na wstawia

ć

znaki specjalne oraz znaki unikodu

np.

”dwa\nwiersze i litera \u0061”

.



W Javie literały ła

ń

cuchowe s

ą

zawsze traktowane jako obiekty klasy

String

.


Literały logiczne s

ą

zapisywane wył

ą

cznie za pomoc

ą

słów

false

i

true

.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

22 / 55

Literały cd.

Przykład drukowania literałów znakowych i ła

ń

cuchowych

class

Literaly

{

public

static

void

main(String[] args){


System.out.println(

'A'

);

System.out.println(

'\u0061'

);

System.out.println('\\');
System.out.println(

"Ala \n ma \"kota\""

);

System.out.println(

"----------"

);

}
}

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

23 / 55

Operatory

Operatory

s

ą

to specjalne symbole stosowane do wykonywania działa

ń

arytmetycznych,

przypisa

ń

, porówna

ń

i innych operacji na danych.

Dane, na których s

ą

wykonywane operacje s

ą

nazywane

argumentami

. Operatory s

ą

jedno, dwu lub trzyargumentowe.

Uwaga: Niektóre operatory mog

ą

by

ć

stosowane zarówno jako

jednoargumentowe jak i dwuargumentowe np.

+

.

Ka

ż

dy operator mo

ż

e by

ć

stosowany wył

ą

cznie do danych okre

ś

lonego typu.

Wynik działania operatora jest okre

ś

lonego typu.

Uwaga: Dla niektórych operatorów typ wyniku zale

ż

y od typu argumentów.

Wyra

ż

enia

tworzy si

ę

za pomoc

ą

operatorów i nawiasów ze zmiennych, stałych,

literałów oraz wywoła

ń

metod. Wyra

ż

enia s

ą

opracowywane (wyliczane),

a ich wyniki mog

ą

by

ć

w ró

ż

ny sposób wykorzystane np. w przypisaniach, jako

argumenty innych operatorów, w instrukcjach steruj

ą

cych wykonaniem programu,

w wywołaniach metod, itd.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

24 / 55

Operatory cd.

Kolejno

ść

opracowywania (wyliczania) wyra

ż

e

ń

zale

ż

y od priorytetów i wi

ą

za

ń

operatorów u

ż

ytych w tych wyra

ż

eniach.

Priorytety

mówi

ą

o tym, w jakiej kolejno

ś

ci b

ę

d

ą

wykonywane ró

ż

ne operacje w tym

samym

wyra

ż

eniu.


Przykład: W wyra

ż

eniu

a+b*c

najpierw b

ę

dzie wykonane mno

ż

enie, a potem

dodawanie poniewa

ż

operator

*

ma wy

ż

szy priorytet ni

ż

operator

+

.

Ż

eby odwróci

ć

kolejno

ść

wykonywania działa

ń

trzeba u

ż

y

ć

nawiasów:

(a+b)*c

Wi

ą

zania

okre

ś

laj

ą

kolejno

ść

wykonywania operacji o tym samym priorytecie tzn. czy s

ą

one wykonywane od lewej strony wyra

ż

enia czy od prawej.


Przykład: W wyra

ż

eniu

a-b+c

najpierw b

ę

dzie wykonane odejmowanie,

a potem dodawanie bo wi

ą

zanie operatorów

+

i

jest lewostronne.

Ż

eby odwróci

ć

kolejno

ść

wykonywania działa

ń

trzeba u

ż

y

ć

nawiasów:

a-(b+c)

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

25 / 55

Zestawienie operatorów dost

ę

pnych w Javie

wi

ą

zanie i

priorytet

operator

sposób u

ż

ycia

działanie

.

obiekt

.

składowa

wybór składowej klasy

[ ]

tablica

[

wyra

ż

enie

]

indeks tablicy

le

w

e

1

( )

metoda

(

lista wyra

ż

e

ń

)

wywołanie metody

++

zmienna

++

++

zmienna

przyrostkowe / przedrostkowe
zwi

ę

kszenie o 1

--

zmienna

--

--

zmienna

przyrostkowe / przedrostkowe
zmniejszenie o 1

+
-

+

wyra

ż

enie

-

wyra

ż

enie

jednoargumentowy plus,
jednoargumentowy minus

!

!

wyra

ż

enie

negacja logiczna

~

~

wyra

ż

enie

dopełnienie bitowe

(

typ

)

(

typ

)

wyra

ż

enie

rzutowanie typu

p

ra

w

e

2

new

new

typ

tworzenie obiektu

*

wyra

ż

enie

*

wyra

ż

enie

mno

ż

enie,

/

wyra

ż

enie

/

wyra

ż

enie

dzielenie,

le

w

e

3

%

wyra

ż

enie

%

wyra

ż

enie

modulo

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

26 / 55

wi

ą

zanie i

priorytet

operator

sposób u

ż

ycia

działanie

+

wyra

ż

enie

+

wyra

ż

enie

dodawanie,
ł

ą

czenie ła

ń

cuchów,

le

w

e

4

-

wyra

ż

enie

-

wyra

ż

enie

odejmowanie

<<

wyra

ż

enie

<<

wyra

ż

enie

przesuni

ę

cie bitowe w lewo

>>

wyra

ż

enie

>>

wyra

ż

enie

przesuni

ę

cie bitowe w prawo

le

w

e

5

>>>

wyra

ż

enie

>>>

wyra

ż

enie

przes. bitowe w prawo bez znaku

<

wyra

ż

enie

<

wyra

ż

enie

mniejsze,

<=

wyra

ż

enie

<=

wyra

ż

enie

mniejsze lub równe,

>

wyra

ż

enie

>

wyra

ż

enie

wi

ę

ksze,

>=

wyra

ż

enie

>=

wyra

ż

enie

wi

ę

ksze lub równe

6

instanceof

obiekt

instanceof

klasa

stwierdzenie typu obiektu

==

wyra

ż

enie

==

wyra

ż

enie

równo

ść

,

le

w

e

7

!=

wyra

ż

enie

!=

wyra

ż

enie

nierówno

ść

8

&

wyra

ż

enie

&

wyra

ż

enie

bitowe AND

9

^

wyra

ż

enie

^

wyra

ż

enie

bitiwe OR wył

ą

czaj

ą

ce

10

|

wyra

ż

enie

|

wyra

ż

enie

bitiwe OR

11

&&

wyra

ż

enie

&&

wyra

ż

enie

logiczne AND

12

||

wyra

ż

enie

||

wyra

ż

enie

logiczne OR

le

w

e

13

? :

wyra

ż

?

wyra

ż

:

wyra

ż

operator warunku

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

27 / 55

wi

ą

zanie i

priorytet

operator

sposób u

ż

ycia

działanie

=

zmienna

=

wyra

ż

enie

proste przypisanie

*=

zmienna

*=

wyra

ż

enie

pomnó

ż

i przypisz

/=

zmienna

/=

wyra

ż

enie

podziel i przypisz

%=

zmienna

%=

wyra

ż

enie

oblicz modulo i przypisz

+=

zmienna

+=

wyra

ż

enie

dodaj i przypisz

-=

zmienna

-=

wyra

ż

enie

odejmij i przypisz

<<=

zmienna

<<=

wyra

ż

enie

przesu

ń

w lewo i przypisz

>>=

zmienna

>>=

wyra

ż

enie

przesu

ń

w prawo i przypisz

>>>=

zmienna

>>>=

wyra

ż

enie

przesu

ń

w prawo bez znaku i

przypisz

&=

zmienna

&=

wyra

ż

enie

koniunkcja bitowa i przypisz

^=

zmienna

^=

wyra

ż

enie

ż

nica bitowa i przypisz

p

ra

w

e

14

|=

zmienna

|=

wyra

ż

enie

alternatywa bitowa i przypisz

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

28 / 55

Operatory przypisania

Operator przypisania

=

oblicza warto

ść

wyra

ż

enia po prawej stronie, a nast

ę

pnie

przypisuje obliczon

ą

warto

ść

do zmiennej umieszczonej po lewej stronie.

Uwaga: Działanie operatora dla

typów prostych

jest zgodne z intuicj

ą

.

Je

ś

li

a

i

b

s

ą

zmiennymi typu prostego to instrukcja

a=b

powoduje skopiowanie

warto

ś

ci zmiennej

b

do

a

. Pó

ź

niejsza modyfikacja zmiennej

b

nie wpływa na

warto

ść

zmiennej

a

.


Je

ś

li zmienne

a

i

b

s

ą

typu referencyjnego

(zawieraj

ą

odwołanie do obiektu)

to wykonanie instrukcji

a=b

powoduje skopiowanie do zmiennej

a

referencji do

obiektu wskazywanego przez zmienn

ą

b

. W efekcie zmienne

a

i

b

wskazuj

ą

na

ten sam obiekt. Pó

ź

niejsza modyfikacja obiektu wskazywanego przez

b

powoduje

równie

ż

modyfikacj

ę

obiektu wskazywanego przez

a

.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

29 / 55

Operator przypisania - przykład dla typów prostych
i referencyjnych

class

Test

{

int

p;


Test(

int

p){

this

.p=p; }


public

String toString(){

return

""+p; }


public

static

void

main(String[] args){


System.out.println(

"Inicjalizacja:"

);

int

zmA = 10;

int

zmB = 15;

Test obA =

new

Test(10);

Test obB =

new

Test(15);

System.out.println(

"zmA = "

+zmA+

" zmB = "

+zmB);

System.out.println(

"obA = "

+obA+

" obB = "

+obB);


System.out.println(

"\nPrzypisanie:"

);

zmA = zmB;
obA = obB;
System.out.println(

"zmA = "

+zmA+

" zmB = "

+zmB);

System.out.println(

"obA = "

+obA+

" obB =

"

+obB);


System.out.println(

"\nModyfikacja:"

);

zmB = 20;
obB.p = 20;
System.out.println(

"zmA = "

+zmA+

" zmB = "

+zmB);

System.out.println(

"obA = "

+obA+

" obB = "

+obB);

} }

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

30 / 55

Operator przypisania - przykład dla typów prostych
i referencyjnych

10

15

10

zmB

zmA

obB

obA

15

// Inicjalizacja
int zmA = 10;
int zmB = 15;

Test obA = new Test(10);
Test obB = new Tesy(20);

15

15

10

zmB

zmA

obB

obA

15

// Przypisanie
zmA = zmB;
obA = obB;

15

20

10

zmB

zmA

obB

obA

20

// Modyfikacja
zmB = 20;
obB.p = 20;

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

31 / 55

Operator przypisania cd.

Wi

ą

zanie prawostronne operatora przypisania powoduje,

ż

e instrukcje przypisania s

ą

opracowywane od prawej strony. W wyra

ż

eniu:

a=b=c=10;

najpierw zostanie

wykonane przypisanie

c=10

, nast

ę

pnie przypisanie

b=c

, a na koniec

a=b

. W

rezultacie zmienne

a

b

i

c

b

ę

d

ą

miały warto

ść

10

.

W Javie wyst

ę

puj

ą

tzw. zło

ż

one operatory przypisania w postaci

op=

gdzie

op

jest to

jeden z operatorów:

*

,

/

,

%

,

+

,

-

,

<<

,

>>

,

>>>

,

&

,

^

,

|

.

Uwaga: Instrukcja

x op= wyra

ż

enie;

jest równowa

ż

na instrukcji:

x = x op wyra

ż

enie;

Jest to bardzo wygodny sposób skracania zapisu,

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

32 / 55

Operatory inkrementacji i dekrementacji

Operator

++

zwi

ę

ksza, a

–-

zmniejsza o jeden warto

ść

argumentu (zmiennej). Oba

wyst

ę

puj

ą

w dwóch postaciach:

przyrostkowej (operator po argumencie

–-

zmiennej),

przedrostkowej (operator przed argumentem

–-

zmienn

ą

).

Przyrostkowa forma operatorów modyfikuje warto

ść

argumentu po jej wykorzystaniu

w wyra

ż

eniu, przedrostkowa przed wykorzystaniem tej warto

ś

ci.

class

Incrementacja

{

public

static

void

main(String[] args){

int

a, a2, b, b2;

a=10; b=10;
System.out.println(

"a="

+a+

" b="

+b);

a2=++a;
b2=b++;
System.out.println(

"Wykonuje instrkcje: a2=++a; b2=b++;"

);

System.out.println(

"a="

+a+

" a2="

+a2);

System.out.println(

"b="

+b+

" b2="

+b2);

}
}


background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

33 / 55

Rodzaje instrukcji w j

ę

zyku Java

Instrukcja pusta

– nie powoduj

ę

wykonania

ż

adnych działa

ń

np.

;

Instrukcje wyra

ż

eniowe

:



przypisanie np.

a = b;



preinkrementacja np.

++a;



predekrementacja np.

--b;



postinckrementacja np.

a++;



postdekrementacja np.

b--;



wywołanie metody np.

x.metoda();



wyra

ż

enie new np.

new Para();

Uwaga: instrukcja wyra

ż

eniowa jest zawsze zako

ń

czona

ś

rednikiem.

Instrukcja grupuj

ą

ca

– dowolne instrukcje i deklaracje zmiennych uj

ę

te w nawiasy

klamrowe np.

{ int a,b;

a = 2*a+b;

}

Uwaga: po zamykaj

ą

cym nawiasie nie stawiamy

ś

rednika.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

34 / 55

Rodzaje instrukcji w j

ę

zyku Java cd.

Instrukcja etykietowana

– identyfikator i nast

ę

puj

ą

cy po nim dwukropek wskazuj

ą

cy

instrukcje steruj

ą

c

ą

switch

,

for

,

while

lub

do

.

Instrukcja steruj

ą

ca

– umo

ż

liwia zmian

ę

sekwencji (kolejno

ś

ci) wykonania innych

instrukcji programu. Rozró

ż

niamy instrukcje:



warunkowe:

if

,

if

...

else

,

switch



iteracyjne:

for

,

while

,

do

...

while



skoku:

break

,

continue

,

return

Instrukcja throw

– zgłaszanie wyj

ą

tku przerywaj

ą

cego normalny tok działania programu.

Instrukcja synchronized

– wymuszanie synchronizacji przy współbie

ż

nym

wykonywaniu ró

ż

nych w

ą

tków programu

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

35 / 55

Posta

ć

instrukcji warunkowej

if

Instrukcja warunkowa

if

słu

ż

y do zapisywania decyzji, gdzie wykonanie

instrukcji

jest uzale

ż

nione od spełnienia jakiego

ś

warunku

.



if (

warunek

)

{
instrukcja;
}





warunek

instrukcja

prawda

fałsz

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

36 / 55

Posta

ć

instrukcji warunkowej

if - else

Instrukcja warunkowa

if ... else

słu

ż

y do zapisywania decyzji, gdzie wykonanie

jednej z alternatywnych instrukcji zale

ż

y od spełnienia jakiego

ś

warunku.

Je

ś

li

warunek

jest prawdziwy to wykonywana jest

instrukcja1

, w przeciwnym wypadku

wykonywana jest

instrukcja2

.


if (

warunek

)

{
instrukcja1;
}

else

{
instrukcja2;
}





warunek

instrukcja1

instrukcja2

prawda

fałsz

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

37 / 55

Przykład - instrukcja

if ... else

import

javax.swing.JOptionPane;

class

PrzykladIf

{

public

static

void

main(String[] args)

{

double

a, b, c, delta, x1, x2;


a = Double.parseDouble(JOptionPane.showInputDialog(

null

,

"Podaj a:"

));

b = Double.parseDouble(JOptionPane.showInputDialog(

null

,

"Podaj b:"

));

c = Double.parseDouble(JOptionPane.showInputDialog(

null

,

"Podaj c:"

));

System.out.println(

"\n"

+ a +

" x^2 + "

+ b +

" x + "

+ c +

" = 0"

);


if

(a<0)

{ System.out.println(

"\n To nie jest równanie kwadratowe"

);

System.exit(0);
}

delta = b*b-4*a*c;
System.out.println(

"\n delta="

+ delta);


if

(delta>0){

x1 = (-b - Math.sqrt(delta))/(2*a);
x2 = (-b + Math.sqrt(delta))/(2*a);
System.out.println(

"\n x1="

+ x1 +

" x2="

+ x2);

}

else

if

(delta==0){

x1 = -b/(2*a);
System.out.println(

"\n x1="

+ x1);

}

else

System.out.println(

"\n To równanie nie ma pierwiastków"

);

} }

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

38 / 55

Posta

ć

instrukcji wyboru

switch

Instrukcja wyboru

switch

pozwala zapisywa

ć

decyzje, kiedy to o wyborze jednej

z alternatyw decyduje warto

ść

skalarna jakiego

ś

wyra

ż

enia testowego

. Wyra

ż

enie to

musi by

ć

typu całkowitego, znakowego lub wyliczeniowego. Jego wynik jest

porównywany z

wyra

ż

eniami stałymi

(np. literałami) wyst

ę

puj

ą

cymi po słowie kluczowym

case

. W przypadku zgodno

ś

ci wykonywana jest odpowiednia

instrukcja po dwukropku

i nast

ę

puj

ą

ce po niej kolejne instrukcje a

ż

do napotkania instrukcji

break

lub

return

.

Je

ś

li

ż

adne z wyra

ż

e

ń

stałych po słowie

case

nie jest zgodne z warto

ś

ci

ą

wyra

ż

enia

testowego

to wykonywana jest

instrukcja po klauzuli

default

.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

39 / 55

Posta

ć

instrukcji wyboru

switch

switch (

test

)

{ case

warto

ść

1

:

instrulcje1;

break;

case

warto

ść

2

:

instrukcje2;

case

warto

ść

3

:

instrukcje3;

case

warto

ść

4

:

instrukcje4;

break;

case

warto

ść

5

:

instrukcje5;

break;

... ...

default:

instrukcje-n;
}





...

test

warto

ść

1

warto

ść

2

warto

ść

3

warto

ść

4

warto

ść

5

inna

warto

ść

instrukcje1

instrukcje2

instrukcje3

instrukcje4

instrukcje5

instrukcje-n

...

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

40 / 55

Przykład – instrukcja

switch

import

javax.swing.JOptionPane;

class

PrzykladSwitch{

public

static

void

main(String[] args){

double

a, b;

char

oper;


a=Double.parseDouble(JOptionPane.showInputDialog(

null

,

"Podaj a"

));

b=Double.parseDouble(JOptionPane.showInputDialog(

null

,

"Podaj b"

));

oper=JOptionPane.showInputDialog(

null

,

"Podaj działanie"

).charAt(0);

System.out.println(

"a="

+ a +

" b="

+ b +

" oper="

+ oper);


switch

(oper){

case

'+': System.out.println(

" Suma wynosi "

+ (a+b));

break

;

case

'-': System.out.println(

"Roznica wynosi "

+ (a-b));

// break; <<<<<<<< UWAGA: to jest komentarz

case

'*': System.out.println(

"Iloczyn wynosi "

+ (a*b));

break

;

case

'/': System.out.println(

" Iloraz wynosi "

+ (a/b));

break

;

default

: System.out.println(

"Nieznana operacja"

);

}
System.out.println(

"Koniec \n"

);

}
}

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

41 / 55

Przykład – instrukcja

switch

import

javax.swing.JOptionPane;

class

PrzykladSwitch{

public

static

void

main(String[] args){

double

a, b;

char

oper;


a=Double.parseDouble(JOptionPane.showInputDialog(null, "Podaj a"));
b=Double.parseDouble(JOptionPane.showInputDialog(null, "Podaj b"));
oper=JOptionPane.showInputDialog(

null

, "Podaj działanie").charAt(0);

System.out.println(

"a="

+ a +

" b="

+ b +

"

oper=" + o per);


switch

(oper){

case

'+': System.out.println(

" Suma wynosi "

+ (a+b));

break

;

case

'-': System.out.println(

"Roznica wynosi

" + (a-b));

// break; <<<<<<<< UWAGA: to jest komentarz

case

'*': System.out.println(

"Iloczyn wynosi "

+ (a*b));

break;

case

'/': System.out.println(

" Iloraz wynosi

" + (a/b));

break;

default

: System.out.println(

"Nieznana operacja

");

}
System.out.println(

"Koniec \n"

);

}
}

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

42 / 55

Posta

ć

p

ę

tli

while

W nagłówku p

ę

tli

while

zapisywany jest

warunek

, który jest testowany przed

wykonaniem ka

ż

dej iteracji. Dopóki ten

warunek

jest prawdziwy, powtarzane jest

wykonanie

instrukcji

. Gdy

warunek

nie jest spełniony wykonanie p

ę

tli ko

ń

czy si

ę

.

Uwaga: Je

ś

li

warunek

nie b

ę

dzie spełniony ju

ż

na wst

ę

pie, to

instrukcja

w p

ę

tli

while

nie b

ę

dzie wykonana ani razu



while (

warunek

)

{
instrukcja;
}





warunek

instrukcja

prawda

fałsz

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

43 / 55

Przykład – p

ę

tla

while

import

javax.swing.JOptionPane;

class

PrzykladWhile{

public

static

void

main(String[] args){

final

int

LIMIT = 100;

String dana;

int

liczba, ilosc=0, suma = 0;

while

(suma<LIMIT){

dana = JOptionPane.showInputDialog(

"Podaj liczbe"

);

if

(dana==

null

)

break

;

liczba = Integer.parseInt(dana);
System.out.println(

"liczba="

+ liczba);

suma += liczba;
ilosc++;
}
System.out.println(

"Wprowadzono "

+ ilosc +

" liczb"

);

System.out.println(

" Suma = "

+ suma);

System.out.println(

"Srednia = "

+ (float)suma/ilosc);

}
}

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

44 / 55

Przykład – p

ę

tla

while

import

javax.swing.JOptionPane;

class

PrzykladWhile{

public

static

void

main(String[] args){

final

int

LIMIT = 100;

String dana;

int

liczba, ilosc=0, suma = 0;

while

(suma<LIMIT){

dana = JOptionPane.showInputDialog(

"Podaj liczbe"

);

if

(dana==

null

)

break

;

liczba = Integer.parseInt(dana);
System.out.println(

"liczba="

+ liczba);

suma += liczba;
ilosc++;
}
System.out.println(

"Wprowadzono "

+ ilosc +

" liczb"

);

System.out.println(

" Suma = "

+ suma);

System.out.println(

"Srednia = "

+ (float)suma/ilosc);

}
}

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

45 / 55

Posta

ć

p

ę

tli

do ... while

P

ę

tla

do ... while

słu

ż

y do zapisywania iteracji wykonywanej przynajmniej raz.

Instrukcja

w p

ę

tli jest wykonywana, po czym sprawdzany jest

warunek powtórzenia

.

Je

ś

li

warunek

jest spełniony to

instrukcja

w p

ę

tli jest wykonywana ponownie.

W przeciwnym razie wykonanie p

ę

tli ko

ń

czy si

ę

.

Uwaga:

Instrukcja

w p

ę

tli

do ... while

zawsze wykona si

ę

co najmniej jeden raz.



do

{
instrukcja;
}

while(

warunek

);





warunek

instrukcja

prawda

fałsz

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

46 / 55

Posta

ć

p

ę

tli

for

W nagłówku p

ę

tli

for

podawane s

ą

:

inicjalizacja

,

warunek powtórzenia

oraz

aktualizacja

.

Inicjalizacja

jest

wykonywana przed rozpocz

ę

ciem wykonywania p

ę

tli.

Warunek

jest sprawdzany przed ka

ż

d

ą

iteracj

ą

i je

ś

li jest

spełniony wykonywana jest

instrukcja

wewn

ą

trz p

ę

tli

i nast

ę

puj

ą

ca po niej

aktualizacja

. W przeciwnym razie

p

ę

tla jest przerywana.

for(

inicjalizacja;

warunek; aktualizacja

)

{
instrukcja;
}





warunek

instrukcja

inicjalizacja

prawda

fałsz

aktualizacja

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

47 / 55

Przykład – p

ę

tla

for

import

javax.swing.JOptionPane;

class

PrzykladFor{

public

static

void

main(String[] args){

int

k, w, wysokosc;


wysokosc = Integer.parseInt(JOptionPane.showInputDialog(

null

,

"Podaj wysokosc"

));


for

(w=1; w<=wysokosc; w++)

{

for

(k=1; k<=wysokosc; k++)

{

if

((k==1)||(w==wysokosc)||(w==k))

{
System.out.print(

"#"

);

}

else

{
System.out.print(

" "

);

}
}
System.out.println(

""

);

}
}
}

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

48 / 55

Przykład – p

ę

tla

for

import

javax.swing.JOptionPane;

class

PrzykladFor{

public

static

void

main(String[] args){

int

k, w, wysokosc;


wysokosc = Integer.parseInt(JOptionPane.showInputDialog(

null

,

"Podaj wysokosc"

));


for

(w=1; w<=wysokosc; w++)

{

for

(k=1; k<=wysokosc; k++)

{

if

((k==1)||(w==wysokosc)||(w==k))

{
System.out.print(

"#"

);

}

else

{
System.out.print(

" "

);

}
}
System.out.println(

""

);

}
}
}

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

49 / 55

Porównanie instrukcji iteracyjnych

P

ę

tle

while

oraz

do ...while

stosujemy zwykle wtedy, gdy kontynuacja działania

p

ę

tli zale

ż

y od jakiego

ś

warunku, a liczba iteracji nie jest z góry znana lub jest

trudna do okre

ś

lenia.

P

ę

tla

for

jest stosowana najcz

ęś

ciej przy organizacji p

ę

tli iteracyjnych ze znanym

zakresem iteracji.


P

ę

tle

for

mo

ż

na łatwo przekształci

ć

na p

ę

tl

ę

while

. Ilustruje to poni

ż

sze zastawienie:

for (inicjalizacja; warunek; aktualizacja)
{
instrukcja;
}


inicjalizacja;
while(warunek)
{
instrukcja;
aktualizacja;
}

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

50 / 55

Przerywanie p

ę

tli – instrukcja

break

Instrukcja

break

powoduje przerwanie wykonywania p

ę

tli. W przypadku p

ę

tli

zagnie

ż

d

ż

onych przerywana jest p

ę

tla wewn

ę

trzna, w której bezpo

ś

rednio

znajduje si

ę

instrukcja

break

.

Je

ś

li po instrukcji

break

wyst

ę

puje etykieta, to przerywana jest ta p

ę

tla lub blok

instrukcji, która jest opatrzona t

ą

etykiet

ą

.

Uwaga: etykieta musi by

ć

umieszczona bezpo

ś

rednio przed p

ę

tl

ą

lub blokiem

instrukcji, które maj

ą

by

ć

przerwane.

Instrukcja

break

stosowana jest równie

ż

do opuszczania instrukcji

switch

.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

51 / 55

Przykład – instrukcja

break

class

PrzykladBreak{


public

static

void

main(String[] args)

{
System.out.println(

"POCZATEK 1"

);

for

(

int

i=0; i<3; i++)

{

for

(

int

j=0; j<100; j++)

{

if

(j==10)

break

;

System.out.print(j +

" "

);

}
System.out.println();
}
System.out.println(

"KONIEC 1\n"

);


System.out.println(

"POCZATEK 2"

);

etykieta:

for

(

int

i=0; i<3; i++)

{

for

(

int

j=0; j<100; j++)

{

if

(j==10)

break

etykieta;

System.out.print(j +

" "

);

}
System.out.println();
}
System.out.println(

"\nKONIEC 2\n"

);

}
}

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

52 / 55

Przykład – instrukcja

break

class

PrzykladBreak{


public

static

void

main(String[] args)

{
System.out.println(

"POCZATEK 1"

);

for

(

int

i=0; i<3; i++)

{

for

(

int

j=0; j<100; j++)

{

if

(j==10)

break

;

System.out.print(j +

" "

);

}
System.out.println();
}
System.out.println(

"KONIEC 1\n"

);


System.out.println(

"POCZATEK 2"

);

etykieta:

for

(

int

i=0; i<3; i++)

{

for

(

int

j=0; j<100; j++)

{

if

(j==10)

break

etykieta;

System.out.print(j +

" "

);

}
System.out.println();
}
System.out.println(

"\nKONIEC 2\n"

);

}
}

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

53 / 55

Kontynuowanie p

ę

tli – instrukcja

continue

Instrukcja

continue

przerywa wykonywanie bie

żą

cego kroku p

ę

tli i wznawia

wykonanie kolejnej iteracji. W przypadku p

ę

tli zagnie

ż

d

ż

onych działanie to

dotyczy tej p

ę

tli wewn

ę

trznej, w której jest umieszczona instrukcja

continue

.

Je

ś

li po instrukcji

continue

wyst

ę

puje etykieta, to wznawiana jest iteracja tej p

ę

tli,

która jest opatrzona t

ą

etykiet

ą

.

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

54 / 55

Przykład – instrukcja

continue

class

PrzykladBreak{

class

PrzykladCont{


public

static

void

main(String[] args)

{
etykieta:

for

(int i=0; i<10; i++)

{

for

(int j=0; j<10; j++)

{

if

(j>i)

{
System.out.println();

continue

etykieta;

}
System.out.print(

" "

+ (i*j));

}
}
System.out.println();
}
}

background image

Podstawy j

ę

zyka Java

Autor: Paweł Rogali

ń

ski – Instytut Informatyki, Automatyki i Robotyki PWr

55 / 55

Przykład – instrukcja

continue

class

PrzykladBreak{

class

PrzykladCont{


public

static

void

main(String[] args)

{
etykieta:

for

(int i=0; i<10; i++)

{

for

(int j=0; j<10; j++)

{

if

(j>i)

{
System.out.println();

continue

etykieta;

}
System.out.print(

" "

+ (i*j));

}
}
System.out.println();
}
}



Wyszukiwarka

Podobne podstrony:
podstawy programowania java id Nieznany
Podstawy logistyki wyk 3 id 367 Nieznany
Podstawy teologii Cz05 id 36844 Nieznany
java 3 id 226367 Nieznany
Podstawy Finansow egz id 367161 Nieznany
Podstawy Robotyki lab3 id 36832 Nieznany
podstawy statystyki wzory id 36 Nieznany
podstawy chemii wyklad07 id 366 Nieznany
3 podstawowe operacje cd id 339 Nieznany (2)
Podstawy teologii Cz15 id 36845 Nieznany
Podstawy psychiatrii II id 3681 Nieznany
podstawy chemii kwantowej id 36 Nieznany
podstawy chemii wyklad10 id 366 Nieznany
Podstawy teologii Cz06 id 36844 Nieznany
podstawy chemii wyklad12 id 366 Nieznany
Podstawy języka java script
Cw 1 podstawyPP 14 15 id 97548 Nieznany
Podstawy teologii Cz04 id 36844 Nieznany

więcej podobnych podstron