Programowanie w Javie

Podobne dokumenty
JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Java jako język programowania

WPROWADZENIE DO JĘZYKA JAVA

Tworzenie aplikacji w języku Java

Programowanie obiektowe

Programowanie obiektowe zastosowanie języka Java SE

Ćwiczenie 1. Przygotowanie środowiska JAVA

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Wstęp do programowania w języku Java

Wprowadzenie do języka Java

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

JAVA?? to proste!! Autor: wojtekb111111

Programowanie obiektowe

Wykład 1: Wprowadzenie do technologii Java

Wstęp do programowania w języku Java

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Podstawowe części projektu w Javie

Microsoft IT Academy kurs programowania

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

1 Podstawy c++ w pigułce.

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Podstawy i języki programowania

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Programowanie wieloplatformowe w Java

WPROWADZENIE DO JĘZYKA JAVA

Spis treści. 1 Java T M

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie

Powtórka algorytmów. Wprowadzenie do języka Java.

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Programowanie, algorytmy i struktury danych

Programowanie obiektowe

Programowanie w Javie Lista nr 1. Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Wstęp do programowania w języku Java

Wstęp do programowania w języku Java

Java EE produkcja oprogramowania

Podstawy i języki programowania

I - Microsoft Visual Studio C++

Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.

Podstawy języka Java. przygotował:

Platformy Programistyczne Podstawy języka Java

1 Podstawy c++ w pigułce.

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Podstawy Programowania C++

Powtórka algorytmów. Wprowadzenie do języka Java.

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Java EE produkcja oprogramowania

Podstawy programowania w języku C

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Programowanie obiektowe. Wprowadzenie

Podstawy programowania skrót z wykładów:

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Część 4 życie programu

Programowanie - instrukcje sterujące

Programowanie komputerowe. Zajęcia 1

Język ludzki kod maszynowy

2. Składnia, środowisko i konwencje w Javie

Java Podstawy JUST JAVA Michał Bereta Intytu Modelowania Komputerowego Wydział Fizyki, Matematyki i Informatyki Stosowanej

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Powtórka algorytmów. Wprowadzenie do języka Java.

Programowanie strukturalne i obiektowe

Multimedia JAVA. Historia

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

ZSBD ćwiczenie 4. Obiektowe systemy zarządzania bazą danych. Przygotowanie środowiska pracy. Wymagania: ZSBD ćwiczenie 4

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Programowanie RAD Delphi

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Programowanie w języku C++ Grażyna Koba

Programowanie w Internecie. Java

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

INFORMATYKA. Laboratorium 1

Podstawy Programowania Podstawowa składnia języka C++

Java-wykład. Dorota Pylak

Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne

Materiały pomocnicze do wykładu 3 - Elementy języka Java

dr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1

KOTLIN. Język programowania dla Androida

Zmienne, stałe i operatory

JDK można pobrać ze strony

Narzędzie pomocnicze do przedmiotu Podstawy Informatyki - złożoność obliczeniowa

Programowanie obiektowe

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie w języku Python. Grażyna Koba

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Informatyka I. dr inż. Andrzej Czerepicki.

Rok akademicki: 2012/2013 Kod: JFM s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

JAVA. Tomasz Grzywacz.

Transkrypt:

Programowanie w Javie

Literatura podstawowa: 1. Cay S. Horstmann, Gary Cornell. Java Podstawy. 2. Bruce Eckel. Thinking in Java. (biblioteka Wilno) 3. Herbert Schildt. Java - Kompendium Programisty. 4. Rogers Cadenhead. Java w 21 dni. Wydanie VII 5. Marcin Lis. Praktyczny kurs Java. Wydanie III materiały online: http://docs.oracle.com/javase/tutorial/ http://docs.oracle.com/javase/8/docs/api/ http://javastart.pl/static/darmowy-kurs-java/ http://naukajavy.pl/

Egzamin egzamin pisemny bez komputerów: zestaw otwartych pytań teoretycznych dopuszczenie do egzaminu: zaliczenie laboratorium

Wykład 1: Podstawy języka Java 1. Struktura, kompilacja i uruchomienie programu 2. Typy danych, operatory, instrukcje sterujące, tablice

