Podstawy Javy Wyklad 2



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

Programowanie obiektowe

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

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

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

Microsoft IT Academy kurs programowania

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

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

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Wprowadzenie do języka Java

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

Programowanie obiektowe

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Tworzenie aplikacji w języku Java

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

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

Platformy Programistyczne Podstawy języka Java

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

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

Java Podstawy. Michał Bereta

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

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

INFORMATYKA. Laboratorium 1

1 Podstawy c++ w pigułce.

Język JAVA podstawy programowania

MATERIAŁY DO ZAJĘĆ II

Odczyt danych z klawiatury Operatory w Javie

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Podstawy programowania w języku C

Stuck in the loop. Sterowanie. Marcin Makowski. 29 października Zak lad Chemii Teoretycznej UJ

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

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

Język C zajęcia nr 11. Funkcje

Podstawy i języki programowania

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

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

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

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

JAVA?? to proste!! Autor: wojtekb111111

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

Języki skryptowe w programie Plans

Język ludzki kod maszynowy

Programowanie wieloplatformowe w Java

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

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

Podstawy i języki programowania

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

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

Zmienne, stałe i operatory

Podstawowe części projektu w Javie

KOTLIN. Język programowania dla Androida

Wykład 2 Składnia języka C# (cz. 1)

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

1 Podstawy c++ w pigułce.

Java w Internecie 1. Gosling J., Joy B, Steele G., The Java Language Specification. Addison-Wesley, 1996, (specyfikacja jzyka)

Podstawy programowania w języku C i C++

Java jako język programowania

Spis treści. 1 Java T M

Programowanie obiektowe

ROZDZIAŁ 2. Operatory

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

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

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main

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

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Multimedia JAVA. Historia

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Java Język programowania

Podstawy Programowania C++

Dokumentacja do API Javy.

Programowanie urządzeń mobilnych

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Programowanie C# mgr in. Dariusz Ku. p. 119A

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

Część 4 życie programu

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

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusz Mikoda

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

Elementy języka Java

Programowanie w Internecie. Java

Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak:

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

Wykład 4: Klasy i Metody

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

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

Ćwiczenie 1. Przygotowanie środowiska JAVA

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

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

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

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe

Akademia ETI. Wprowadzenie do programowania w Javie PG Java User Group Przemysław Kulesza

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

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

Programowanie obiektowe zastosowanie języka Java SE

( wykł. dr Marek Piasecki )

WPROWADZENIE DO JĘZYKA JAVA

Transkrypt:

Programowanie sieciowe Podstawy Javy Wyklad 2 opracowal: mgr inz. Tomasz Gratkowski e-mail: T.Gratkowskie@iie.pz.zgora.pl sala: 408 tel. (068) 32-82-526

Troche historii jezyka Java 1990 - Bill Joy w raporcie Further sugerujesunowi stworzenie srodowiska obiektowego na bazie C++, 1991 - W ramach projektu Green powstaje jezyk OAK - Object Application Kernel (James Gosling), przeznaczony dla aplikacji w elektronice powszechnego uzytku, 1995 - zmiana nazwy na JAVA ze wzgledu na zastrzezenie nazwy OAK, 1996 - Pojawia sie Netscape zgodny z Java 1.0, Sun propaguje darmowe srodowisko JDK 1.0, 1999 - Java 2 Nowe oblicze Javy.

Java platforma tworzenia i wykonywania aplikacji Platforma (platforma programowo-sprzetowa) - nazywa sie przewaznie pewna kombinacje sprzetu i oprogramowania umozliwiajaca tworzenie i wykonywanie programów. Platforme stanowi wiec komputer o danej konfiguracji oraz system operacyjny w srodowisku którego uruchamiana jest dowolna aplikacja np.: Intel PC + Windows NT; Sun Ultra + Solaris; SGI O2 + Irix 6.4, itp. Platforma Javy jest podobna, jest to zbiór dwóch elementów: Java API (Application Programming Interfaces) - interfejsy tworzenia aplikacji oraz JavaVM (Virtual Machine) - maszyna wirtualna, zwane czesto srodowiskiem uruchomieniowym aplikacji - Java Runtime Engine (JRE). Niezaleznosc systemowa oznacza, ze program moze byc wykonany na dowolnym systemie komputerowym. Programy napisane w Javie moga dzialac na kazdym komputerze dla którego stworzona zostala wirtualna maszyna Javy. Kod bajtowy Javy jest grupa instrukcji, które nie sa charakterystyczne dla zadnego konkretnego procesora ani systemu komputerowego. Kody te sa wykonywane przez specjalny interpreter (wirtualna maszyna Javy), który jest zalezny od systemu operacyjnego i procesora na którym dziala.

