Java – wprowadzenie, typy danych, operatory

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

Programowanie w Java.
Wstęp do strumieni danych
C++ wykład 2 ( ) Klasy i obiekty.
C++ wykład 4 ( ) Przeciążanie operatorów.
Język C/C++ Funkcje.
Java dla studentów II roku Wydziału Fizyki PW Przemysław Duda, 2012
Mgr inż.Marcin Borkowski Podstawy Java Krótkie wprowadzenie dla studentów Wyższej Szkoły Ekologii i Zarządzania
Programowanie obiektowe
Programowanie obiektowe
Programowanie obiektowe
Wzorce.
Wprowadzenie do C++ Zajęcia 2.
Języki programowania C++
Tworzenie i obsługa programów – przykład 3 uwagi cd. Wykorzystując różne klasy biblioteki języka Java należy pamiętać w jakim pakiecie się znajdują. Wszystkie.
Podstawy języka Java Nguyen Hung Son Uniwersytet Warszawski.
WPROWADZENIE DO JĘZYKA JAVA
Struktury.
Tablice.
C++ wykład 2 ( ) Klasy i obiekty.
Wykład 1: Wskaźniki Podstawy programowania Programowanie w C
Wykład 2 struktura programu elementy języka typy zmienne
Project made by Bartosz Rumiński Kl. III i rok 2007/2008.
Java – programowanie obiektowe
dr Anna Kwiatkowska Instytut Informatyki
Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję
Dr Anna Kwiatkowska JAVA dr Anna Kwiatkowska
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
Podstawy programowania. Język C i C++– podstawy Temat: 1
Programowanie Podstawowe pojęcia.
Podstawy programowania
JAVA – wstęp.
Instalacja i narzędzia. Beta-kod i maszyna wirtualna
Programowanie Windows na przykładzie C# część 1
Jerzy F. Kotowski1 Informatyka I Wykład 14 DEKLARATORY.
Programowanie obiektowe – zastosowanie języka Java SE
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Andrzej Repak Nr albumu
Java – coś na temat Klas Piotr Rosik
Dziedziczenie Maciek Mięczakowski
Inicjalizacja i sprzątanie
JAVA.
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
XML – eXtensible Markup Language
Maszyna wirtualna ang. virtual machine, VM.
Java 3 MPDI Programowanie obiektowe W5. Java - obiektowy język programowania stworzony przez firmę Sun Microsystems. Java jest językiem tworzenia programów.
Podstawy informatyki 2013/2014
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
PWSZ Gniezno // codefly 2009 Łukasz Tomczak
  ELEMENTY JĘZYKA JAVA komentarze w Javie, słowa kluczowe i operatory, proste typy danych, tablice, podstawowy zestaw instrukcji.
Programowanie sieciowe w Javie
Kurs języka C++ – wykład 3 ( )
Kurs języka C++ – wykład 9 ( )
Projektowanie stron WWW
Podstawy programowania
Podstawy programowania
Programowanie strukturalne i obiektowe C++
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Podstawy programowania
Seminarium Dyplomowe: Metodyka i Techniki Programowania Autor: Bartłomiej Fornal.
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
Programowanie Obiektowe – Wykład 6
Klasy, pola, obiekty, metody. Modyfikatory dostępu, hermetyzacja
Programowanie Obiektowe – Wykład 2
Programowanie obiektowe – zastosowanie języka Java SE
Wprowadzenie do programowania obiektowego
Założenia projektowe Javy
Programowanie w Javie 1 Dr Robert Kowalczyk
Zapis prezentacji:

Java – wprowadzenie, typy danych, operatory Paweł Mieczkowski 128061

Zarys historii ”Narodziny” Javy – 1990 rok, Sun Microsystems, Inc. Mountain View, California. Początkowa nazwa nowego języka – OAK (dąb). Przeznaczenie - programowanie inteligentnych urządzeń domowego użytku. Główny architekt Javy – James Gosling. W 1994 r. wstrzymano prace nad Javą. Przyczyna - brak zainteresowania projektem Green ze strony znanych producentów urządzeń elektronicznych. Rozwój Internetu powoduje ponowne zainteresowanie się językiem tworzącym przenośne programy. 1995 rok, konferencja w San Francisco - pierwsza publiczna prezentacja Javy. Maskotka Javy – Duke (pamiątka po projekcie Green).

Czym jest Java? Java jest językiem zorientowanym obiektowo, który w dużej mierze opiera się na C i C++. Stanowi spójne logicznie środowisko programistyczne, posiadające najlepsze cechy swoich wzorców W porównaniu z C i C++ Java jest zoptymalizowana. Usunięto mechanizmy będące przyczyną częstych błędów programistycznych, takie jak: wskaźniki, wielokrotne dziedziczenie, przeciążanie operatorów Początkowo Java służyła wyłącznie do tworzenia interaktywnego oprogramowania witryn internetowych. Z czasem obszar zastosowań Javy był systematycznie rozszerzany.