Cechy języka Java (1) zorientowany obiektowo język programowania oparty na C/C++, wiele podobieństw, ale są też istotne różnice: nie ma wskaźników nie ma wielokrotnego dziedziczenia nie ma przeciążania operatorów jest automatyczne zarządzanie wykorzystaniem pamięci (garbage collector) Cel: z C/C++ usunięto mechanizmy będące przyczyną częstych błędów programistów

Cechy języka Java (2) przenośność: raz napisany program można uruchamiać na różnych urządzeniach i różnych systemach operacyjnych (hasło reklamowe: "Write once, run anywhere ) mniejsza wydajność w porównaniu do C/C++ obszerna biblioteka klas (API - Application Programming Interface) do programowania m.in.: interfejsu graficznego (aplikacji okienkowych) aplikacji sieciowych aplikacji korzystających z baz danych aplikacji wielowątkowych JavaScript nie jest uproszczoną wersją Javy

Pierwszy program class PierwszyProgram{ public static void main(string args[]){ System.out.println("Witamy na zajęciach"); //inne instrukcje do wykonania Program zapisujemy w pliku o rozszerzeniu.java klasy to opisy obiektów, nie można pisać programu poza klasą metoda main - od tej metody zaczyna się wykonanie programu metoda println wyprowadza tekst na ekran plik z kodem źródłowym trzeba nazwać tak jak nazwa klasy: PierwszyProgram.java public - modyfikator dostępu metody main (dostęp publiczny) static - nie musi być utworzony obiekt, aby użyć metody void - metoda nie zwraca wartości w sensie arytmetycznym args[] - zmienna tablicowa typu String możliwość wywołania programu z parametrami

Kompilacja i uruchomienie programu kompilacja: javac PierwszyProgram.java wynik kompilacji: plik z kodem pośrednim (kodem bajtowym - bytecode), a nie z kodem maszynowym czyli nie jest to plik wykonywalny: PierwszyProgram.class uruchomienie programu: poprzez wirtualną maszynę Javy (JVM) java PierwszyProgram Kod bajtowy jest interpretowany przez wirtualną maszynę Javy (JVM) do postaci programu wykonywalnego dla danego systemu operacyjnego Wirtualna Maszyna Javy (Java Virtual Machine): rodzaj wirtualnego (programowego) komputera, który ma swój zestaw rejestrów, zestaw instrukcji, stos i pamięć dla programów Przykład: PierwszyProgram.java

Pierwszy program używając NetBeans 1. File - New Project 2. Z panelu "Categories" wybrać "Java". Z panelu "Projects" wybrać "JavaApplication". Next 3. Project Name: np. PierwszyProgram Project Location: wskazać katalog, gdzie będzie przechowywany projekt Opcja "Create Class Main" powinna być zaznaczona Finish 4. W ciele metody main wpisać: System.out.println("Witamy na zajęciach"); Uruchomienie programu: Run - Run Project Wykonanie programu: Okienko Output u dołu ekranu Utworzone katalogi: Jeśli Project Name nazwaliśmy PierwszyProgram, to tam gdzie wskazaliśmy Project Location zostanie utworzony katalog PierwszyProgram i w nim będzie przechowywany cały projekt. M.in: Plik źródłowy: PierwszyProgram/src/pierwszyprogram/PierwszyProgram.java Kod bajtowy: PierwszyProgram/build/classes/pierwszyprogram/PierwszyProgram.class

Narzędzia programistyczne (1) Firma Oracle udostępnia bezpłatnie wszystkie narzędzia do programowania w Javie. Jeżeli chcemy pisać programy w Javie musimy zainstalować JDK - Java Development Kit. Jest to pakiet programów zawierający: narzędzia do budowania, kompilacji i uruchamiania programu, JRE - Java Runtime Environment czyli środowisko uruchomieniowe Javy. JRE zawiera m.in. : wirtualną maszynę Javy i biblioteki (pakiety klas standardowych) przykłady aplikacji i apletów, narzędzia do dokumentowania i archiwizacji programów dokumentację JDK jest dostępne pod adresem: http://www.oracle.com/technetwork/java/javase/downloads/ Instalacja jest intuicyjna. Wykonujemy instrukcje wyświetlane na ekranie. Pakiet JDK jest dostępny na różne systemy operacyjne i jest bezpłatny Jeżeli chcemy tylko uruchamiać programy napisane w Javie wystarczy zainstalować samo JRE

Narzędzia programistyczne (2) Po zainstalowaniu pakietu JDK otrzymujemy następującą strukturę katalogów: bin - programy usługowe: javac - kompilator java - interpreter bajtkodu (JVM) appletviewer przeglądarka apletów, javadoc - generator dokumentacji, jdb debuger, jar narzędzie do tworzenia archiwów jre - środowisko uruchomieniowe: wirtualna maszyna javy, biblioteka klas, lib - dodatkowe biblioteki klas demo - aplety i aplikacje demonstracyjne docs - dokumentacja pakietu w postaci stron HTML.

Zmienne środowiskowe, polskie znaki, edytory kodu źródłowego 1. Ustawienie zmiennych środowiskowych (Windows): Zmienna: PATH Wartość: sciezka_do_folderu_jdk\bin 2. Polskie znaki w konsoli Windows: we Właściwościach konsoli zmienić czcionkę na Lucida Console aby w konsoli była używana strona kodowa Windows 1250 wykonujemy polecenie: chcp 1250 aby w konsoli była używana strona kodowa strona kodowa UTF-8 wykonujemy polecenie: chcp 65001 3. Tworzenie kodu źródłowego dowolny edytor tekstu np. Notepad++ zintegrowane środowisko programistyczne: NetBeans, Eclipse

Komentarze liniowy // to jest komentarz blokowy /* to jest komentarz to jest ciąg dalszy komentarza*/

proste: Typy danych znakowy (char). Znak jest reprezentowany przez 16 bitową liczbę. Znaki kodowane w UTF-16. logiczny (boolean, 1 bit). Wartości: false, true. arytmetyczny: liczby całkowite: byte (8 bitów), zakres: od -2 8 do 2 8-1 short (16 bitów), zakres od -2 16 do 2 16-1 int (32 bity), zakres od -2 32 do 2 32-1 long (64 bity), zakres od -2 64 do 2 64-1 rzeczywiste (zmiennopozycyjne): float (32 bity), zakres: -3,4*10 38 do +3,4*10 38 double (64 bity), zakres: -1,8*10 308 do +1,8*10 308 Uwaga: zakres liczb jest z góry ustalony, nie zależy od systemu operacyjnego na jakim uruchamiany program w Javie (32 bitowy, 64 bitowy), z jakiego kompilatora korzystamy referencyjne: String (łańcuchy), tablice, inne obiekty

Deklaracje zmiennych, przypisanie wartości int liczba; liczba = 100; int liczba = 100; int liczba1 = 100, liczba2, liczba3 = 300; double wartosckredytu = 1.234; float wartosckredytu = 1.234f; char znak = 'a'; boolean zaplacone = true; String miasto = "Wilno"; String miasto = new String("Wilno"); String jest obiektem a nie tablicą znaków nazwy zmiennych: duże i małe litery, cyfry, znak podkreślenia, można znaki diakrytyczne, ale się w praktyce nie stosuje nazwa zmiennej nie może zaczynać się od cyfry

int a=10,b; b = a / 4; Kilka przykładów kompilator nie zgłosi błędu. Wynik zostanie zaokrąglony w dół do liczby całkowitej. Wartość b będzie 2. int b = 2.5; kompilator zgłosi błąd, kompilacja się nie powiedzie byte a = 127; a += 3; Kompilator nie zgłosi błędu. Nastąpi zawinięcie liczby. Wartość a będzie -126. Przykład: Program.java

Wyprowadzenie danych na ekran metoda println po wyprowadzeniu znaków następuje przejście do nowego wiersza metoda print przejście nie następuje łączenie ciągów znaków (operacja konkatenacji): + nie dzielimy ciągu znaków ujętych w cudzysłów Przykład: Program.java

Wyprowadzenie znaków specjalnych nowa linia \n tabulator \t cudzysłów \ apostrof \ backslash \\ Przykład: Program.java

Operatory arytmetyczne: + dodawanie - odejmowanie * mnożenie / dzielenie % reszta z dzielenia przypisania: x += y x -= y x *= y x /= y x %= y x = x + y x = x - y x = x * y x = x / y x = x % y inkrementacja, dekrementacja: ++, -- int x = 1, y = 2; x += ++y; // wartość x to 4, wartość y to 3 x += y++; // wartość x to 7, wartość y to 4

Operatory (cd) porównania: == równe!= różne < mniejsze > większe <= mniejsze lub równe >= większe lub równe logiczne: && i lub! nieprawda, że bitowe: & AND OR ~ NOT byte a = 4; // 4 = 100 2 a = a >> 1; // wartość a to 2 = 010 2 ^ XOR >> przesunięcie w bitów prawo << przesunięcie bitów w lewo >>> przesunięcie w prawo z wypełnieniem zerami

warunkowa Instrukcje sterujące if (warunek) {... else {... if (warunek1) {... else if (warunek2) {... else {... wyrażenie warunkowe warunek? wartość1 : wartość2; int a, b;... a < b? a += b : b += a;

Instrukcja wyboru Instrukcje sterujące switch (wyrażenie) { case wartosc1:...; break; case wartosc2:...; break; case wartosc3:...; break; default:...; "break" nie jest obowiązkowy, jeśli będzie pominięty to po dopasowaniu zostaną wykonane wszystkie pozostałe przypadki default nie jest obowiązkowe

Instrukcje sterujące pętla FOR for (wyrażenie_początkowe; warunek; wyrażenie_modyfikujące) {... for (int i=1;i<=10;i++) { a *= 2; przeniesienie wyrażenia początkowego i modyfikującego for (int i=1;i<=10;) { a *= 2; i++; int i=1; for (;i<=10;) { a *= 2; i++;

Instrukcje sterujące pętla WHILE i DO WHILE while (warunek) {... int i = 1; while (i<=10) { a *= 2; i++; do {... while (warunek); int i = 1; do { a *= 2; i++; while (i<=10);

Instrukcje sterujące break - przerwanie bieżącej pętli przesunięcie warunku: for (int i=1; ;i++) { a *= 2; if (i == 3) {break; pominięcie przebiegu pętli wewnętrznej dla i = 3: for (int i=0;i<=10;i++) { for (int j=0;j<=10;j++) { if (i == 3) {break;...

Instrukcje sterujące continue - przerwanie bieżącej iteracji i przejście do kolejnej pominięcie parzystych przebiegów: for (int i = 1; i<=10; i++) { if (i % 2 == 0) {continue;...

etykietowanie pętli Instrukcje sterujące break przerwie blok etykietowanej pętli continue przerwie bieżącą iterację etykietowanej pętli i przejdzie do następnej iteracji etykieta: for (int i=0;i<=2;i++) { for (int j=0;j<=2;j++) { if (i ==2) break etykieta;... Przykład: Program.java

Tablice Tablica jest obiektem. 1. deklaracja zmiennej tablicowej typ_tablicy nazwa_tablicy[]; lub typ_tablicy[] nazwa_tablicy; int tablica[]; int[] tablica; Uwaga: powstaje tylko zmienna referencyjna, za pomocą której będziemy odwoływać się do tablicy, a nie tablica 2. utworzenie tablicy (rezerwacja pamięci) i przypisanie jej do zmiennej tablicowej zmienna_tablicowa = new typ_tablicy[liczba_elementów]; tablica tablica = new int[10]; //powstanie tablica 10-elementowa Można jednocześnie zadeklarować i utworzyć tablicę: int[] tablica = new tablica[10];

Tablice Przypisanie wartości elementom tablicy (elementy są indeksowane od 0). nazwa_tablicy[numer_elementu]; tablica[5] = 20; //dla elementu szóstego przypisano wartość 20 Deklaracja tablicy i utworzenie tablicy z jednoczesnym przypisaniem wartości int[] tablica = {1,2,3; // powstanie tablica 3 elementowa, pierwszy element to 1 char[] tablica = {'a','b','c'; // powstanie 3 elementowa tablica znaków odwołanie się do nieistniejącego elementu tablicy Kompilator nie zgłosi błędu. Błąd (wyjątek) zgłosi maszyna wirtualna. Przykład: Program.java

Tablice rozmiar tablicy jest zapisany w polu length int[] tablica = new tablica[10]; Wypełnienie tablicy: for (int i=1;i<tablica.length;i++) { tablica[i] = 2*i; Nowa konstrukcja w porównaniu z C/C++ pętla "foreach", przebiega elementy tablicy a nie indeksy: for (int i:tablica) { System.out.println(i); Powyższa pętla wypisze elementy tablicy

Tablice wielowymiarowe 1. deklaracja zmiennej tablicowej int tablica[][]; lub int[][] tablica; 2. utworzenie tablicy i przypisanie jej do zmiennej tablicowej tablica = new int[10][5]; //powstanie tablica 10x5 Można łącznie: int[][] tablica = new int[10][5]; odwołanie się do elementu tablicy. tablica[0][0] = 20; //dla elementu (0,0) przypisano 20 inny sposób przypisania wartości elementom tablicy int[][] tablica = {{1,2,3,{4,5,6; 0 1 2 // powstanie tablica 2x3 0 1 2 3 1 4 5 6

Tablice wielowymiarowe 1. tablica dwuwymiarowa to tablica jednowymiarowa, której elementami są tablice jednowymiarowe 2. pole length int[][] tablica = {{1,2,3,{4,5,6; Pole tablica.length ma wartość 2, bo tablica ma 2 elementy, które są tablicami, pierwszy to tablica z elementami 1,2,3, drugi to tablica z elementami 4,5,6 Pole tablica[0].length ma wartość 3, bo tablica[0] jest tablicą składającą się z trzech elementów: 1,2,3 Pole tablica[1].length ma wartość 3, bo tablica[1] jest tablicą składającą się z trzech elementów: 4,5,6 3. wypełnienie tablicy dwuwymiarowej z użyciem pola length int[][] tablica = new int[2][3]; int k=1; for (int i=0;i<tablica.length;i++) { for (int j=0;j<tablica[i].length;j++) { tablica[i][j] = k; k++;

Tablice wielowymiarowe-nieregularne 0 1 2 0 1 2 2-elementowa tablica 1 3 4 5 3-elementowa tablica 2 6 1-elementowa tablica int[][] tablica = new int[3][]; //potrzebuję 3 tablic tablica[0]=new int[2]; tablica[1]=new int[3]; tablica[2]=new int[1]; int k=1; for (int i=0;i<tablica.length;i++) { for (int j=0;j<tablica[i].length;j++) { tablica[i][j] = k; k++;

Trochę historii 1991 - zespół Sun Microsystems projektuje język o nazwie Oak (Dąb), później (1995) przemianowany na Java Motywacja: język do tworzenia niezależnego od platformy sprzętowo-systemowej oprogramowania do sterowania urządzeniami elektronicznymi np. kuchenkami mikrofalowymi, pilotami do zdalnego sterowania.

Trochę historii (cd) 1995 - Język Java zyskał na popularności dopiero wraz z rozwojem internetu i WWW. Pokaz na SunWorld 95: napisana w Javie przeglądarka HotJava. Obsługiwała programy osadzone na stronie www (aplety) 1996 - wersja 1.0, bardzo ograniczone możliwości 1998 - wersja 1.2 (nazwa nadana przez dział marketingu: Java 2 Standard Edition - J2SE), biblioteka do tworzenia interfejsu graficznego

Trochę historii (cd) 1999 - oddzielne edycje Javy: J2EE (Enterprise Edition) - platforma przeznaczona głównie do tworzenia rozbudowanych i zaawansowanych aplikacji biznesowych opartych na architekturze wielowarstwowej (aplikacje serwerowe). J2ME (Micro Edition) - uproszczona wersja platformy Javy do programowania urządzeń elektronicznych o bardzo ograniczonych zasobach, takich jak telefony komórkowe. 2006 - Sun udostępnia Javę na zasadzie wolnego oprogramowania - licencja GNU GPL; wersja Java SE 6 (rezygnacja z nazewnictwa Java2 SE) 2009 - Oracle wykupuje Sun najnowsza wersja: Java SE 8