mgr inż.Marcin Borkowski Podstawy Java Krótkie wprowadzenie dla studentów Wyższej Szkoły Ekologii i Zarządzania
mgr inż.Marcin Borkowski Pojęcia Wstępne Działający program jest wynikiem: –Pomysłu czyli algorytmu –Pliku z zapisem algorytmu (kod źródłowy) –Kompilacji pliku (byte kod javy) –Uruchomienia byte kodu w wirtualnej maszynie javy
mgr inż.Marcin Borkowski Pojęcia Wstępne Kodowanie w języku Java Elementy stałe Włączenia Komentarze Instrukcje Zmienne proste Stałe Wyjście Wejście Proste operatory
mgr inż.Marcin Borkowski Pojęcia Wstępne Elementy stałe –Pełnią określone funkcje w programie –Pozostają niezmienne we wszystkich rozważanych tu programach –Stały szablon dla wszystkich programów:
mgr inż.Marcin Borkowski Pojęcia Wstępne class klasa1 { public static void main(String[] args) { } Tu umieszczamy włączenia Tu umieszczamy kod
mgr inż.Marcin Borkowski Pojęcia Wstępne Nazwa pliku w którym przechowuje się kod musi mieć nazwę taką samą jak nazwa klasy (w przykładzie klasa1 ) oraz rozszerzenie.java Plik w przykładzie ma nazwe klasa1.java Ten program nic nie robi
mgr inż.Marcin Borkowski Pojęcia Wstępne Włączenia –Są konieczne aby można było korzystać z bibliotek, czyli gotowych algorytmów, klocków z których można budować bardziej złożone algorytmy –Notacja: import nazwa ; –W nawiasach trójkątnych podaje nazwę biblioteki
mgr inż.Marcin Borkowski Pojęcia Wstępne Komentarze –Mają pomagać programistom, nie są częścią algorytmu –Umieszczamy je w celu objaśnienia pisanego kodu //od ukośników do końca linii wszystko jest ignorowane /* To jest komentarz w czterech liniach zaczyna się od znaków ukośnik gwiazdka a kończy na znakach gwiazdka ukośnik, wszystko pomiędzy jest ignorowane przez algorytm */
mgr inż.Marcin Borkowski Pojęcia Wstępne Instrukcje –Elementy kodu realizujące algorytm zapisane w notacji języka Java –Każda instrukcja kończy się znakiem ; –Zazwyczaj potrzeba kilku instrukcji Java do zakodowania jednego kroku algorytmu rozumianego przez człowieka
mgr inż.Marcin Borkowski Pojęcia Wstępne Zmienne proste –Stanowią pamięć algorytmu –Można do takiej pamięci przekazywać informacje –Można używać zawartości takiej pamięci w algorytmie –Proste zmienne pozwalają jedynie na pamiętanie pojedynczych liczb lub znaków
mgr inż.Marcin Borkowski Pojęcia Wstępne Teraz niech ta druga liczba będzie taka sama jak ta przed chwilą zmieniona a=b; Niech teraz druga liczba będzie 22b=22; Podaj mi proszę pierwsza z tych liczb abym mógł ją zapisać System.out.println(a ) ; Zapamiętaj liczby 5 i 8a=5; b=8; Pamięć człowiekaZmienne
mgr inż.Marcin Borkowski Pojęcia Wstępne Każda zmienna musi zostać zadeklarowana – typ nazwa ; Np.: int a ; –Typy int liczby całkowite double liczby zmiennoprzecinkowe char pojedyncze znaki –Nazwa musi być unikalna, bez polskich znaków i spacji
mgr inż.Marcin Borkowski Pojęcia Wstępne Deklaracje umieszczamy na samym początku algorytmu, zaraz po public static void main(String[] args) { Zmienna zaraz po zadeklarowaniu nie posiada przypisanej ustalonej wartości Można łączyć deklaracje kilku zmiennych tego samego typu
mgr inż.Marcin Borkowski Pojęcia Wstępne int a; //a będzie przechowywać liczbę całkowitą double suma ; /*suma będzie przechowywać liczbęzmiennopozycyjną*/ // dwa znaki przechowywane w zmiennych o // nazwach inicjal1 i inicjal2 char inicjal1,inicjal2 ; //BŁĘDNE DEKLARACJE int różnica ; double suma posrednia ;
mgr inż.Marcin Borkowski Pojęcia Wstępne W javie poza zmiennymi prostych typów bardzo często używa się zmiennych typów obiektowych. Obiekt poza zwykłą zawartością (dane) posiada jeszcze listę metod które pozwalają tym obiektem manipulować (patrz Java API) Dla typów prostych istnieją typy obiektowe: –Integer, Double, String (teksty)
mgr inż.Marcin Borkowski Pojęcia Wstępne Stałe to –liczby wpisane w programie e-5 –Wszystkie pojedyncze znaki wpisane w apostrofach a x A \n \t –Teksty ujęte w cudzysłów "Ala ma kota" "linia 1 \nlinia 2" znak nowej linii i tabulator notacja naukowa
mgr inż.Marcin Borkowski Pojęcia Wstępne Wyjście –Korzystam z najprostszego modelu komunikacji – konsoli tekstowej –Wszystkie informacje (wyjście algorytmu) drukujemy poniżej ostatnio wyświetlonych znaków –W razie potrzeby zawartość ekranu jest przesuwana do góry aby utworzyć miejsce na nowe teksty
mgr inż.Marcin Borkowski Pojęcia Wstępne Wypisanie tekstu, stałej System.out.print("To jest tekst, a to jest liczba"); System.out.println(5.67); Wypisanie zawartości zmiennej prostej int a=5; System.out.println(a);
mgr inż.Marcin Borkowski Pojęcia Wstępne Można teraz napisać prosty program wypisujący na ekran tekst Witaj w moim programie Algorytm jest prosty, wymaga jedynie instrukcji wypisania tekstu
mgr inż.Marcin Borkowski Pojęcia Wstępne class klasa2 { public static void main(String[] args) { System.out.println("Witaj w moim programiei."); }
mgr inż.Marcin Borkowski Pojęcia Wstępne Wejście –W modelu konsolowym wejście to tekst wpisywany z klawiatury –Echo wpisywanych liter jest wyświetlane na ekranie –Dane wczytane z wejścia muszą zostać gdzieś zapamiętane – zmienne –Możemy z klawiatury wczytać tylko dane typów prostych (int, double) lub teksty (String)
mgr inż.Marcin Borkowski Pojęcia Wstępne import java.io.* ; public class klasa3 { public static void main(String[] args) { int i; double d; String s, str; InputStreamReader stdin = new InputStreamReader(System.in); BufferedReader in = new BufferedReader(stdin);
mgr inż.Marcin Borkowski Pojęcia Wstępne System.out.println("Podaj tekst:"); try{ str=in.readLine(); }catch(IOException e) { e.printStackTrace(); return; }
mgr inż.Marcin Borkowski Pojęcia Wstępne System.out.println("Podaj liczbe calkowita:"); try{ s=in.readLine(); i=Integer.parseInt(s); }catch(IOException e) { e.printStackTrace(); return; }catch(NumberFormatException e) { e.printStackTrace(); return; }
mgr inż.Marcin Borkowski Pojęcia Wstępne System.out.println("Podaj liczbe zmiennopozycyjna:"); try{ s=in.readLine(); d=Double.parseDouble(s); }catch(IOException e) { e.printStackTrace(); return; }catch(NumberFormatException e) { e.printStackTrace(); return; }
mgr inż.Marcin Borkowski Pojęcia Wstępne System.out.println("Podales:"); System.out.println(str); System.out.println(i); System.out.println(d); }
mgr inż.Marcin Borkowski Pojęcia Wstępne Proste operatory pozwalają manipulować danymi w programie –Zapamiętywanie w zmiennej (przypisanie) a = 5 ; –Odczyt zawartości zmiennej System.out.print(a) ; b = a ; –Operacje arytmetyczne b = a + 5 ; c = b – a ; e = a * c ; g = e / a –Reszta z dzielenia r = a % b
mgr inż.Marcin Borkowski Pojęcia Wstępne –Zwiększanie o jeden a++ ; // czyli a=a+1; –Zmniejszanie o jeden a-- ; // czyli a=a-1 ; –Wymuszanie kolejność operacji w = a * ( b + c ) ; –Operator z przypisaniem suma+=3 ; // suma = suma + 3 ; wynik*=a+3 ; // wynik = wynik * (a+3) ; to nie jest herezja zmienna to nie niewiadoma, przypisanie to nie równość
mgr inż.Marcin Borkowski Pojęcia Wstępne Uwagi o kodowaniu –Wielkie i małe litery są rozróżniane W poleceniach są zawsze małe W nazwach zmiennych należy je stosować konsekwentnie Suma i suma to dwie różne zmienne –Spacje Wszędzie gdzie w przykładach pojawiają się spacje można umieścić wiele spacji Zawsze można dodawać spacje pomiędzy operatorami i zmiennymi
mgr inż.Marcin Borkowski Pojęcia Wstępne –Wcięcia ułatwiają czytanie kodu –Polskie litery Nie używamy w nazwach zmiennych Możemy używać w stałych tekstowych np..: Mały Książe \n Mogą i będą się dziwnie wyświetlać na ekranie np.: May Ksie