Cechy języka Java Niezależność od platformy sprzętowo-programowej. Java to uniwersalny język programowania – raz napisany kod można wykorzystać w dowolnym środowisku, do którego przeniesiono JVM. Uniwersalne środowisko programowania GUI i multimediów. Uniwersalne środowisko dostępu do baz danych . Uniwersalne środowisko programowania w sieci i w systemach rozproszonych. Możliwość budowania programów z gotowych komponentów.

Wirtualna maszyna Javy (JVM) Java Virtual Machine to rodzaj wirtualnego komputera, który ma swój zestaw rejestrów, zestaw instrukcji, stos i pamięć dla programów. Dzięki standaryzacji maszyny wirtualnej, programy napisane w Javie są uniwersalne, tzn. wykonują się identycznie w każdm systemie operacyjnym. Programy napisane w Javie są kompilowane do poziomu kodu pośredniego, nazywanego kodem bajtowym Javy (bytecode). Kod bajtowy jest interpretowany przez wirtualną maszynę JVM do postaci programu wykonywalnego dla danego systemu operacyjnego.

JVM Zasada działania Pliki *.java Pliki *.class kompilacja interpretacja JVM

Narzędzia Wszystkie narzędzia potrzebne do programowania w Javie znajdują się w bezpłatnym pakiecie SDK, który można pobrać z głównej witryny Javy http://java.sun.com/j2se/ Kompletny kurs Javy, omawiający większość związanych z nią technologii zamieszczono na stronie http://java.sun.com/docs/books/tutorial/

Edytory Borland JBuilder – http://www.borland.com/products/download/ Eclipse – http://www.eclipse.org/ IBM VisualAge for Java – http://www7.software.ibm.com/vad.nsf JCreator – http://www.jcreator.com/ Kawa – http://www.macromedia.com/ NetBeans – http://www.netbeans.org/ Sun Forte for Java – http://www.sun.com/forte/ffj/index.html Sun One Studio – http://forte.sun.com/ffj/index.html

Zawartość pakietu SDK (JDK) Po zainstalowaniu pakietu Java 2 SDK, SE w katalogu j2sdk1.4.1 zostanie umieszczony podkatalog bin zawierający szereg programów usługowych. Najważniejsze to: javac – kompilator, java - interpreter, appletviewer – przeglądarka apletów, javadoc - generator dokumentacji, jdb – debuger, jar – narzędzie do tworzenia archiwów.

Program w Javie Każdy program w Javie jest zestawem klas. Klasa jest podstawową jednostką enkapsulacji (nie można pisać kodu poza definicją klasy). Pisany przez nas program może być zapamiętany w  jednym lub wielu plikach źródłowych o rozszerzeniu "java". Należy przestrzegać następującej konwencji dotyczącej nazewnictwa – nazwa klasy powinna być zgodna z nazwą pliku, który przechowuje program.

Aplkacje i aplety Wyróżniamy dwa rodzaje programów: aplikacje i aplety. Aplikacje mogą działać zarówno w trybie graficznym jak i tekstowym. Aplety działają jedynie w środowisku graficznym. Aby zobaczyć działanie aplikacji musimy mieć zainstalowaną w naszym komputerze wirtualną maszynę Javy – JVM. Aplety są wykonywane przez środowisko przeglądarek; są one widoczne wtedy, gdy przeglądarka posiada zintegrowaną wirtualną maszynę Javy.

Kompilacja Kompilator Javy wymaga, aby pliki źródłowe miały rozszerzenie "java". Pliki źródłowe są kompilowane za pomocą kompilatora Javy (javac.exe) do postaci kodu bajtowego (pośredniego), a nie kodu maszynowego. Polecenie kompilacji pliku źródłowego ma postać: javac nazwa_pliku.java Wynikiem kompilacji są pliki z rozszerzeniem "class", które mogą być wykonane przez maszynę wirtualną Javy. Podczas kompilacji pliku źródłowego każda klasa zostaje przeniesiona do swojego własnego pliku o nazwie właściwej zgodnej z nazwą klasy i rozszerzeniu "class".

Aplikacja Aby aplikacja mogła zostać uruchomiona, główna klasa musi zawierać metodę public static void main(String args[]) Maszyna wirtualna Javy jest wywoływana za pomocą polecenia java z argumentami: nazwa pliku o rozszerzeniu "class" zawierającego metodę main() oraz argumenty wywołania tej metody, np.: java nazwa_pliku arg1 arg2 Po załadowaniu klasy przez JVM sterowanie zostaje przekazane do metody main() i tu zaczyna się właściwe działanie programu: tworzenie obiektów, odwołania do innych klas aplikacji.

