Platformy Programistyczne Podstawy języka Java

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

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

Programowanie obiektowe

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Podstawowe części projektu w Javie

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

Java Podstawy. Michał Bereta

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

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

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

Wprowadzenie do języka Java

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Tworzenie aplikacji w języku Java

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

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

Programowanie obiektowe

Dokumentacja do API Javy.

Kurs programowania. Wykład 9. Wojciech Macyna

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

Programowanie obiektowe

Dziedziczenie. dr Jarosław Skaruz

Podstawy i języki programowania

Programowanie w środowiskach graficznych. Wykład 3 Język C#

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

Programowanie obiektowe

Java: interfejsy i klasy wewnętrzne

Programowanie w Internecie. Java

Dawid Gierszewski Adam Hanasko

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

Java Język programowania

Programowanie Obiektowe (Java)

Programowanie Komputerów

Programowanie obiektowe i język Java

KOTLIN. Język programowania dla Androida

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

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

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

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

Programowanie i projektowanie obiektowe

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Klasy abstrakcyjne, interfejsy i polimorfizm

Programowanie obiektowe

Wykład 2: Podstawy Języka

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

Dziedziczenie. Tomasz Borzyszkowski

Wstęp do ruby dla programistów javy

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

MATERIAŁY DO ZAJĘĆ II

Programowanie obiektowe

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

Programowanie obiektowe

Polimorfizm. dr Jarosław Skaruz

Wykład 4: Klasy i Metody

Programowanie w Javie - wykład 3

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

Realizacja ekstensji klasy. Paulina Strzelecka, Tomasz Roszkowski

Wykład 7: Pakiety i Interfejsy

Lista, Stos, Kolejka, Tablica Asocjacyjna

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

Współbieżność w środowisku Java

Podejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne

Programowanie w Javie wykład 9 Klasy wewnętrzne, klasy anonimowe Klasy opakowujące

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

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

Rozdział 4 KLASY, OBIEKTY, METODY

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

Dziedziczenie. Streszczenie Celem wykładu jest omówienie tematyki dziedziczenia klas. Czas wykładu 45 minut.

Programowanie obiektowe

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

Programowanie obiektowe

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

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

Programowanie obiektowe

Microsoft IT Academy kurs programowania

Kolekcje w Javie cz. 1

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

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

Programowanie obiektowe

Podstawy otwartych języków programowania Przechowywanie danych

Programowanie w środowisku graficznym- wykład 2 Java - Klasy

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Kurs WWW. Paweł Rajba.

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

Podstawy i języki programowania

Język ludzki kod maszynowy

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki

Definiowanie własnych klas

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

Języki i metodyka programowania. Język C# pętle, sterowanie, wyjątki

Enkapsulacja, dziedziczenie, polimorfizm

Wykład 5: Więcej o Klasach i Metodach

JAVA- wykład 2 Klasy

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

Programowanie w Javie wykład 7 Klasy c.d. (przeciążanie metod, polimorfizm) Metody i klasy abstrakcyjne Bloki inicjalizacyjne

Programowanie obiektowe

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

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Transkrypt:

Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014

Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo kluczowe final

Sztuka wysławiania się w języku Java 1 Sztuka wysławiania się w języku Java Wyrażenia Operatory Pętle Instrukcje warunkowe Operatory logiczne 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne

Wyrażenia int liczbastatkow = 5; String imie = " Kapitan Hak"; liczbastatkow = liczbastatkow + 7; Systemoutprint(imie + " zatopil "); System out println( liczbastatkow + " statkow"); // komentarz /* dluzszy komentarz */

Wyrażenia int liczbastatkow = 5; String imie = " Kapitan Hak"; liczbastatkow = liczbastatkow + 7; Systemoutprint(imie + " zatopil "); System out println( liczbastatkow + " statkow"); // komentarz /* dluzszy komentarz */ Wynik Kapitan Hak zatopil 7 statkow

Operatory = przypisanie == równość bitów equals(object) równość obiektów! nieprawda <, > porównanie

