Język Java - Paweł Rajba

advertisement
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"
Download