Technologie i usługi internetowe cz. 1

Podobne dokumenty
Programowanie w Javie cz. 1 Programowanie strukturalne

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

Programowanie w Javie cz. 2 Programowanie strukturalne. Łódź, 24 luty 2014 r.

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

Programowanie obiektowe

Programowanie obiektowe

Podstawowe części projektu w Javie

Podstawy Języka Java

Tworzenie aplikacji w języku Java

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

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

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

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

Ćwiczenie 1. Przygotowanie środowiska JAVA

1 Podstawy c++ w pigułce.

Programowanie w Javie Wykład 2 Podstawy Javy strukturalnej

Podstawy Programowania C++

1 Podstawy c++ w pigułce.

Java jako język programowania

Podstawy Języka Java

Wykład 2: Podstawy Języka

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

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Wprowadzenie do języka Java

Microsoft IT Academy kurs programowania

Programowanie - instrukcje sterujące

Podstawy i języki programowania

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

Podstawy, środowisko JDK, kompilacja programów z linii poleceń

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

Multimedia JAVA. Historia

JAVA?? to proste!! Autor: wojtekb111111

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

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

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

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

Podstawy i języki programowania

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

Programowanie, algorytmy i struktury danych

Podstawy i języki programowania

Wykład 1: Wprowadzenie do technologii Java

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

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

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

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

WPROWADZENIE DO JĘZYKA JAVA

Programowanie obiektowe

Wprowadzanie danych z klawiatury. Wyjątki związane z wprowadzaniem danych, przekroczeniem rozmiaru tablicy, dzieleniem przez zero itd.

Język ludzki kod maszynowy

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

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

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

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

Spis treści. 1 Java T M

Platformy Programistyczne Podstawy języka Java

KOTLIN. Język programowania dla Androida

JDK można pobrać ze strony

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Programowanie obiektowe zastosowanie języka Java SE

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

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

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

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

MATERIAŁY DO ZAJĘĆ II

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Języki i metody programowania Java. Wykład 2 (część 2)

Języki i metody programowania Java INF302W Wykład 3 (część 1)

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

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

Programowanie obiektowe

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Wykład 4: Klasy i Metody

Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 13

Programowanie w Internecie. Java

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

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Java-wykład. Dorota Pylak

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe

1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();

Dokumentacja do API Javy.

Programowanie wieloplatformowe w Java

Programowanie RAD Delphi

dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Odczyt danych z klawiatury Operatory w Javie

Java EE produkcja oprogramowania

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Część 4 życie programu

Metody Metody, parametry, zwracanie wartości

Wykład 7: Pakiety i Interfejsy

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

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

Java Podstawy. Michał Bereta

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

WPROWADZENIE DO JĘZYKA JAVA

Podstawy języka Java. przygotował:

Platforma.NET. Laboratorium nr 1 Podstawy języka C#

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

Transkrypt:

Technologie i usługi internetowe cz. 1 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r.

Informacje Ogólne Laboratorium: 32 h zajęć (co dwa tygodnie) Zaliczenie ćwiczeń, to oddanie: - 3 prac domowych - ocena 3-4 prac domowych - ocena 3+ - 5 prac domowych - ocena 4-6 prac domowych - ocena 4+ - 7 prac domowych - ocena 5 sprawdzanych na początku każdych zajęć. Dyżur: środa 14.00-16.00, sala A327 Kontakt: kowalcr@math.uni.lodz.pl 2

Cel przedmiotu Wprowadzenie do wytwarzania wielowarstwowych aplikacji WWW uruchamianych na JAVOWYCH serwerach aplikacyjnych i przechowujące dane w relacyjnych bazach danych 3

Układ zajęć: 1. Wprowadzenie do Javy 2. Wprowadzenie do Javy 3. Elementy HTML i CSS 4. Servlety w Javie 5. Servlety w Javie 6. Java Server Pages 7. Mechanizm JDBC 8. Dokończnie ćwiczeń i oceny 4