Operatory = przypisanie == równość bitów equals(object) równość obiektów! nieprawda <, > porównanie Przykłady int numer = 7; if (statek!= null) { boolean niepusta =! tablica isempty();

Pętle while i do-while Statek[] statki = new Statek[5]; int liczbastatkow = statki length; while ( liczbastatkow > 0) { liczbastatkow = liczbastatkow - 1; do { liczbastatkow = liczbastatkow - 1; while ( liczbastatkow > 0);

Pętle for i for-each Statek[] statki = new Statek[5]; for ( int i=0; i < statki length; i = i+1) { Systemoutprintln(statki[i]getName ()); for ( Statek statek : statki) { Systemoutprintln(statekgetName ());

Instrukcje warunkowe if (pole == "statek" && zatopiony) { // zatopiony == true liczbastatkow = liczbastatkow - 1; // liczbastatkow --; Systemoutprintln("Trafiony zatopiony!"); else if (pole == "statek" &&!zatopiony) { // zatopiony == false Systemoutprintln("Trafiony niezatopiony!"); else { Systemoutprintln("Pudlo!");

Operatory logiczne Operator AND String pole = null; if ( pole!= null && pole equals(" statek")) { Bitowy operator AND if ( pole!= null & pole equals(" statek")) {

Operatory logiczne Operator AND String pole = null; if ( pole!= null && pole equals(" statek")) { jezeli pierwszy warunek nie jest spelniony, drugi nie bedzie sprawdzany Bitowy operator AND if ( pole!= null & pole equals(" statek")) { NullPointerException - oba warunki zostana sprawdzone

Operatory logiczne Operator OR String pole = null; if ( pole == null pole isempty()) { Bitowy operator OR if ( pole == null pole isempty()) {

Operatory logiczne Operator OR String pole = null; if ( pole == null pole isempty()) { jezeli pierwszy warunek jest spelniony, drugi nie bedzie sprawdzany Bitowy operator OR if ( pole == null pole isempty()) { NullPointerException - oba warunki zostana sprawdzone

Cały świat jest obiektem 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem Konstruktor Zmienne 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo kluczowe final

Cały świat jest obiektem public class Object Klasa Object reprezentuje obiekty w Javie Każdy obiekt (niejawnie) dziedziczy po klasie Object

Cały świat jest obiektem public class Object Klasa Object reprezentuje obiekty w Javie Każdy obiekt (niejawnie) dziedziczy po klasie Object ale

Cały świat jest obiektem public class Object ale Klasa Object reprezentuje obiekty w Javie Każdy obiekt (niejawnie) dziedziczy po klasie Object Istnieją typy proste (które nie są obiektami): byte, short, int, long, float, double, char, boolean

Klasy i obiekty Klasa Wzorzec wg którego jvm tworzy obiekty Klasa jest zawsze jedna

Klasy i obiekty Klasa Wzorzec wg którego jvm tworzy obiekty Klasa jest zawsze jedna Obiekt Egzemplarz klasy

Klasy i obiekty public class MojaKlasa {

Konstruktor Konstruktor domyślny 1 bezargumentowy 2 dodawany przez kompilator jeżeli: 1 inny konstruktor nie jest zdefiniowany w klasie 2 nadklasa posiada konstruktor bezargumentowy

Klasy i obiekty public class MojaKlasa { public MojaKlasa() { // konstruktor bezargumentowy public MojaKlasa( int jakisnumer) { // konstruktor jedno - argumentowy

Typy zmiennych Typy Typy prymitywne: int, short, byte, long, double, float, boolean, char przekazywane przez wartość Typy referencyjne: Integer, String, int[], Object, Object[] przekazywane przez referencję Referencja Bity, które reprezentują sposób dotarcia do obiektu

Nazwy zmiennych Nazwa zmiennej 1 zaczyna się od litery, podkreślnika _ lub dolara $ 2 nie może zaczynać się od cyfry 3 nie może być słowem zarezerwowanym

Zmienne egzemplarza (instance variables) public class Ship { private int numberofmasts; private String name; private Coordinates coords; podczas tworzenia nowego obiektu zmiennym egzemplarza są przypisywane wartości domyślne obiekty - null typy prymitwne - 0, false

Zmienne egzemplarza public class Ship { private int numberofmasts; // = 0 private String name; // = null private Coordinates coords; // = null

Zmienne lokalne Zmiennymi lokalnymi nazywamy parametry metod zmienne zadeklarowane w metodzie Widoczność zmiennych lokalnych Zmienne są widoczne tylko w metodzie, w której zostały zadeklarowane Jeżeli zmienna została zadeklarowana w bloku wewnątrz metody, jest widoczna tylko w tym bloku

Zmienne lokalne public class Ship() { public int countmasts( Coordinates coords) { int x; if (x > 1) { for ( int i=0; i <10; i++) { String tempstring = " cokolwiek"; Systemoutprintln("" + i);

Zmienne lokalne public class Ship() { public int countmasts( Coordinates coords) { int x; if (x > 1) { blad kompilatora zmienna x nie jest zainicjowana for ( int i=0; i <10; i++) { String tempstring = " cokolwiek"; Systemoutprintln("" + i); blad kompilatora - nieznana zmienna i

Kolekcje 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo kluczowe final

Kolekcje ht

Iterowanie elementów kolekcji 1 Iterator 2 for-each 3 operacje agregujące (JDK 8)

Iterator public interface Iterator <E> { boolean hasnext(); E next(); void remove(); // optional

Iterator public void print( Collection <Object > collection) { Iterator <Object > iterator = collection iterator(); while (iteratorhasnext()) { Systemoutprintln(iteratornext());

Iterator public void print( Collection <Object > collection) { for ( Iterator <Object > iterator = collectioniterator(); iteratorhasnext(); ) { Systemoutprintln(iteratornext());

for-each public void print( Collection <Object > collection) { for ( Object element : collection) { Systemoutprintln(element);

Operacje agregujące public void print( Collection <Object > collection) { collection foreach(e -> System out println(e)); public void sort( Collection <Object > collection) { collectionsort((o1, o2) -> o1compareto(o2));

Klasa Collections Klasa Collections Zawiera użyteczne metody operujące na kolekcjach np sort shuffle reverse swap

Zmienne i metody statyczne 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo kluczowe final

Zmienne i metody statyczne public class Utils { private static String EMAIL_PATTERN = "^\\S+@(\\S+\)+\\S{2,3$"; private Utils() { // opcjonalne, ale logiczne // nie mozna stworzyc obiektu tej klasy public static boolean validateemail( String email ) { return email matches( EMAIL_PATTERN);

Słowo kluczowe final 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo kluczowe final

Po klasach finalnych nie można dziedziczyć public final class Oracle { public class ExtendedOracle extends Oracle { blad kompilatora po klasie finalnej nie mozna dziedziczyc

Metod finalnych nie można nadpisywać public class Oracle { public final Verdict getverdict() { return Verdict POSITIVE; public class ExtendedOracle extends Oracle { @Override public Verdict getverdict() { blad kompilatora metod finalnych nie mozna nadpisywac

Zmiennym finalnym nie można zmieniać wartości public class Oracle { // stala VERDICTS_PER_DAY private final static int VERDICTS_PER_DAY = 7; public Verdict getverdict() { // zmienna finalna typu prostego final int magicnumber = getmagicnumber (); magicnumber = 5; blad kompilatora - nie mozna zmienic wartosci return Verdict POSITIVE;

Zmiennym finalnym nie można zmieniać wartości public class Oracle { public Verdict getverdict() { // zmienna finalna typu referencyjnego final WeatherForecast weatherforecast = getweatherforcast (); // modyfikacja stanu obiektu jest dozwolona weatherforecast settemperature (204); weatherforecast = new WeatherForecast (); blad kompilatora - nie mozna zmienic referencji return Verdict POSITIVE;