Wprowadzenie do platformy Java i programowanie w języku Java

89
copyright BNS MEDIA www.devcastzone.co m Wprowadzenie do platformy Java i programowanie w języku Java Materiały pochodzą ze strony: www.devcastzone.com

description

http://www.devcastzone.com/course,wprowadzenie-do-platformy-java-i-programowanie-w-jezyku-javaDevcast "Wprowadzenie do platformy Java i programowanie w języku Java", jest przeznaczony dla osób, które chcą poznać podstawy programowania w niezwykle popularnym języku Java. Na początku devcastu przedstawiane są w przystępny sposób wszelkie zagadnienia związane z wprowadzeniem do samego języka Java i środowiska programistycznego Eclipse. Kolejnym omawianym zagadnieniem jest obiektowość, czyli nieodzwony aspekt programowania w języku Java. Pozostałe części devcastu "Wprowadzenie do platformy Java i programowanie w języku Java" poświęcone są innym niezbędnym pojęciom towarzyszącym programowaniu w języku Java tj. wyjątki, kolekcje, zdarzenia, strumienie, komunikacja z bazą danych oraz interfejs użytkownika.

Transcript of Wprowadzenie do platformy Java i programowanie w języku Java

Page 1: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Wprowadzenie do platformy Javai programowanie w języku Java

Materiały pochodzą ze strony:www.devcastzone.com

Page 2: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Wprowadzenie do platformy Javai programowanie w języku Java

Podstawowe elementy języka Java

Page 3: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Treść modułu1. Składowe języka Java2. Typy w Java3. Klasa String4. Nazewnictwo5. Operatory6. Operacja przypisania7. Operacja rzutowania

Wprowadzenie do platformy Java i programowanie w języku Java 3

Page 4: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Treść modułu8. Zmienne9. Pierwsza aplikacja10. Tablice11. Instrukcje sterujące12. Pakiety13. final i static, import static

Wprowadzenie do platformy Java i programowanie w języku Java 4

Page 5: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Składowe języka Java

Alfabet – Unicode

50 słów kluczowyc

h

true, false, null

znaki , łańcuchy znaków

symbole matemat. nawiasy

symbole logiczne

Wprowadzenie do platformy Java i programowanie w języku Java 5

Page 6: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Słowa kluczowe – przykłady

continue new switch default if synchronized do goto private this break implements protected throw super while

• Słowa kluczowe są zastrzeżone

Wprowadzenie do platformy Java i programowanie w języku Java 6

Page 7: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Alfabet

• Wszystkie znaki Unicode zajmujące 2 bajty

• Standard kodowania UTF-16 zawierający znaki większości języków

• Można je zakodować następująco: \uXXXX, gdzie XXXX jest kodem znaku w systemie szesnastkowym w standardzie UTF-16

Wprowadzenie do platformy Java i programowanie w języku Java 7

Page 8: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Cyfry i litery• Cyfry – m. in. 0 - 9

• Litery:o alfabet łacińskio litery duże i małeo litery z innych alfabetówo inne znaki (np. _ i €)

• Java rozróżnia duże i małe litery alfabetu łacińskiego oraz te same litery pochodzące z różnych alfabetów

Wprowadzenie do platformy Java i programowanie w języku Java 8

Page 9: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

2 rodzaje komentarzy• implementacyjne (zwykłe)

blokowe: pomiędzy /* a */ lubliniowe: pomiędzy // a końcem wiersza;

/* komentarz */

/** komentarz* w kilku linijkach*/

// komentarz, kończący sie znakiem końca wiersza

Wprowadzenie do platformy Java i programowanie w języku Java 9

Page 10: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

2 rodzaje komentarzy• dokumentacyjne: pomiędzy /** a */