Systemy kompilacji programów Programowanie Sieciowe Tradycyjny system kompilacji programów Programy napisane w Javie Plik binarny (Pentium) Twój kod Kompilator (Pentium) Plik binarny (PowerPC) Kod Javy Kompilator Javy Interpreter Javy (Pentium) Kompilator (PowerPC) Plik binarny (SPARC) Plik bajtowy Javy (niezalezny od systemu) Interpreter Javy (Power PC) Kompilator (SPARC) Interpreter Javy (SPARC)

Dzialanie Javy Programowanie Sieciowe KOMPILACJA Zródlo programu (*.java) Kompilator Javy (javac) Kod bajtowy (*.class) Kod bajtowy dostarczany lokalnie lub poprzez siec Java Virtual Machine URUCHOMIENIE Java Interpreter Ladowanie klas Weryfikacja kodu Run-time System Generator kodu (JIT) Just-in-time Biblioteki Javy System operacyjny Sprzet Komentarze trzy rodzaje /* text */ kompilator ignoruje tekst miedzy /* i */. /** dokumentacja */ wskazuje komentarz dla potrzeb dokumentacji (doc comment), wykorzystywany przez narzedzie javadoc // text kompilator ignoruje wszystko do konca linii

Literaly Programowanie Sieciowe Literal to dokladnie ta sama wartosc, która wpisano w kodzie programu. Literaly liczbowe Ponizej prezentujemy literaly numeryczne: calkowite i rzeczywiste: 169, 0251, 0xA9, 0XA9, 0xa9 - literaly calkowite typu int i long 4.565556, 0.2, 50.0, 30.5E-11 - literaly rzeczywiste typu double 4.565556f, 0.2F, 50.0f, 30.5E-11f - literaly rzeczywiste typu float 4.565556d, 0.2D, 50.0d, 30.5E-11d - literaly rzeczywiste typu double Literaly logiczne i znakowe true, false literaly logiczne a, #,3 literaly znakowe Literaly lancuchowe Opis Literal New line (znak nowej linii) \n Horizontal tab (tabulacja pionowa) Backspace \b Carriage return (powrót karetki) \r From feed (znak nowej strony) \f Single quote (apostrof) Double quote (cudzyslów) \" Backslash (lewy ukosnik) \\ Unicode (kod znaku z zbioru Unicode) \t \' \udddd

Podstawowe typy danych Programowanie Sieciowe Typ danych Rozmiar (w bitach) Opis boolean 8 przyjmuje wartosci logiczne true lub false. byte 8 wartosc calkowita ze znakiem. char 16 kod znaku w kodzie Unicode. short 16 wartosc calkowita ze znakiem. int 32 wartosc calkowita long 64 wartosc calkowita float 32 wartosc zmiennoprzecinkowa double 64 wartosc zmiennoprzecinkowa

Operatory w Javie i ich priorytety (1) Opera tor Nazwa Przyklad. Selektor obiektu obiekt.nazwa_elementu [] Indeks tablicy tablica[nuner_elementu] () Wywolanie funkcji nazwa_funkcji(lista_elementów) ++ Przyrostkowy operator inkrementacji zmienna++ ++ Przedrostkowy operator inkrementacji ++zmienna -- Przyrostkowy operator dekrementacji zmienna-- -- Przedrostkowy operator inkrementacji --zmienna ~ Operator uzupelnienia jedynkowego ~wyrazenie! Operator negacji logicznej!wyrazenie instan ceof Operator wystepowania if(obiekt instanceof nazwa_klasy)