Java wybrane daty z historii 1. 1991 narodziny języka Java ( Oak (dąb) pierwsza nazwa) - James Arthur Gosling twórca Javy 2. 1995 Sun Microsystems wypuszcza pierwszą wersję Javy 1.0 (500 klas) 3. 1998 Java 2 Standard Edition (2300 klas) 4. 1999 Java 2 Enterprise Edition i Java 2 Micro Edition 5. 2006 Java FX 6. 2008 Android 7. 2010 Oracle przejmuje Javę 8. 2011 Java 7 (typy generyczne, autoboxing) 5

Popularność Javy index TIOBE 6

Popularność Javy index TIOBE 7

Środowiska programistyczne (IDE) 8

Java - instalacja [1] Ściągnąć i zainstalować JDK do Javy ze strony: http://www.oracle.com/technetwork/java/javase/downloads/j dk7-downloads-1880260.html [2] Ściągnąć i zainstalować IDE NetBeans do Javy ze strony: https://netbeans.org/downloads/start.html?platform=window s&lang=en&option=javase [3] Skompilować i uruchomić najprostszy program 9

Dokumentacja do Javy API do języka Java http://docs.oracle.com/javase/7/docs/ap i/ Java Tutorial http://docs.oracle.com/javase/tutorial/ 10

Literatura 11

JDK Java Development Kit Narzędzia wchodzące w skład JDK: java - interpreter Javy, umożliwia uruchomienie skompilowanych programów javac - kompilator Javy jar - narzędzie do tworzenia, modyfikacji, rozpakowywania archiwów jar javah - generator nagłówków C, używany np. gdy jest potrzeba stworzenia kodu Java i C, który by współpracował ze sobą jdb - debugger Javy javadoc - generator dokumentacji Javy javap - disassembler Javy 12

Pierwszy program w Javie //Pierwszy program komentarz w Javie public class MyProgram { public static void main(string[] args) { System.out.println("Hello World"); } } Klasę zapisujemy w pliku: MyProgram.java Kompilujemy do bytecodu: javac MyProgram.java Następnie uruchamiamy: java MyProgram 13

Kompilator i interpreter w Javie 14

Typowe błędy kompilacji i uruchomienia Jeśli w trakcie kompilacji poleceniem javac zobaczysz błąd typu: javac is not recognized as an internal external command, operable program or batch file lub javac command not found użyj w poleceniu kompilacji pełnej nazwy ścieżki do polecenia javac lub ustaw zmienną środowiskową PATH Jeśli w trakcie uruchamiania klasy poleceniem java zobaczysz błąd typu: exception in thread "main" java.lang.noclassdeffounderror zdefiniuj zmienną środowiskową CLASSPATH 15

Pakiety Program w języku Java to zbiór klas. Klasy zebrane są w pakiety aby pogrupować je według znaczenia. Kluczowe słowo do tworzenia pakietu, to package. package zaj1; public class Proba { } public static void main(string[] args) { System.out.println("Hello World"); } Nazwy pakietów zwyczajowo pisze się małymi literami. Kolejne poziomy zagnieżdżenia pakietów oddziela się od siebie kropkami. Przykłady pakietów: java.lang, java.util, java.io, java.applet, java.awt 16

Import klas Sama nazwa klasy nie musi identyfikować jej w sposób jednoznaczny. Należy określić pakiet w obrębie którego została ona zdefiniowana. Aby skorzystać z klasy zamkniętej w obrębie jakiegoś pakietu należy ją zaimportować przy pomocy polecenia import. package zaj12; public class Proba2 { public static void pisz(string s) { System.out.println(s); } } package zaj11; import zaj12.proba2; public class Proba1 { public static void main(string[] args) { Proba2.pisz("Ala"); System.out.println("Hello World"); } } 17

Słowa kluczowe języka Java 18

Zmienne Instance Variables (Non-Static Fields) przechowują stan pól w danej klasie. Wartość tych zmiennych jest różna dla różnych instancji danej klasy Class Variables (Static Fields) definiowane przez słowo static, które mówi kompilatorowi, że te pole jest takie samo dla wszystkich instancji danej klasy: static int runda=6; Local Variables pole tymczasowe przechowujące stan klasy na poziomie metod rozróżniane w obrębie {} Parameters parametry klasyfikowane są zawsze jako zmienne, nigdy nie jako pola. np.: public static void main(string[] args) - args jest parameterem dla metody main. Zmienne muszą mieć typ (silne typowanie w Javie). 19