/** * @author Pan Cogito *//** * Klasa określająca bilet */public class Bilet { /** numer biletu*/ int id; /** rodzaj biletu */ String rodzaj; /** kierunek*/ boolean czyObieStrony;

/*** Oblicza cenę biletu* @param cl wybrana klasa* @param km odleglosc [km]* @param zn zniżka* @return cena */public double liczCene int kl, double km, int zn) {

Wprowadzenie do platformy Java i programowanie w języku Java 10

Page 11: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Typy w Java

• prymitywne (podstawowe, pierwotne)

• obiektowe

Wprowadzenie do platformy Java i programowanie w języku Java 11

Page 12: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Typy prymitywne• 8 typów zawierających wartości proste

boolean char byte short int long float double

• Typy numeryczne mają ściśle określony niezmienny rozmiar!

Wprowadzenie do platformy Java i programowanie w języku Java 12

Page 13: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Typy całkowite

Typ Zakres danych Miejsce w pamięci (bajty)

byte -128 do 127 1

short -32768 do 32767 2

int -2147483648 do 2147483647 4

long -9223372036854775808 do 9223372036854775807 8

Wprowadzenie do platformy Java i programowanie w języku Java 13

Page 14: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Typy zmiennoprzecinkowe

Typ Zakres danych Miejsce w pamięci (bajty)

float od -3,4*1038 do 3,4*1038 4

double od -1,8*10308 do 1,8*10308 8

Dodatkowo mogą przyjmować wartość + nieskończoność oraz –nieskończoność NEGATIVE_INFINITY i

POSITIVE_INFINITY "Not-a-Number" w skrócie NaN

Wprowadzenie do platformy Java i programowanie w języku Java 14

Page 15: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Literały typów• Napis reprezentujący wartość wpisaną w kod

programu

• 6 rodzajów literałów:liczby całkowite, rzeczywiste, literały logiczne, null, znakowe, napisowe

• Zapis wartości (liczbowej, tekstowej, logicznej) w danym miejscu programu

Wprowadzenie do platformy Java i programowanie w języku Java 15

Page 16: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Literały int

0 7 173 0173 0x173

• Cyfra 0 w liczbie 0173 – zapis w systemie ósemkowym

• 0x lub 0X – zapis w systemie szesnastkowym

Wprowadzenie do platformy Java i programowanie w języku Java 16

Page 17: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Literały long

0L 38317L 07317L 0x8867L

• Zakończone literą L, małą lub dużą

• Zapis z dużej litery zwiększa czytelność

Wprowadzenie do platformy Java i programowanie w języku Java 17

Page 18: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Literały float i double

float2e1f 4.F .5f 2.89F45.234e+45f 1.8E-4f

double 1e1 4. .3 2.89 2e-3d 4.1e4D

Wprowadzenie do platformy Java i programowanie w języku Java 18

Page 19: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Typ char• Reprezentacja wszystkich znaków alfanumerycznych

• Typ 16-bitowy, oparty na standardzie Unicode

‘m' ‘M' '\p' '\u024a' '\173‘

'\173‘ – zapis za pomocą liczby oktalnej z liczbą 1-, 2,- lub 3-cyfrową w systemie ósemkowym,w przypadku trzech cyfr zaczyna się od 0, 1, 2 lub 3

Wprowadzenie do platformy Java i programowanie w języku Java 19

Page 20: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Inne literały

• apostrof \’

• cudzysłów \”

• backslash (lewy ukośnik) \\

• nowa linia \n

• backspace \b

• nowa strona \f

Wprowadzenie do platformy Java i programowanie w języku Java 20

Page 21: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Deklaracja zmiennych typu prymitywnego

typ zmienna; int liczba;float cena;char znak;

Wprowadzenie do platformy Java i programowanie w języku Java 21

Page 22: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Inicjalizacja zmiennych typu prymitywnego

zmienna = wartość;

liczba = -9;współczynnik = 0.57f;znak = ’m’;

Wprowadzenie do platformy Java i programowanie w języku Java 22

Page 23: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Typy obiektowe• Wartościami zmiennych tego typu są referencje,

(odnośniki) do obiektów lub null

• Referencja może istnieć samodzielnie

class Main { public static void main(String[]args) { Object object1; // Referencja samodzielna, bez inicjalizacji Object object2 = new Object(); // Referencja zainicjalizowana //System.out.println(object1.toString()); System.out.println(object2.toString()); }}

Gdyby odkomentować powyższą linijkę, kompilator zgłosiłby ostrzeżenieThe local variable object1 may not have been initialized

Wprowadzenie do platformy Java i programowanie w języku Java 23

Page 24: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Typy obiektowe

• typy tablicowe

• typy klas

• typy interfejsów

Wprowadzenie do platformy Java i programowanie w języku Java 24

Page 25: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Klasa String• Jej obiekty są immutable (z ang. niezmienne)

• Przechowują stałe wartości

• Wartości mogą być zmieniane jedynie w wyniku przypisania

Wprowadzenie do platformy Java i programowanie w języku Java 25

Page 26: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Konstrukcja String

String name = new String(„abc”);

String name = „abc”;

obie konstrukcje są równoważne

Wprowadzenie do platformy Java i programowanie w języku Java 26

Page 27: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

String a konkatenacja• ciągów znakowych

• ciągów znakowych i zmiennych innego typu

String word = "To";System.out.println(word +" po" + ”łączenie”); //”To połączenie”

String word = "napis”;int number = 2;String s1 = number + number + word; //s1 => 4napisString s2 = word + number + number; //s2 => napis22

Wprowadzenie do platformy Java i programowanie w języku Java 27

Page 28: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

String – przykład użycia

String line = "woRlD";line = line.toUpperCase(); //line => "WORLD"String part = line.substring(1);//part => „ORLD”line = part.toLowerCase(); //part => "orld"line = line.charAt(0) + part;//line => "World"

Wprowadzenie do platformy Java i programowanie w języku Java 28

Page 29: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

NazewnictwoNazwa może składać się z:• liter (małych lub dużych);• cyfr;• podkreślenia _

Przykłady:_name, name17, NaMe

Nazwa powinna odzwierciedlać przeznaczenie nazywanego elementu

Wprowadzenie do platformy Java i programowanie w języku Java 29

Page 30: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

NazewnictwoNazwa nie może:• zaczynać się od cyfry;• być słowem kluczowym, wartością logiczną,

wartością null

2class 00project volatile

Wprowadzenie do platformy Java i programowanie w języku Java 30

Page 31: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Nazewnictwo - przykłady

• Ticket, Browser, User

KLASA – rzeczownik rozpoczynający się od wielkiej litery

• iterator, price, surname

ZMIENNE – zwykle rzeczownik, małe litery

• MESSAGE, Float.POSITIVE_INFINITY

STAŁE (final) – rzeczownik, duże liter, wyrazy oddzielone przez _

• isEmpty(), changeDirection(), showInformation()

METODY – przeważnie czasowniki

Wprowadzenie do platformy Java i programowanie w języku Java 31

Page 32: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Nazewnictwo - przykłady

• Application.java, System.java, User.java

PLIKI – nazwa taka sama, jak nazwa klasy publicznej (public) w nim zawartej

• util, data, out

PAKIETY – rzeczownik, małe litery

Wprowadzenie do platformy Java i programowanie w języku Java 32

Page 33: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Operatory w Java

• + - * ++ --

• % reszta z dzielenia liczba1 % liczba2

• < <= > >=

• == oznacza, że argumenty maja jednakową wartość, argument1 == argument2 albo referencje wskazują na te same obiekty

• != oznacza, że argumenty maja różną wartość, argument1 != argument2 albo referencje wskazują na różne obiekty

Wprowadzenie do platformy Java i programowanie w języku Java 33

Page 34: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Operatory w Java• ! negacja !argument

• & koniunkcja bitowa, zachłanna argument1 & argument2

• && koniunkcja argument1 && argument2

• | alternatywa bitowa, zachłanna argument1 | argument2

• || alternatywa argument1 || argument2

• ˆ alternatywa wykluczająca argument1 ˆ argument 2Wprowadzenie do platformy Java i programowanie w języku Java 34

Page 35: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Operacja przypisania

zmienna1 = zmienna2;

• przypisuje wartość zmiennej po prawej stronie do zmiennej umieszczonej po lewej stronie

Wprowadzenie do platformy Java i programowanie w języku Java 35

Page 36: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Przypisanie – typy proste• Skopiowanie wartości zmienna2 do zmienna1• Późniejsza modyfikacja zmienna2 nie wpływa na

wartość zmienna1

int a = 5; int b = 7; a = b; // a => 7 b = 1; // b => 1, a => 7

Wprowadzenie do platformy Java i programowanie w języku Java 36

Page 37: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Przypisanie – typy referencyjne• Skopiowanie do zmienna1 referencji do obiektu

wskazywanego przez zmienna2

• Obie zmienne wskazują wtedy na ten sam obiekt

• Modyfikacja obiektu wskazywanego przez zmienna2 powoduje modyfikacje obiektu wskazywanego przez zmienna1

Klasa a = new Klasa(5); Klasa b = new Klasa(7); a = b; b.pole = 1; // b.pole => 1, a.pole => 1

Wprowadzenie do platformy Java i programowanie w języku Java 37

Page 38: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Operacje rzutowania

• Zmienia typ wyrażenia

• Automatyczna konwersja typów lub wymuszona przez programistę

Wprowadzenie do platformy Java i programowanie w języku Java 38

Page 39: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Automatyczna konwersja typów

Wyniki operacji

+ - * ++ -- %

przyjmują różne wartości w zależności od podanych argumentów

Wprowadzenie do platformy Java i programowanie w języku Java 39

Page 40: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Automatyczna konwersja typówTyp wyniku to:

• int jeśli żaden nie jest typu double, float, ani long

• long jeśli co najmniej jeden jest typu long i żaden nie jest typu double ani float

• float jeśli co najmniej jeden jest typu float i żaden nie jest typu double

• double jeśli co najmniej jeden jest typu double

Wprowadzenie do platformy Java i programowanie w języku Java 40

Page 41: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Automatyczna konwersja typów

byte a = 0;int b = 8;float c = 1.2f;double d = 10.0;int k = a + b; // a + b jest typu intfloat m = a + b; // a + b jest typu floatfloat n = b * c; // b * c jest typu floatint p = a / k; // a / k jest typu intfloat p = d; // zapis niepoprawny!

Wprowadzenie do platformy Java i programowanie w języku Java 41

Page 42: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Wymuszona operacja rzutowania• Zwraca wartość o takim typie, na jaki rzutujemy

• Można rzutować typ liczbowy na inny typ liczbowy oraz typ obiektowy na inny typ obiektowy klasy będącej wyżej w hierarchii klas

• W przeciwnym wypadku – podczas uruchamiania programu zostanie zgłoszony wyjątek

• Rzutowanie typów prymitywnych może powodować utratę informacji

Wprowadzenie do platformy Java i programowanie w języku Java 42

Page 43: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Wymuszona operacja rzutowania(typ) wyrażenie

long a = 5;int b = 6;float c = 3.2f;b = (int) (a + b); // b => 11a = (long) (b + c); //a => 14byte d = 55;d = (byte)(d + 200); //a => -1 (utrata informacji)

Wprowadzenie do platformy Java i programowanie w języku Java 43

Page 44: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Zmienne• Zaleca się, aby jednocześnie deklarować i

inicjalizować zmienne

• Deklaracje można tworzyć w każdym miejscu kodu

String MESSAGE = "Witamy w systemie zakupu biletów lotniczych";

Wprowadzenie do platformy Java i programowanie w języku Java 44

Page 45: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Zasięg zmiennych• Instrukcje złożone – pomiędzy {…}

• Zmienna jest widoczna od miejsca jej deklaracji do końca instrukcji złożonej, w której się znajduje

• Wewnątrz instrukcji złożonych mogą występować inne

• Nie wolno używać w odniesieniu do nich takich samych identyfikatorów

Wprowadzenie do platformy Java i programowanie w języku Java 45

Page 46: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Zasięg zmiennych – błędny zapis

class Range{

public static void main(String args[]) { int zmienna = 0; //nowy blok { int zmienna = 1; //Błąd!!! } }}

Wprowadzenie do platformy Java i programowanie w języku Java 46

Page 47: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Pierwsza aplikacja

public class Application {

public static void main(String[] args) {

System.out.println("System zakupu biletow. " + "\nWitamy i gratulujemy dobrego wyboru."); System.out.println("Zapraszamy do korzystania!");

}

}

Wprowadzenie do platformy Java i programowanie w języku Java 47

Page 48: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Wyświetlanie napisów• System.out.println(”napis”) – metoda

powodująca wyświetlanie w konsoli napisu „napis” zakończone przejściem do nowej linii

• System.out.print(”napis”) – brak przejścia do nowej linijki

Wprowadzenie do platformy Java i programowanie w języku Java 48

Page 49: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Kompilacja z poziomu konsoli

Wprowadzenie do platformy Java i programowanie w języku Java 49

Page 50: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Ćwiczenie „Hello world!”Korzystając z informacji zamieszczonych na poprzednich

slajdach, utwórz za pomocą edytora tekstu aplikację

Hello.java

Która po uruchomieniu w konsoli wyświetla napis „Hello world!”

Wprowadzenie do platformy Java i programowanie w języku Java 50

Page 51: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Tablice• Struktura danych

• Zawiera ciąg elementów jednego typu

• Dostęp do wartości poprzez indeks

Wprowadzenie do platformy Java i programowanie w języku Java 51

Page 52: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

TabliceDeklaracja

typ[]zmienna;typ zmienna[];

typ[][]zmienna;typ[] zmienna[];typ zmienna[][];

String []napisy;boolean tab[];

Bilet bilety [][];char []znaki[];int[][] liczby;

Wprowadzenie do platformy Java i programowanie w języku Java 52

Page 53: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Tablice - inicjalizacja

zmienna = new typ[iloscElementow];zmienna = {element1, element2, … };

zmienna = new typ[iloscWierszy][iloscKolumn];zmienna = { {element1, element2}, {element3, element4};

liczby = new int[10];dane = new double[15][20];

String[]airport = {"Warszawa", "Paryż", "Berlin", "Marsylia", "Rzym", "Londyn"};

Wprowadzenie do platformy Java i programowanie w języku Java 53

Page 54: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Odwołania do elementów

• Dostęp do elementu tablicyzmienna[nrIndeksu]

• Rozmiar tablicyzmienna.length

Wprowadzenie do platformy Java i programowanie w języku Java 54

Page 55: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Odwołania do elementów• Elementy tablicy numerujemy od zera

• Przy tworzeniu tablicy bez podawania jej elementów, każdy element otrzymuje wartośćo 0 gdy elementy typu liczbowegoo false gdy elementy typu logicznegoo null gdy elementy typu obiektowego

Wprowadzenie do platformy Java i programowanie w języku Java 55

Page 56: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Przypisywanie elementówtablica[nrW][nrK] = element;

nrW - nr wiersza, nrK - nr kolumny

int tab[] = new int[9][9];tab[3][8] = 11;

Wprowadzenie do platformy Java i programowanie w języku Java 56

Page 57: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Tablica typów obiektowych

Klasa tablica[] = new Klasa[20];

for (int i = 0; i < tablica.length; i++){ tablica[i] = new Klasa(i);}

Wprowadzenie do platformy Java i programowanie w języku Java 57

Page 58: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Wyświetlanie elementów tablicy

public class Application {

public static void main(String[] args) {

String[]airport = { "Warszawa", "Paryż", "Berlin", "Tokio", "Marsylia","Rzym","Londyn"}; for(int i = 0; i < airport.length; i++){ System.out.println(i + ". " + airport[i]); } }}

Wprowadzenie do platformy Java i programowanie w języku Java 58

Page 59: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Wyświetlanie elementów tablicy

Wprowadzenie do platformy Java i programowanie w języku Java 59

Page 60: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Tablica dwuwymiarowa

int m = 3;int n = 5;int matrix[][] = { {4, 8, 2, 1, 0}, {2, 6, 1, 9, 1}, {5, 7, 9, 1, 2}}; for(int i = 0; i < m; i++){ for(int j = 0; j < n; j++) { System.out.print(matrix[i][j] + " "); } System.out.println();}

Wprowadzenie do platformy Java i programowanie w języku Java 60

Page 61: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Tablice poszarpane (jagged)

• Można tworzyć tablice dwuwymiarowe, w których każdy wiersz może mieć inną liczbę elementów

int[][]tab = { { 2, 4, 6 }, { 100, 5 }};

Wprowadzenie do platformy Java i programowanie w języku Java 61

Page 62: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Kontrola zakresu tablic

W przypadku odwołania do nieistniejącego elementu program zatrzyma się, wyrzucając wyjątek

ArrayOutOfBoundsException

Wprowadzenie do platformy Java i programowanie w języku Java 62

Page 63: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Kontrola zakresu tablic

int[]tab = {1,16,3,8};System.out.println(tab[5]); // <= przyczyna błędu

Wprowadzenie do platformy Java i programowanie w języku Java 63

Page 64: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Argumenty przy uruchamianiujava klasaGłówna arg1 arg2 arg3

Elementami tej tablicy są łańcuchy znaków — obiekty klasy String

Parametry są umieszczone w tablicy - argumencie metody main

main(String[]args)

Wprowadzenie do platformy Java i programowanie w języku Java 64

Page 65: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

public class Application { public static void main(String[]args) { System.out.println("Witaj, " + "podales nastepujace dane"); int tableLength = args.length; for (int i = 0; i < tableLength; i++) { System.out.println(args[i]); } }}

Wprowadzenie do platformy Java i programowanie w języku Java 65

Page 66: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Dostęp do publicznych klas i interfejsów z innych pakietówimport pakiet.klasa;import pakiet.podpakiet.klasa;import pakiet.*;* – zastępuje nazwę dowolnej klasy publicznej z wybranego pakietu

java.io.*;import java.awt.JOptionPane;

• pliki pakietu powinny sie znajdować w katalogu będącym podkatalogiem katalogu o nazwie zapisanej w zmiennej środowiskowej CLASSPATH

Wprowadzenie do platformy Java i programowanie w języku Java 66

Page 67: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Instrukcje sterujące

• if while do-while for switch-case

• Możliwość zastosowania etykiet przed iteracją:nazwaEtykiety://iteracja

• Brak polecenia goto do przerywania pętli, w zamian – break oraz continue

• Nie można zadeklarować zmiennych o tej samej nazwie w różnych blokach

Wprowadzenie do platformy Java i programowanie w języku Java 67

Page 68: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

break oraz continuebreak – wyjście z pętli bez wykonania pozostałych

instrukcji

continue – przerwanie aktualnej iteracji i przejście na początek kolejnej

Powyższych instrukcji należy używać tylko w wyjątkowych przypadkach. Należy starać się tak modyfikować kod, aby nie trzeba było wykonywać „skoków w kodzie”.

Wprowadzenie do platformy Java i programowanie w języku Java 68

Page 69: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

break oraz continue

Iteracja zostanie przerwana, gdy liczba będzie podzielna przez 7

for (int i = 548; i < 555; i++) { System.out.println(i); if (i % 7 == 0) { break; }}

for (int i = 1; i <= 20; i++) { if (i % 3 == 0) { continue; } System.out.println(i);}

Wyświetla wszystkie liczby oprócz podzielnych

przez 3

Wprowadzenie do platformy Java i programowanie w języku Java 69

Page 70: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Etykiety• Umożliwiają identyfikację pętli

• Gdy przed iteracją jest etykieta, tobreak etykieta:continue etykieta:przerywają wszystkie pętle do poziomu pętli z etykietą

• Ogólnie jednak nie zaleca się nadużywania takiej konstrukcji

Wprowadzenie do platformy Java i programowanie w języku Java 70

Page 71: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Etykiety

etykieta:For (int i = 0; j < 5; i++) { for (int j = 0; j < 10; j++) { if (tab[i][j] == 0) { continue etykieta; //skok do zewnętrznej pętli } }}

Wprowadzenie do platformy Java i programowanie w języku Java 71

Page 72: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Instrukcja sterująca if-else

int a = 5;int b = 3;if (a > b) { System.out.println("a większe od b");} else { System.out.println("b mniejsze lub równe a");}

Wprowadzenie do platformy Java i programowanie w języku Java 72

Page 73: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

switch-case

Jeśli w kodzie pominiemy break; to zostaną wykonane wszystkie operacje występujące w kolejnych przypadkach do końca lub do momentu pojawienia się słowa break;

int number = 7;Switch (number){ case 1: System.out.println("liczba = 1"); break; case 7: System.out.println("liczba = 7"); break; default: System.out.println("liczba różna od 1 i od 7"); break;}

Wprowadzenie do platformy Java i programowanie w języku Java 73

Page 74: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

switch-case

Zastosowanie break;

Bez break;

Wprowadzenie do platformy Java i programowanie w języku Java 74

Page 75: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Instrukcja sterująca forfor(wyrazenie_poczatk; warunek;

wyrazenie_po_wykonaniu_petli){ //instrukcje w pętli}

String line = „5tr1n6";int numberOfDigits = 0;char litera;for (int i = 0; i < line.length(); i++) { letter = line.charAt(i); if (Character.isDigit(letter)) { numberOfDigits++; }}System.out.println("The number of digits " + "equals: " + numberOfDigits);

Wprowadzenie do platformy Java i programowanie w języku Java 75

Page 76: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

while i do-while

int i = 5;While (i < 10) { System.out.println("Line number " + i); i++;}

int j = 5;do { System.out.println("Line number " + j); j++;} while (j < 5);

Wprowadzenie do platformy Java i programowanie w języku Java 76

Page 77: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Wynik w konsoli

while

do-while

Wprowadzenie do platformy Java i programowanie w języku Java 77

Page 78: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Dodatkowy operator logiczny ?:wyrażenieLogiczne ? zmienna1 : zmienna2

zwracający

zmienna1, gdy wyrażenieLogiczne ma wartość true,

zmienna2 - w przeciwnym wypadku

String line;System.out.println("Kontynuować? (t/f)");line = buffer.readLine();run = (line.equals("t")? true: false);

Wprowadzenie do platformy Java i programowanie w języku Java 78

Page 79: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Pakiety

• Projekt dzielimy na pakiety

• Mogą zawierać dowolną ilość klas, interfejsów i podpakietów

• Domyślnie klasy są umieszczone w pakiecie bez nazwy, który nie może mieć podpakietów

• Pliki pakietu przechowuje sie na dysku w folderze o nazwie pakietu, a podpakiety – w odpowiednich podfolderach

Wprowadzenie do platformy Java i programowanie w języku Java 79

Page 80: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

PakietyNa początku kodu należy umieścić informację, do

którego pakietu mają być dołączone tworzone klasy i interfejsy

package nazwa_pakietu;

package komunikacja;package klient;

• Klasy z różnych pakietów mogą mieć te same nazwy

Wprowadzenie do platformy Java i programowanie w języku Java 80

Page 81: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Pakiet java.lang

• można korzystać z jego klas i interfejsów bez jawnego deklarowania

• zawiera definicje podstawowych klas języka Java

• Jeśli klasy znajdują się w tym samym pakiecie co dana klasa, to nie trzeba deklarować pakietów

Wprowadzenie do platformy Java i programowanie w języku Java 81

Page 82: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

final• stałe deklarowane są jako zmienne z modyfikatorem final

• można przekształcić zmienną w stałą używając w deklaracji słowa kluczowego final

• static oznacza, że dane pole lub metoda są wspólne dla wszystkich obiektów danej klasy

final String MESSAGE = "Witamy w systemie";

Wprowadzenie do platformy Java i programowanie w języku Java 82

Page 83: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

import static

• Pozwala na import statycznych pól i metod z wybranej klasy

import static pakiet.Klasa.nazwa;gdzie nazwa – nazwa pola lub metody

• Nie należy nadużywać ze względu na czytelność kodu (problem z rozpoznaniem klas, których pola i metody importujemy)

Wprowadzenie do platformy Java i programowanie w języku Java 83

Page 84: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

import staticimport static java.lang.Math.PI;import static java.lang.Math.random;

public class Application {

public static void main(String[]args) { double pole = PI * 3 * 3; System.out.println("Pole kola o prominiu 3: " + pole); System.out.println("Losowa liczba od 0 do 1: + random()); }}

Bez import static należałoby każdorazowo pisaćMath.PI Math.random()

Wprowadzenie do platformy Java i programowanie w języku Java 84

Page 85: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Wprowadzenie do platformy Java i programowanie w języku Java – program pełnego szkolenia

1. Wprowadzenieo Kilka faktówo Dlaczego Java?o Maszyna wirtualna Javyo Potrzebne narzędziao Kompilacja od środkao Dokumentacjao Java Coding Convention

2. Podstawy językao Składowe języka Javao Typy w Javao Klasa Stringo Nazewnictwoo Operatoryo Operacja przypisaniao Operacja rzutowaniao Zmienneo Pierwsza aplikacjao Tabliceo Instrukcje sterująceo Pakietyo final i static, import static

Wprowadzenie do platformy Java i programowanie w języku Java 85

Page 86: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Wprowadzenie do platformy Java i programowanie w języku Java – program pełnego szkolenia

3. Wstęp do obiektowościo Programowanie obiektoweo Czym jest obiekt?o Pojęcie klasyo Więcej o metodacho Konstruktoro Słowo kluczowe newo Klasa główna projektuo Referencja

4. Obiektowość w praktyceo Klasa Objecto Cechy OOPo Enkapsulacjao Polimorfizmo Dziedziczenieo Abstrakcjao Interfejsyo Specyfikatory dla classo Specyfikatory dla pól i metodo Klasy wewnętrzne

Wprowadzenie do platformy Java i programowanie w języku Java 86

Page 87: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Wprowadzenie do platformy Java i programowanie w języku Java – program pełnego szkolenia

5. Wyjątki i kolekcjeo Hierarchia wyjątkówo Wyrzucanie wyjątkówo Przechwytywanie wyjątkówo Przydatne metody klasy Throwableo Tworzenie wyjątkówo Implementacja kolekcji w Javao Tablice a kolekcjeo Uproszczona hierarchia kolekcjio Podstawowe operacje na kolekcjacho Typy generyczne

6. Strumienieo Obsługa operacji wejścia-wyjściao Filtrowanie danycho Serializacja danycho Klasa formatujące tekst

7. Komunikacja z bazą danycho JDBCo Połączenie z bazą danycho Zapytania do bazy danycho Przetwarzanie rezultatów

Wprowadzenie do platformy Java i programowanie w języku Java 87

Page 88: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Wprowadzenie do platformy Java i programowanie w języku Java – program pełnego szkolenia

8. Interfejs użytkownikao Podstawowe pojęcia przy tworzeniu GUIo Delegacyjny model zdarzeńo Tworzenie menu

9. Klasy systemoweo Zmienne systemoweo Klasy systemowe o Klasy opakowująceo Adnotacje

10.Wyrażenia regularne11.Wielojęzyczność

Wprowadzenie do platformy Java i programowanie w języku Java 88

Page 89: Wprowadzenie do platformy Java i programowanie w języku Java

copyright BNS MEDIAwww.devcastzone.com

Wprowadzenie do platformy Java i programowanie w języku Javahttp://

www.devcastzone.com/course,wprowadzenie-do-platformy-java-i-programowanie-w-jezyku-java

Zapraszamy

Wprowadzenie do platformy Java i programowanie w języku Java 89