Upload
devcastzone
View
101
Download
0
Embed Size (px)
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.
Citation preview
copyright BNS MEDIAwww.devcastzone.com
Wprowadzenie do platformy Javai programowanie w języku Java
Materiały pochodzą ze strony:www.devcastzone.com
copyright BNS MEDIAwww.devcastzone.com
Wprowadzenie do platformy Javai programowanie w języku Java
Podstawowe elementy języka 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
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
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
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
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
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
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
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
copyright BNS MEDIAwww.devcastzone.com
Typy w Java
• prymitywne (podstawowe, pierwotne)
• obiektowe
Wprowadzenie do platformy Java i programowanie w języku Java 11
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
copyright BNS MEDIAwww.devcastzone.com
Kompilacja z poziomu konsoli
Wprowadzenie do platformy Java i programowanie w języku Java 49
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
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
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
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
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
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
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
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
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
copyright BNS MEDIAwww.devcastzone.com
Wyświetlanie elementów tablicy
Wprowadzenie do platformy Java i programowanie w języku Java 59
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
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
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
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
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
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
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
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
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
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
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
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
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
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
copyright BNS MEDIAwww.devcastzone.com
switch-case
Zastosowanie break;
Bez break;
Wprowadzenie do platformy Java i programowanie w języku Java 74
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
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
copyright BNS MEDIAwww.devcastzone.com
Wynik w konsoli
while
do-while
Wprowadzenie do platformy Java i programowanie w języku Java 77
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
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
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
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
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
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
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
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
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
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
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
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