Zmienne reguły nazewnicze Ogólne reguły nazewnicze: Rozróżniane małe i duże litery (case-sensitive). Zmienna może rozpoczynać się od litery, $ lub _. $ stosowany jedynie w automatycznie generowanym kodzie. W nazwie zmiennej należy unikać skrótów myślowych gdyż tworzysz nieczytelny kod: np. z1, a345, bbb. Jeśli nazwa składa się z kilku słów to zaczynamy każde z nich, począwszy od drugiego, od dużej litery: sredniapredkosc = 30; Jeśli zmienna ma oznaczać wartość stałą używaj dużych liter: MAX_PREDKOSC=90; Stałe definiowane przez static final double PI = 3.141592653589793; 20

Typy w Javie Java jest językiem ze ścisłą kontrolą typów, w którym rozmiar i postać danych są określone precyzyjnie Typy danych w Javie można podzielić na typy proste i typy referencyjne (klasy, interfejsy i tablice) Do przechowywania liczb całkowitych przeznaczone są cztery typy o długościach: byte (8), short (16), int (32) oraz long (64) Rzeczywiste typy liczbowe to: float (32) i double (64) Dane znakowe zapisywane są zgodnie ze standardem Unicode są to 16-bitowe liczby całkowite bez znaku. Do ich przechowywania służy typ char Typ boolean (1 bit) umożliwia przechowywanie wartości logicznych. Może on przyjmować tylko dwie wartości: true i false. 21

Typy proste wbudowane Nazwa typu byte 0 short 0 int 0 long Standardowa wartość 0L float 0.0f double 0.0d char boolean String \u0000 false null String nie jest typem prostym, jednak ze względu na specyficzne traktowanie jest często postrzegany jako typ prosty. String jest obiektem, którego wartości nie można zmienić (immutable). 22

Klasa String i jej metody Niech String s1 = "abc"; String s2 = "ab"; s2 += "c"; String s3=s2; String s4 = new String("abc"); Czy prawdą jest, że: s1=="abc" s1==s4; s1==s2; s2=="abc" s2==s3; s1.equals(s2); s1.equals(s3); s1.equals(s4) s1.compareto(s4); Dany jest String s = " Ala ma kota i kot ma Ale "; Jak wypisać zdanie s z dużych liter? Jak wypisać zdanie s bez początkowych i końcowych spacji? Jak podzielić zdanie s używając symbolu spacji i wypisz każdy z wyrazów w kolejnej linii (użyj pętli) foreach. 23

Tablice Tablica - to ciąg zmiennych tego samego typu, opisanych jedną wspólną nazwą. Elementy tablicy identyfikuje się za pomocą indeksów. Dostęp do poszczególnych elementów tablicy odbywa się za pomocą operatora indeksowania []. Indeksy są liczone od zera. Tablica jednowymiarowa odpowiada matematycznemu pojęciu wektora, wielowymiarowa macierzy. Tablice w języku Java są zaimplementowane jako obiekty, więc nie mogą być deklarowane statycznie. Tworzenie tablicy składa się z dwóch etapów: 1. deklaracja zmiennej referencyjnej tablicy, 2. utworzenie nowego obiektu tablicy i przypisanie go do danej zmiennej tablicowej. 24

Tablice - przykład Deklaracja tablicy: int[] anarray; Alokacja pamięci: anarray = new int[4]; Ustawienie kolejnych elementów tablicy: anarray[0] = 10; anarray[1] = 11; anarray[2] = 12; anarray[0] = 13; Długość tablicy można sprawdzić za pomocą właściwości lenght. 25

Operatory Nazwa operatora Symbol Przypisania = += -= *= /= Arytmetyczne dwuargumentowe + - / * Relacyjne > < => =< ==!= Logiczne! && Bitowe & ^ << >> ~ >>> In-/de-krementacja -- ++ Operator porównania typu instanceof Trójwartościowy? : 26

