Programowanie obiektowe Wykład 11

Slides:



Advertisements
Podobne prezentacje
Mgr inż.Marcin Borkowski Podstawy Java Krótkie wprowadzenie dla studentów Wyższej Szkoły Ekologii i Zarządzania
Advertisements

Podstawy języka Java Nguyen Hung Son Uniwersytet Warszawski.
dr Anna Kwiatkowska Instytut Informatyki
Informatyka I Wykład 10 WSKAŹNIKI I ADRESY Jerzy F. Kotowski.
Programowanie obiektowe – zastosowanie języka Java SE
JAVA.
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
  ELEMENTY JĘZYKA JAVA komentarze w Javie, słowa kluczowe i operatory, proste typy danych, tablice, podstawowy zestaw instrukcji.
Programowanie obiektowe Wykład 9 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/15 Dariusz Wardowski.
Równowaga chemiczna - odwracalność reakcji chemicznych
Ekonometria WYKŁAD 10 Piotr Ciżkowicz Katedra Międzynarodowych Studiów Porównawczych.
1 Dr Galina Cariowa. 2 Legenda Iteracyjne układy kombinacyjne Sumatory binarne Sumatory - substraktory binarne Funkcje i układy arytmetyczne Układy mnożące.
Tworzenie odwołania zewnętrznego (łącza) do zakresu komórek w innym skoroszycie Możliwości efektywnego stosowania odwołań zewnętrznych Odwołania zewnętrzne.
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania 1 Metody optymalizacji - Energetyka 2015/2016 Metody programowania liniowego.
Excel 2007 dla średniozaawansowanych zajęcia z dnia
Wyrażenia Algebraiczne Bibliografia Znak 1Znak 2 Znak 3 Znak 4 Znak 5 Znak 6 Znak 7 Znak 8 Znak 9 Znak 10 Znak 11.
Podstawowe konstrukcje języka Java Bartosz Walter InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin.
FORMAT WYMIANY DANYCH GEODEZYJNYCH TANAGO. TANGO V. 1.
Zmienne losowe Zmienne losowe oznacza się dużymi literami alfabetu łacińskiego, na przykład X, Y, Z. Natomiast wartości jakie one przyjmują odpowiednio.
IEN 2010 © wszelkie prawa zastrzeżone SEMINARIUM Pakiet MATLAB w Zakładzie OGM Możliwości posiadanych produktów.
ULAMKI ZWYKLE KLASA IV. 2 3 kreska ułamkowa licznik ułamka mianownik ułamka ULamek zwykLy.
Dodawania i odejmowanie sum algebraicznych. Mnożenie sumy algebraicznej przez jednomian. Opracowanie Joanna Szymańska Konsultacja Bożena Hołownia.
Menu Jednomiany Wyrażenia algebraiczne -definicja Mnożenie i dzielenie sum algebraicznych przez jednomian Mnożenie sum algebraicznych Wzory skróconego.
Python. Języki Programistyczne Microcode Machine code Assembly Language (symboliczna reprezentacja machine code) Low-level Programming Language (FORTRAN,
Opracowanie Joanna Szymańska Konsultacja Bożena Hołownia.
Obliczanie procentu danej wielkości Radosław Hołówko.
 Przedziałem otwartym ( a;b ) nazywamy zbiór liczb rzeczywistych x spełniających układ nierówności x a, co krócej zapisujemy a
Język Java Paweł Rajba
Dziedziczenie, polimorfizm, Interfejsy
Mikroprocesory.
Programowanie Obiektowe – Wykład 1
Przeglądarka stron WWW
W kręgu matematycznych pojęć
Schematy blokowe.
DEFINICJA I ZASTOSOWANIE W JĘZYKU HASKELL
terminologia, skale pomiarowe, przykłady
Typy i typy klas.
MATEMATYCZNE MODELOWANIE PROCESÓW BIOTECHNOLOGICZNYCH
Liczby pierwsze.
Akademia C# - Lab2 Zmienne, instrukcje warunkowe, pętle, debugger,
Akademia C# lab. 9 Zdarzenia i delegaty.
Podstawy automatyki I Wykład /2016
Programowanie obiektowe Wykład 10
Programowanie obiektowe
Wstęp do Informatyki - Wykład 3
Lekcja 1 – Hello World! Visual Studio, coś łatwego na początek 
Wstęp do Informatyki - Wykład 8
Programowanie obiektowe
Kurs języka C++ – wykład 13 ( )
Zajęcia przygotowujące do matury rozszerzonej z matematyki
Elementy fizyki kwantowej i budowy materii
Programowanie obiektowe
Języki programowania.
Prezentacja Julia Hamala 3B.
Laboratorium 1 – obsługa wejść i wyjść
Programowanie obiektowe – zastosowanie języka Java SE
Instrukcje wyboru.
Podstawy informatyki Zygfryd Głowacz.
Dokumentacja rysunkowa
Pisemne dzielenie liczb naturalnych
Zmienne i typy danych w C#
Proste obliczenia w arkuszu kalkulacyjnym
Implementacja rekurencji w języku Haskell
Doskonalenie rachunku pamięciowego u uczniów
REGRESJA WIELORAKA.
Język C++ Preprocesor Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła.
Język C++ Operatory Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła.
Python 3 Wprowadzenie.
Zapis prezentacji:

Programowanie obiektowe Wykład 11 Podstawy programowania w Javie Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Programowanie obiektowe Wykład 11 Hello world  Poniżej przedstawiono prosty program wypisujący tekst w oknie konsoli: //plik HelloWorld.java public class HelloWorld { public static void main(String[] args) System.out.println(„Hello world!”); } Podstawowe informacje dot. kodu: Java odróżnia małe i wielkie litery, Cały kod znajduje się wewnątrz klasy, Nazwę klasy zaczynamy dużą literą, Nazwa pliku, w którym znajduje się kod źródłowy, musi być równa nazwie klasy publicznej i musi mieć rozszerzenie .java. Do wyznaczania bloków instrukcji używamy nawiasów: {, }. Każda aplikacja Javy posiada statyczną metodę main. funkcje składowe klasy nazywamy metodami. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Kompilacja i uruchamianie Programowanie obiektowe Wykład 11 Kompilacja i uruchamianie Kompilacja : javac HelloWorld.java Uruchomienie: java HelloWorld Kompilator Javy automatycznie nadaje plikowi instrukcji nazwę HelloWorld.class i umieszcza go w tym samym katalogu co kod źrółowy. Interpreter java służy do wykonywania tzw. kodu pośredniego. Podczas uruchamiania tego pliku nie używamy rozszerzenia .class. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

System.out.println(„Hello world!”); //instrukcja wypisująca Programowanie obiektowe Wykład 11 Komentarze w Javie W Javie istnieją trzy sposoby komentowania kodu: 1. Komentarz w jednej linii za pomocą znaków //, np. System.out.println(„Hello world!”); //instrukcja wypisująca 2. Komentarz blokowy, który pozwala na umieszczenie dłuższego komentarza za pomocą /* …*/ /* To jest instrukcja wypisująca na ekran konsoli /* System.out.println(„Hello world!”); 3. Komentarz do tworzenia dokumentacji: /** … */ wraz z oznaczeniami: @param, @return, @throws, @author, @version, @since, @depricated, @see … . dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ .

Programowanie obiektowe Wykład 11 Typy danych w Javie Język Java jest językiem opisowym, tzn. każda zmienna musi mieć typ. Java dostarcza następujące typy prymitywne (tzn. wbudowane): Liczby całkowite Typ Pamięc Zakres int 4 bajty -2 147 483 648 – 2 147 483 647 short 2 bajty -32 768 – 32 767 long 8 bajtów -9 223 372 036 854 775 808L – 9 223 372 036 854 775 807L byte 1 bajt -128 – 127 W języku Java zakres liczb całkowitych nie zależy od maszyny na której uruchamiany jest kod. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Typy danych w Javie c.d. Typy zmiennoprzecinkowe Typ Pamięc Zakres Programowanie obiektowe Wykład 11 Typy danych w Javie c.d. Typy zmiennoprzecinkowe Typ Pamięc Zakres float 4 bajty double 8 bajtów Liczby typu float mają sufiks F, np. 5.7843F. Liczby zmiennoprzecinkowe bez sufiksu F traktowane są jako liczby typu double. Wartości zmiennoprzecinkowe Double.POSITIVE_INFINITY dodatnia nieskończoność Double.NEGATIVE_INFINITY ujemna nieskończoność Double.NaN wartość nieliczbowa dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Typy danych w Javie c.d. Typ znakowy Programowanie obiektowe Wykład 11 Typy danych w Javie c.d. Typ znakowy Przykłady znaków: ‘f’, ‘H’, ‘ ‘, ‘\n’ Typ: char (znaki w Unicode) Znaki specjalne Znak Nazwa Unicode \b backspace \u0008 \t tabulacja \u0009 \n koniec linii \u000a \r powrót karetki \u000d \” cudzysłów \u0022 \’ apostrof \u0027 \\ backslash \u005c dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Typy danych w Javie c.d. Typ logiczny Programowanie obiektowe Wykład 11 Typy danych w Javie c.d. Typ logiczny Służy do opisywania wartości logicznych. Typ: boolean Wartości: true, false Uwaga. W Javie nie można dokonać konwersji pomiędzy liczbami a wartościami logicznymi. Porównaj poniższe kody w C++ i Javie: C++ int x=0; if (x=0) { cout << „Zmienna x ma wartość 0”; } Java int x=0; if (x=0) //błąd!!! { System.out.println(„Zmienna x ma wartość 0”); } dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Programowanie obiektowe Wykład 11 Zmienne - deklaracja W Javie każda zmienna ma określony typ. Deklarujemy zmienną pisząc najpierw typ, następnie nazwę zmiennej, np.: int x; double y, z; char z; long l; Nazwę zmiennej zaczynamy literą. Nazwa składa się z ciągu liter i liczb. Wielkość liter jest istotna. Można deklarować kilka zmiennych w jednej linii. Uwaga. Nie można używać wartości niezainicjalizowanych zmiennych. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Zmienne – inicjalizacja i przypisanie Programowanie obiektowe Wykład 11 Zmienne – inicjalizacja i przypisanie Po deklaracji zmiennej musi nastąpić jej inicjalizacja bądź przypisanie. Zobacz przykłady poniżej: int x; // deklaracja x = 10; // przypisanie char z; // deklaracja z = ‘$’; // przypisanie long l; // deklaracja l = 876567867549L; // przypisanie float f = 0.6543F; // deklaracja i inicjalizacja zmiennej W jednym bloku instrukcji (w ramach jednego zakresu) nie można zadeklarować dwóch zmiennych o tych samych nazwach. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Programowanie obiektowe Wykład 11 Stałe Aby zdefiniować dane wyrażenie jako stałe, czyli takie, którego wartość nie może ulec zmianie, używamy słowa kluczowego final. Nazwy stałych składają się z dużych liter. final double PI = 3.1416; Poniższy kod przedstawia użycie stałej klasowej, czyli wspólnej dla wszystkich obiektów tej samej klasy. public class Przyklad { public static final double PI = 3.1416; public static void main(String[] args) double r = 2.3; System.out.println(„Obwód okręgu o promieniu ” + r + „ wynosi ” + 2*PI*r); } dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Operatory w Javie + dodawanie - odejmowanie * mnożenie Programowanie obiektowe Wykład 11 Operatory w Javie + dodawanie - odejmowanie * mnożenie / dzielenie (gdy dwa argumenty są całkowite, wówczas jest to dzielenie całkowite, przeciwnym przypadku jest to dzielenie zmiennoprzecinkowe). % reszta z dzielenia Zapisy skrócone x+=3; // x = x + 3; y-=4 ; // z = z – 4; z*=5; // z = z * 5; z/=3; // z = z / 3; t%=5; // t = t % 5; Inkrementacja i dekrementacja int x=3; x++; //zwiększenie x o 1 x--; //zmniejszenie x o 1 int a = 3; int b = 3; int c = 2* ++a; //ile wynosi c? int d = 2* a++; //ile wynosi d? dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Operatory relacji == operator porównania != operator nierówności Programowanie obiektowe Wykład 11 Operatory relacji == operator porównania != operator nierówności <, >, <=, >= operatory relacji mniejszości, większości && logiczna koniunkcja || logiczna alternatywa Czy poniższy kod zwróci błąd? int x = 0; if (x!=0 && 1/x == 1) { … } Nie, gdyż operatory &&, || używają skróconego sposobu obliczania wartości logicznej. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Operatory bitowe == operator porównania != operator nierówności Programowanie obiektowe Wykład 11 Operatory bitowe == operator porównania != operator nierówności <, >, <=, >= operatory relacji mniejszości, większości && logiczna koniunkcja || logiczna alternatywa Czy poniższy kod zwróci błąd? int x = 0; if (x!=0 && 1/x == 1) { … } Nie, gdyż operatory &&, || używają skróconego sposobu obliczania wartości logicznej. >> Operator przesunięcia bitów w prawo (najstarsze bity wypełnia znakiem liczby) << Operator przesunięcia bitów w lewo >>> Operator przesunięcia bitów w prawo (najstarsze bity wypełnia zerami) dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Konwersja i rzutowanie Programowanie obiektowe Wykład 11 Konwersja i rzutowanie Konwersje, podczas których możliwa jest utrata informacji, realizowane są za pomocą rzutowania. Np.: double x = 10.9991; int n = (int)x; Uwaga. Nie można wykonać konwersji między typami numerycznymi a wartościami typu boolean. Podczas stosowania operatora dwuargumentowego dla typów numerycznych, obydwa operandy zostaną skonwertowane w jeden typ. Jeżeli jeden z operandów jest typu double, drugi zostanie skonwertowany na double. W drugiej kolejności, jeżeli jeden z operandów jest typu float, drugi zostanie skonwertowany na typ float. W innym przypadku, jeżeli którykolwiek z operandów jest typu long, drugi również zostanie skonwertowany na typ long. W innym przypadku obydwa operandy zostaną skonwertowane na typ int. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Kolejność i łączność operatorów Programowanie obiektowe Wykład 11 Kolejność i łączność operatorów Operator Łączność [] . () - wywołanie funkcji -> (od lewej do prawej) ! - ++ -- +(1 arg.) -(1 arg.) ()- rzutowanie new <- (od prawej do lewej) * / % + - << >> >>> < > <= >= instanceof -> == != & ^ | && || ?: = += -= *= /= %= &= |= ^= <<= >>= >>>= <- dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Programowanie obiektowe Wykład 11 Łańcuchy Język Java nie posiada wbudowanego typu łańcuchowego. Obsługa łańcuchów w Javie zapewniona jest przez standardową bibliotekę Javy String. Przykłady łańcuchów: String t1 = „Hello world”; String t2 = „Ala ma kota”; String t3 = „”; Łączenie łańcuchów (konkatenacja) W celu połączenia dwóch łańcuchów używamy operatora „+”. Np.: String t4 = „Ala ” + „ma ” + „kota.”; Uwaga. Każdy obiekt można skonwertować na obiekt klasy String. Wybrane metody klasy String substring(int,int), length(), charAt(int), equals(Object), equalsIgnoreCase(String), compareTo(String), toLowerCase(), toUpperCase(), trim() dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Dokumentacja API Strona dokumentacji … Programowanie obiektowe Wykład 11 Dokumentacja API Strona dokumentacji … dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

JOptionPane.showInputDialog(String) Programowanie obiektowe Wykład 11 Czytanie danych ze standardowego wejścia Wywołanie okna dialogowego służącego do wpisywania danych z klawiatury: JOptionPane.showInputDialog(String) Metoda zwraca wpisany przez użytkownika łańcuch. W przypadku, gdy zależy nam na wczytaniu wartości liczbowej, należy dokonać konwersji. String tekstLiczba = JOptionPane.showInputDialog(„Podaj liczbę całkowitą”); int liczba = Integer.parseInt(tekstLiczba); dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Tablice Programowanie obiektowe Wykład 11 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

KONIEC Dziękuję za uwagę  Programowanie obiektowe Wykład 11 dr Dariusz Wardowski, Katedra Analizy Nieliniowej