Aplet Jedna z klas dziedziczy klasę Applet, Tworzymy plik HTML zawierający znacznik wywołania tej klasy, np.: <applet code = ”MyApps.class” width = ”300” height = ”300”> </applet> Po napotkaniu tego znacznika przeglądarka ładuje plik MyApps.class, wywoływany jest konstruktor tej klasy, metoda inicjalizacyjna, itd.

Pierwszy program class Pierwsza{ Napiszemy teraz swoją pierwszą klasę zgodnie z przedstawionym niżej przykładem: class Pierwsza{ public static void main (String[] args){ System.out.println ("Witamy w Javie"); }

Kompilacja programu Utworzona przez nas klasa powinna być zapisana w pliku źródłowym o nazwie "Pierwsza.java" (istotna jest wielkość liter). W wyniku kompilacji powstanie plik z kodem bajtowym o nazwie "Pierwsza.class". Jest to już plik gotowy do wykonania przez JVM. Na koniec można uruchomić naszą aplikację, aby zobaczyć efekt jej działania.

Jak działa nasz program? Po załadowaniu klasy Pierwsza.class przez JVM sterowanie zostaje przekazane do metody main(). W naszym przykładzie metoda ta jest zdefiniowana z jednym parametrem; jest nim tablica args typu String. Dzięki temu możliwe jest przekazanie parametrów do aplikacji. Są one umieszczane w kolejnych elementach tej tablicy: args[0], args[1], args[2], itd. Metoda main() zawiera jedynie jedno polecenie System.out.println();

Zmienne Przetwarzanie informacji w kodzie programu wymaga zdefiniowania i pracy ze zmiennymi. Zmienne są to elementy programu wynikowego reprezentowane w kodzie źródłowym przez identyfikatory, literały i wyrażenia. Zmienne są zawsze określonego typu. Typ zmiennych (typ danych) definiowany jest w Javie przez typy podstawowe i odnośnikowe (referencyjne). W celu pracy ze zmiennymi należy zapoznać się z możliwymi typami danych oferowanymi w środowisku Java.

Typy danych Podstawowe typy danych definiowane w specyfikacji Javy charakteryzują się następującymi właściwościami: 1. Typy danych są niezależne od platformy sprzętowej i ich rozmiar jest stały określony w specyfikacji. 2. Konwersja (casting - rzutowanie) typów danych jest ograniczona tylko dla liczb. 3. Wszystkie typy liczbowe są przechowywane za znakiem, np. byte: - 128..0..127. Nie ma typów oznaczanych w innych językach jako unsigned, czyli bez znaku. 4. Wszystkie podstawowe typy danych są oznaczane z małych liter. 5. Nie istnieje w gronie podstawowych typów danych typ łańcucha znaków. 6. Istnieją klasy typów danych oznaczanych z wielkich liter, umożliwiające konwersję i inne operacje na obiektach tych klas, a przez to na podstawowych typach danych.

Typy podstawowe boolean : (1 bit) typ jednobitowy oznaczający albo true albo false. Nie może podlegać konwersji do postaci liczbowej, czyli nie możliwe jest znaczenie typu jako 1 lub 0. Oznaczanie wartości typów (jak wszystkie w Javie) jest ściśle związane z wielkością liter. Przykładowe oznaczenia TRUE czy False nie mają nic wspólnego z wartościami typu boolean. byte : (1 bajt) typ liczbowy, jednobajtowy za znakiem. Wartości tego typu mieszczą się w przedziale: -128 do 127. short : (2 bajty) typ liczbowy, dwubajtowy ze znakiem. Wartości tego typu mieszczą się w przedziale: -32,768 do 32,767 int : (4 bajty) typ liczbowy, czterobajtowy ze znakiem. Wartości tego typu mieszczą się w przedziale: -2,147,483,648 do 2,147,483,647. long : (8 bajtów) typ liczbowy, ośmiobajtowy ze znakiem. Wartości tego typu mieszczą się w przedziale: -9,223,372,036,854,775,808 do +9,223,372,036,854,775,807.

Typy podstawowe float : ( 4 bajty, spec. IEEE 754) typ liczb rzeczywistych, czterobajtowy ze znakiem. Wartości tego typu mieszczą się w przedziale: 1.40129846432481707e-45 to 3.40282346638528860e+38 (dodatnie lub ujemne). double : (8 bajtów spec. IEEE 754) typ liczb rzeczywistych, ośmiobajtowy ze znakiem. Wartości tego typu mieszczą się w przedziale: 4.94065645841246544e-324d to 1.79769313486231570e+308d (dodatnie lub ujemne). char : (2 bajty), typ znakowy dwubajtowy, dodatni. Kod dwubajtowy umożliwia zapis wszelkich kodów w systemie Unicode, który to jest standardem w Javie. Zakres wartości kodu to: 0 to 65,535. Tablica znaków nie jest łańcuchem znaków, tak jak to jest interpretowane w C czy C++. void: typ nie jest reprezentowany przez żadną wartość, wskazuje, że dana metoda nic nie zwraca.

Klasy typów danych W Javie w bibliotece podstawowej języka: java.lang.* znajdują się następujące klasy typów danych: Boolean: klasa umożliwiająca stworzenie obiektu przechowującego pole o wartości typu podstawowego boolean. Byte : klasa umożliwiająca stworzenie obiektu przechowującego pole o wartości typu podstawowego byte. Klasa ta umożliwia liczne konwersje typu liczbowego byte do innych podstawowych typów liczbowych. Character : klasa umożliwiająca stworzenie obiektu przechowującego pole o wartości typu podstawowego char. Short , Integer, Long, Float, Double String - klasa umożliwiająca stworzenie nowego obiektu typu łańcuch znaków. Nie istnieje typ podstawowy łańcucha znaków, tak więc klasa ta jest podstawą tworzenia wszystkich zmiennych przechowujących tekst.

Wartości domyślne dla składowych typu podstawowego Nazwa typu Wartość domyślna boolean false char ‘u\0000’ byte (byte)0 short (short)0 int long 0L float 0.0f double 0.0d

Metody inicjowania zmiennych char c1 = ‘x’; Character c2 = new Character(‘x’); // lub Character c2 = new Character(c1); float f; Float obiekt_float = new Float(f); String lancuch1 = „Ala ma kota”; String lancuch2 = new String("Ala ma kota”);

Problemy z zaokrąglaniem liczb Załóżmy, że mamy zadeklarowane dwie zmienne double x = 12.2, y = 12.8; Jaką wartość przyjmą zmienne a, b, c, d, e, f w wyniku wykonania następujących instrukcji? int a = (int) x; // 12 int b = (int) y; // 12 double c = (int) x; // 12.0 double d = (int) y; // 12.0 double e = Math.round(x); // 12.0 double f = Math.round(y); // 13.0

Operatory Operatory to elementy języka służące do generacji nowych wartości na podstawie podanych argumentów (jeden lub więcej). Operator wiąże się więc najczęściej z określonym działaniem na zmiennych. Wyróżnia się następujące klasy operatorów podane wedle ich kolejności wykonywania: operatory jednoargumentowe, operatory arytmetyczne, operatory przesunięcia, operatory relacji, operatory logiczne i bitowe, operator warunkowy (trójargumentowy), operator przypisania.

Operatory jednoargumentowe - oper. zmiany znaku na przeciwny ++ oper. inkrementacji (pre- lub post-) -- oper. dekrementacji (pre- lub post-)

Operatory arytmetyczne * oper. mnożenia / oper. dzielenia % oper. modulo + oper. dodawania - oper. odejmowania

Operatory przesunięcia << oper. przesunięcia w lewo >> oper. przesunięcia w prawo

Operatory relacji > oper. większości < oper. mniejszości >= oper. większości lub równości <= oper. mniejszości lub równości == oper. równości != oper. nierówności

Operatory logiczne i bitowe && oper. iloczynu logicznego (AND) || oper. sumy logicznej (OR) & oper. iloczynu bitowego | oper. sumy bitowej ^ oper. bitowej różnicy symetrycznej (XOR)

Operator warunkowy, Operator przypisania ?: oper. if - else (wyrażenie_logiczne) ? wyrażenie_true : wyrażenie_false = oper. przypisania

Operacje na łańcuchach Operacje na łańcuchach wykonuje się za pomocą: operatorów konkatenacji (łączenia): + (operator konkatenacji) += (rozszerzony operator konkatenacji) funkcji łańcuchowych. Każdy z tych operatorów tworzy nowy obiekt klasy String. Przykłady: String napis = "Ala "; napis = napis + "ma kota "; napis += "i psa";

Operatory konkatenacji Operatory konkatenacji + oraz += są jedynymi operatorami przeciążonymi w Javie - oprócz sklejania łańcuchów, pozwalają również na ich łączenie z liczbami lub obiektami innych klas. Przykłady: int n = 10; String str, str1, str2, str3, str4; str = "napis"; str1 = str + n; // napis10 str2 = str + n + n; // napis1010 str3 = str + (n + n); // napis20 str4 = n + n + str; // 20napis

Literatura Bruce Eckel – „Thinking in Java” wyd. 3 Jacek Rumiński – „Język Java” materiały zawarte na : http://primus.okwf.fuw.edu.pl/erka/maciejc/kurs/index.htm