Język Java Paweł Rajba [email protected] http://www.wsiz.wroc.pl/strony/pawel_rajba/ O czym dzisiaj będzie? ● ● ● ● ● ● ● ● Wprowadzenie Pierwszy przykład Kompilacja i uruchamianie Typy danych i deklaracje Operatory i wyrażenia Instrukcje sterujące Tablice Parametry wywołania programu Charakterystyka Javy ● ● ● ● Składnia języka podobna do składni C/C++ Automatyczne odśmiecanie pamięci (garbage collection) Ścisła kontrola typów Wieloplatformowość – ● ● ● Pojęcie wirtualnej maszyny, bytecode Środowisko programowania GUI Programowanie dostępu do baz danych Programowanie sieciowe, JSP Pierwszy program public class Hello { public static void main(String args[]) { System.out.println("Witamy Kaczora Donalda!"); } } Kompilacja i uruchamianie ● Wiersz poleceń – – ● javac program.java java program Środowisko JCreator LE – – Build | Compile File Build | Execute File Ćwiczenie 1 ● Tworzymy kolejno – – ● ● ● workspace project Dodajemy plik Hello.java Przepisujemy kod z ekranu Kompilujemy i uruchamiamy Typy danych i deklaracje ● Typy podstawowe – – – – – – – – ● byte short int long float double char boolean -128..127 -32768..32767 -2*109..2*109 -9*1018..9*1018 -3.xE+38..3.xE+38 -1.xE+308..1.xE+308 0..65536 true, false Dane pozostałe typów są obiektami Typy danych i deklaracje ● Deklaracja zmiennej – ● nazwa_typu nazwa_zmiennej Przykłady – – – – – – int i; char c; double x; String s; int x=5; char c='z'; Typy danych i deklaracje ● Deklaracje stałych – – ● final nazwa_typu nazwa_stałej konwencja: nazwy stałych piszemy wielkimi literami Przykłady – – final int ROZMIAR=10; final char SEPARATOR='|'; Operatory i wyrażenia ● Ważniejsze operatory – – – – – – – – – ! ++ -*/+% <> <= >= == != && || Negacja logiczna Zwiększanie o 1 Zmniejszanie o 1 Operatory arytmetyczne Reszta z dzielenia !true x++ i-a*b Operatory relacyjne Równość, nierówność Koniuncja, alternatywa a<=b a!=b true || false Operatory i wyrażenia ● Ważniejsze operatory – – – – = *= /= += -= %= Negacja logiczna !true Operatory przypisania x=5; x+=2; Instrukcje sterujące ● Instrukcja warunkowe – Składnia ● ● – if (wyrażenie) instrukcje if (wyrażenie) instrukcje1 else instrukcje2 Przykład 1 int x=5; if ( x==5 ) { System.out.println("x jest równe 5"); } Instrukcje sterujące ● Instrukcja warunkowa – Przykład 2 int x=12; if ( x==10 ) { System.out.println("x jest rowne 10"); } else { System.out.println("x nie jest rowne 10"); } Instrukcje sterujące ● Instrukcja warunkowa – Przykład 3 int x=7; if ( ( x>0 ) && ( x<10 ) ) { System.out.println( "x należy do [0..9]" ); } Instrukcje sterujące ● Instrukcja wyboru – Składnia ● switch (wyrażenie) { case w1 : ins1 ... case wN : insN default : insDomyslne } Instrukcje sterujące ● Instrukcja wyboru – Przykład 1 int liczba=2; switch (liczba) { case 1 : System.out.println("jeden"); break; case 2 : System.out.println("dwa"); break; default : System.out.println("mnostwo"); break; } Instrukcje sterujące ● Instrukcja wyboru – Przykład 2 int dzienTygodnia=4; switch (dzienTygodnia) { case 0 : System.out.println("niedziela"); break; case 6 : System.out.println("sobota"); break; default : System.out.println("zly dzien"); break; } Instrukcje sterujące ● Pętla while – Składnia ● – while (wyrażenie) instrukcje Przykład 1 int x=1; while (x<10) { System.out.println(x); x++; } Instrukcje sterujące ● Pętla while – Przykład 2 int y=10; while (y>0) { System.out.println(y); y--; } Instrukcje sterujące ● Pętla while – Przykład 3 int x=1; while (x<100) { System.out.println(x); x*=2; } Instrukcje sterujące ● Pętla do..while – Składnia ● – do instrukcje while(wyrażenie) Przykład int x=1; do { System.out.println(x); x++; } while (x<10) Instrukcje sterujące ● Pętla for – Składnia ● – for (inicjalizacja; warunek; instrukcjepo) instrukcje Przykład 1 int x; for (x=0; x<10; x++) { System.out.println(x); } Instrukcje sterujące ● Pętla for – Przykład 2 int x; for (x=10; x>0; x--) { System.out.println(x); } Instrukcje sterujące ● Pętla for – Przykład 3 int x; for (x=1; x<100; x*=2) { System.out.println(x); } Instrukcje sterujące ● Pętla for – Przykład 4 int x,y; for (x=0,y=9; x<10; x++,y--) { System.out.println(x+" "+y); } Instrukcje sterujące ● Instrukcja continue – Przykład int x=0; while (x<10) { x++; if (x>5) { continue; // tutaj musi być koniec bloku } System.out.println(x); } System.out.println("Ilosc wykonan petli: "+x); Instrukcje sterujące ● Instrukcja break – Przykład int x=0; while (x<100000) { System.out.println(x); x++; if (x==10) break; } System.out.println("Ilosc wykonan petli: "+x) Instrukcje sterujące ● Instrukcja return – Przykład 1 int dodaj(int x, int y) { return x+y; } – Przykład 2 void wypisz(int x) { System.out.println("x="+x); return; } Ćwiczenie 2 ● Napisać program, który wypisuje kolejne wielokrotności liczby 3, od 3 do 60 – – ● za pomocą pętli while, do..while za pomocą pętli for Napisać program, który wypisuje kolejne potęgi liczby 3, od 3 do potęgi<1000 – – za pomocą pętli while, do..while za pomocą pętli for Tablice ● Co to jest tablica? – tworzenie tablic int[] tab = new int[10]; String[] napisy = new String[4]; – używanie ● przypisywanie wartości tab[4]=5; napisy[2]="Ala ma kota"; ● pobieranie wartości System.out.println(tab[4]); System.out.println(napisy[2]); Tablice ● Przykład 1 int[] tab = new int[10] for (int i=0; i<10; i++) { tab[i]=2*i; } for (int i=0; i<10; i++) { System.out.println(tab[i]); } Tablice ● Przykład 2 String[] imiona = new String[4]; imiona[0]="Asia"; imiona[1]="Basia"; imiona[2]="Kasia"; imiona[3]="Zosia"; for (int i=0; i<4; i++) { System.out.println(imiona[i]); } Tablice ● Przykład 3 int[] liczby = new int[20]; int suma=0; for (int i=0; i<20; i++) { liczby[i]=i; } for (int i=0; i<20; i++) { suma+=liczby[i]; } System.out.println(suma); Ćwiczenie 3 ● Napisz program, który – – – ● tworzy tablicę 30 liczb wstawia do tej tablicy liczby od 0 do 29 sumuje te elementy tablicy, które są nieparzyste Napisz program, który – – – tworzy tablicę 1000 liczb wstawia do tej tablicy kolejne wielokrotności 3 (3, 6, 9, 12, 15, ...) oblicza ilość liczb w tablicy podzielnych przez 5 Parametry wywołania programu ● ● ● Co to są te parametry wywołania programu? Gdzie są dostępne w kodzie programu? Konfiguracja środowiska JCreator LE Parametry wywołania programu ● Przykład public class Parametry { public static void main(String args[]) { for (int i=0; i<args.length; i++) { System.out.println(args[i]); } } } Parametry wywołania programu ● Przykład public class Parametry { public static void main(String args[]) { for (int i=0; i<args.length; i++) { if (args[i].equals("2")) { System.out.println(args[i]); } } } } Ćwiczenie 4 ● ● Napisz program wypisujący te parametry wywołania programu, które są równe "misiu" Napisz program wypisujący ilość parametrów wywołania programu, które są równe "misiu"