Operatory w Javie i ich priorytety (2) new Operator przydzialu pamieci new typ_zmiennej * Operator mnozenia wyrazenie * wyrazenie / Operator dzielenia wyrazenie / wyrazenie % Operator modulo wyrazenie % wyrazenie + Operator dodawania wyrazenie + wyrazenie - Operator odejmowania wyrazenie - wyrazenie << Operator prszesuniecia w lewo wyrazeniie << wyrazenie >> Operator przesuniecia w prawo wyrazenie >> wyrazenie >>> Operator przesuniecia w prawo z wypelnieniem zerami wyrazenie >>> wyrazenie < Operator mniejszosci wyrazenie < wyrazenie > Operator wiekszosci wyrazenie > wyrazenie

Operatory w Javie i ich priorytety (3) <= Operator mniejszosci lub równosci wyrazenie <= wyrazenie >= Operator wiekszosci lub równosci wyrazenie >= wyrazenie = = Operator równosci wyrazenie = = wyrazenie!= Operator nierównosci wyrazenie!= wyrazenie & Operator iloczynu bitowego wyrazenie & wyrazenie ^ Operator bitowej róznicy symetrycznej (XOR) wyrazenie ^ wyrazenie Operator sumy bitowej wyrazenie wyrazenie && Operator iloczynu logicznego (AND) wyrazenie && wyrazenie Operator sumy logicznej (OR) wyrazenie wyrazenie?: Operator if - else (wyrazenie_logiczne)? wyrazenie_true : wyrazenie_false = op Operator przypisania zmienna = op wyrazenie; gdzie 'op' jest jednym z operatorów: ( '+', '-', '*', '/', '%', '&', ' ', '^', '<<', '>>', '>>>')

Tablice. Programowanie Sieciowe Instrukcja warunkowa if. Tablica jest zbiorem elementów. Kazda komórka tablicy moze zawierac obiekt lub dana jednego z typów podstawowych. Tablice sa normalnymi obiektami i moga byc traktowane w sposób obiektowy. Aby stworzyc tablice nalezy: zadeklarowac zmienna, w której zostanie umieszczona tablica; String trudneslowa[ ]; Sting[ ] trudneslowa; int temp[ ]; int[ ] temp; stworzyc nowy obiekt i zapisac go w zadeklarowanej zmiennej; uzycie operatora new trudneslowa = new String[10]; int[ ] tmp = new int[99]; jawne okreslenie zawartosci tablicy String[ ] przyprawy = chili, papryka, pieprz, bazylia ; zapisac elementy do komórek tablicy; przyprawy[2] = oregano ; int tab_dwuwymiarowa = new int[20][10]; int dlugosc = przyprawy.length; Instrukcja warunkowa if wykonuje rózne fragmenty kodu z zaleznosci od wyniku testu logicznego. if (boolean) /* instukcje */ else /* instrukcje */

Instrukcje warunkowe if (cd) oraz switch i operator warunkowy?: if(stansilnika == true ) System.out.println("Silnik jest juz wlaczony."); else System.out.println("Wlaczam sielnik!"); if (poziompaliwa > 1) stanpaliwa = true; else System.out.println("Zbyt malo paliwa! Nie mozna uruchomic silnika"); if(stansilnika == true ) System.out.println("Silnik jest juz wlaczony."); else System.out.println("Wlaczam sielnik!"); Operator warunkowy ma postac: warunek? wynik_true : wynik_false; int warunek = x < y? x : y; W instrukcji switch Test porównywany jest kolejno ze wszystkimi wartosciami podanymi z prawej strony slów kluczowych case. Jezeli Test i Wartosc sa równe to zostanie wykonana instrukcja umieszczona po dwukropku. switch ( Test) case Wartosc1 : case Wartosc2 : default : /*... */ break; /*... */ break; /*... */ break;