Instrukcje sterowania Instrukcje wyboru if-then if-then-else switch Pętle do-while for Instrukcje sterujące break kończy wykonywanie danej instrukcji sterowania continue pomija wykonanie danego kroku instrukcji sterowania. return Blok { instrukcje } 27

Instrukcje wyboru if-then if(liczba % 2 == 0) System.out.println(true); if-then-else if(liczba % 2 == 0) System.out.println(true); else System.out.println(true); switch switch(liczba % 3){ case 1: System.out.println( reszta 1 ); break; case 2: System.out.println( reszta 2 ); break; default: System.out.println( reszta 0 ); } switch współpracuje z następującymi typami: int, byte, shrot, chat, klasami opakowującymi tj. Integer, Byte, typami wyliczeniowymi 28

Pętle do-while do instrukcja; while (wyrażenie); while while (wyrażenie) instrukcja; foreach for int[] liczby = {1,2,3,4,7,8}; for (start; stop; inkrementacja) for (int zm : liczby) instrukcja; System.out.println(zm); Jak wypisać na konsoli następujące tablice? 29

Funkcje matematyczne Funkcje matematyczne Javy są zawarte w klasie Math. Funkcje te są zadeklarowane jako statyczne, więc można ich używać bez tworzenia egzemplarza obiektu. Funkcje matematyczne (metody klasy Math) zwykle operują na liczbach rzeczywistych typu double i zwracają wartości typu double. Przykładowe funkcje klasy Math: abs(x) ceil(double x) floor(double x) sqrt(double x) random() pow(double x, double n) sin(double alfa) cos(double alfa) tan(double alfa) 30

Wyjątki Wyjątek jest sytuacją, która powoduje zatrzymanie normalnego wykonywania programu. Klauzula try może mieć wiele catch, ale każdy musi obsługiwać inny typ Wyjatku. Bardziej precyzyjne wyjątki powinny znajdować się w pierwszych klauzulach catch. Klauzula finally będzie zawsze wykonana. try { instrukcje; } catch (typwyjątku parametr) { instrukcje; } catch (typwyjątku parametr) { instrukcje; }... finally { instrukcje; } 31

Wyjątki Napisać program który uruchamiasz z dwoma parametrami typu int i wyprowadzasz na ekran iloraz tych liczb. Jeśli parametrów będzie za mało masz obsłużyć odpowiedni wyjątek. Jeśli parametry będą złego typu masz obsłużyć odpowiedni wyjątek. Jeśli drugi z parametrów będzie zerem masz obsłużyć odpowiedni wyjątek. 32

Czytanie z klawiatury W Javie czytanie z klawiatury można realizować na wiele sposobów: 1. Przy pomocy tablicy byte[] byte[] bufor = new byte[100]; System.in.read(bufor); System.out.println("Wpisales ciag znakow: " + new String(bufor).trim()); 2. Przy pomocy klasy klasy BufferedReader BufferedReader bufor = new BufferedReader(new InputStreamReader(System.in)); String s = bufor.readline(); System.out.println("Wpisales ciag znakow: "+s); 3. Przy pomocy klasy Scanner Scanner sc = new Scanner(System.in); String bufor = sc.nextline(); System.out.println("Wpisales ciag znakow: "+bufor); 33

JOptionPane okienka dialogowe Klasa JOptionPane umożliwia interakcję z użytkownikiem za pomocą wyskakujacego okienka dialogowego. Klasa a ma cztery podstawowe metody wywyołania. 34

Zadanie domowe 1 Napisz program w Javie uruchamiany z dwoma parametrami wejściowymi arg1 oraz arg2, którego zadaniem jest wyświetlić iloraz liczb podanych jako argumenty arg1 oraz arg2. Program zgłasza błąd jeśli: - podano za mało argumentów, - argumenty nie są liczbami całkowitymi tylko z innym napisem, - wywołano dzielenie przez 0. 35

Dziękuję za uwagę 36