Petle for, while, do. Instrukcje break oraz continue. for (inicjalizacja;test;inkrementacja) /* instrukcje */ for (int i = 1; i < 10 ; i++) System.out.println( Petla wykonuje sie + i + raz ); while (test) /* instrukcje */ while (indeks < tab.length && tab[index]!= 0) /* instrukcje */ do /* instrukcje */ while ( test ); Instrukcja: break powoduje natychmiastowe przerwanie wykonania aktualnej petli, jezeli break umieszczona jest wewnatrz zagniezdzonych petli, przerywana jest jedynie petla wewnatrz której znajduje sie instrukcja break; continue powoduje przejscie do kolejnej iteracji. Dla petli while oraz do oznacza kolejne wykonanie bloku instrukcji, dla petli for zmodyfikowanie zmiennych sterujacych, przeprowadzenie testu oraz ponowne wykonanie instrukcji umieszczonych wewnatrz petli.

Myslenie na sposób obiektowy. Klasy oraz obiekty. Drzewo drzewo (abstrakcyjna) Drzewo Drzewo Drzewo jest ogólnym szablonem grupy obiektów posiadajacych te same wlasciwosci. Instancja jest konkretna reprezentacja okreslonej klasy. Instancje oraz obiekty sa tym samym. Biblioteka klas jest zbiorem klas stworzonych w celu ich ponownego uzycia w wielu róznych programach. Atrybuty zmienne. Atrybuty sa elementami, które moga róznic poszczególne obiekty tej samej klasy. Np. klasa Motocykl moze zawierac nastepujace atrybuty: Kolor: czerwony, zielony,srebrny Typ: sportowy,rajdowy, terenowy Produkcja: Honda, BMW, Yamaha Zmienna instancyjna definiuje atrybuty obiektu. Typy oraz nazwy zmiennych instancyjnych okreslone sa w klasie, jednakze ich wartosci sa ustawiane i modyfikowane w obiektach. Zachowania metody. Zachowania klasy definiuja sposób, w jaki dzialac beda poszczególne jej instancje. Np. klasa Motocykl moze

Klasy. (2) instancje. Np. klasa Motocykl moze zawierac nastepujace zachowania: Wlaczanie silnika Wylaczanie silnika Zablokowanie silnika Przyspieszenie Zmiana biegu Metody sa funkcjami zdefiniowanymi wewnatrz klasy, które operuja na jej instancjach. Definicja klasy: ModyfikatoryKlasy class NazwaKlasy [extends klasa_bazowa] [implements interfejs]... definicja metod i pól danych... Klasy przyklady deklaracja klasy class Punkt extends Object public double x; public double y; deklaracja zmiennej przypisanej do obiektu klasy Punkt i alokacja wystapienia obiektu Punkt mojpunkt; mojpunkt = new Punkt(); dostep do zmiennych obiektu Punkt: mojpunkt.x = 5.2; mojpunkt.y = 26.9; Konstruktory w definicji klasy mozna podac konstruktory sluzace do inicjowania obiektu tej klasy konstruktor ma nazwe klasy name overloading dopuszcza sie dowolna ilosc konstruktorów o róznych parametrach (ilosc i typ)

Klasy. (3) class Punkt extends Object public double x; public double y; Punkt () x = 0.0; y = 0.0; Punkt (double x, double y) this.x = x; this.y = y; Slowo kluczowe this do odwolywania sie do wlasnych pól stosowana dla jasnosci Slowo kluczowe super odwolanie do ukrytej w biezacej klasie zmiennej lub metody klasy nadrzednej super.avar, super.amethod(); Metody pod wzgledem skladni metody sa implementowane jak funkcje ModyfikatoryMetody TypRezultatu NazwaFunkcji ( Argument1, Argument2,...)... kod zródlowy metody...

Hierarchia klas Programowanie Sieciowe Obiekt Pojazd PojazdPoruszanySilaMiesni PojazdSilnikowy PojazdSilnikowyDwuKolowy PojazdSilnikowyCzteroKolowy Motocykl Skuter Motorynka Definicja metody Poczatkowa definicja metody Metoda jest przeslonieta przez te definicje Wiadomosc przesylana do obiektu i przekazywana w góre hiererchii klas az do odnalezienia definicji metody Wiadomosc przesylana do obiektu i przekazywana w góre hiererchii klas az do odnalezienia definicji metody Obiekt Obiekt Obiekt Obiekt