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

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

Programowanie obiektowe

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

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

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

Podstawowe części projektu w Javie

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

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

Platformy Programistyczne Podstawy języka Java

Podstawy i języki programowania

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Programowanie w Internecie. Java

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

Programowanie obiektowe

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

Programowanie obiektowe

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

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

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

1 Podstawy c++ w pigułce.

Tworzenie aplikacji w języku Java

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

Programowanie obiektowe

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

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

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

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

KOTLIN. Język programowania dla Androida

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

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

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

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

Microsoft IT Academy kurs programowania

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

Programowania w Javie

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

Wprowadzenie do języka Java

1 Podstawy c++ w pigułce.

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

Polimorfizm, metody wirtualne i klasy abstrakcyjne

MATERIAŁY DO ZAJĘĆ II

Programowanie i projektowanie obiektowe

Podstawy programowania w języku C

Podstawy Programowania C++

Język ludzki kod maszynowy

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

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

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

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

Wykład 4: Klasy i Metody

Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja

Java Podstawy. Michał Bereta

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

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

Metody Metody, parametry, zwracanie wartości

Java-wykład. Dorota Pylak

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

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

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

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

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

Programowanie Obiektowe i C++

Podstawy i języki programowania

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

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

Programowanie urządzeń mobilnych

Programowanie strukturalne i obiektowe

1 Atrybuty i metody klasowe

Wykład 2: Podstawy Języka

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

Programowanie wieloplatformowe w Java

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

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Programowanie obiektowe

Dorota Pylak. Aplikacje w Javie- wykład 1

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft );

Java Język programowania

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

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

Programowanie w Javie - wykład 2

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

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

Programowanie obiektowe

Języki programowania - podstawy

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

JAVA?? to proste!! Autor: wojtekb111111

Java: interfejsy i klasy wewnętrzne

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

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

Java EE produkcja oprogramowania

Programowanie obiektowe

Definicje klas i obiektów. Tomasz Borzyszkowski

Wykład 7: Pakiety i Interfejsy

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

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

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

Programowanie obiektowe

Transkrypt:

1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie i sprawdza, czy wszystkie operatory i metody są używane zgodnie z ich deklaracjami, czyli z argumentami odpowiednich typów. Także elementy każdej instrukcji muszą mieć właściwe typy, np. warunek w pętli while musi być wyrażeniem o wartości typu logicznego. Specyficzną cechą Javy jest to, że typy w tym języku są podzielone na dwie kategorie: typy pierwotne, typy referencyjne. Typy pierwotne to grupa ośmiu typów zawierających wartości proste. Tymi typami są: typ wartości logicznych: boolean, typy całkowitoliczbowe: byte, short, int, long, char, typy zmiennopozycyjne: float, double. Typy referencyjne dzielą się z kolei na następujące kategorie: typy klas, typy interfejsów, typy tablic. Wartościami typów referencyjnych są referencje (w pewnym uproszczeniu można o nich myśleć jako o wskaźnikach) do obiektów lub wartość null. Typy obiektowe opakowujące typy proste: Boolean (boolean) Character (char) Byte (byte) Short (short) Integer (int) Long (long) Float (float) Double (double) Void (void) BigInteger - typ całkowity dowolnej precyzji BigDecimal - typ stałoprzecinkowy dowolnej precyzji String (char[]) - łańcuch tekstowy 1

2. Obiekty. Przez obiekt rozumie się w Javie dynamicznie stworzony egzemplarz jakiejś klasy lub dynamicznie stworzoną tablicę. Żeby to zrównanie egzemplarzy klas i tablic uprawomocnić zadbano, by zarówno egzemplarze klas jak i tablice rozumiały wszystkie metody z klasy Object. 3. Zmienne. Zmienne są (zwykle) nazwanymi pojemnikami na pojedyncze wartości typu z jakim zostały zadeklarowane. Zmienne typów pierwotnych przechowują wartości dokładnie tych typów, zmienne typów referencyjnych przechowują wartość null albo referencję do obiektu typu będącego zadeklarowanym typem zmiennej bądź jego podklasą. Każda zmienna musi być zadeklarowana. Z każdą zmienną związany jest jej typ podawany przy deklaracji zmiennej. Typ ten jest używany przez kompilator do sprawdzania poprawności operacji wykonywanych na zmiennych. W Javie każda zmienna musi być zainicjowana przed pierwszym pobraniem jej wartości. Wymusza to kompilator Javy. W Javie przyjęto, że takie zmienne albo będą jawnie inicjowane przez programistę albo będą miały nadaną automatycznie wartość początkową. Zasady są tu następujące: zmienne klasowe, egzemplarzowe i elementy tablic są inicjowane wartościami domyślnymi, zaś zmienne lokalne muszą być jawnie zainicjowane przez programistę. 4. Konwencja nazewnicza. Konwencje kodowania w Javie zalecają pisanie nazw klas i interfejsów z wielkiej litery, nazw zmiennych, parametrów i metod z małej. W nazwach wielosłowowych kolejne słowa piszemy z wielkiej litery (bez podkreślników, jest to tzw. notacja CamelCase). Nazwy pakietów piszemy zawsze wyłącznie małymi literami, nazwy stałych (static final) wyłącznie wielkimi. 5. Podstawowe konstrukcje języka Java. Klasa: NazwaKlasy.java public class NazwaKlasy { //pole (zmienna/stała/referencja) public int i; //konstruktor (domyślny/sparametryzowany) public NazwaKlasy() { //metoda public void nazwametody() { //metoda main - punkt wejścia programu public static void main(string[] args) { 2

//... Klasa publiczna determinuje nazwę pliku Java. Konstruktor ma identyczną nazwę jak klasa. Przykład: Pakiet * package com.labjava; * @author Anonim * @version 1.1 * @see Object * public class Zarowka { * zmienna określająca moc żarówki public int moc; * Konstruktor klasy Zarowka * * @param moc - argument określający moc żarówki Zarowka(int moc) { this.moc = moc; * metoda zapalająca żarówke public void zapal() { System.out.println("Żarówka świeci z mocą " + moc + "W"); * metoda wyłączająca żarówkę public void zgas() { System.out.println("Żarówka nie świeci"); * @param args - argumenty przekazywane do programu z linii komend public static void main(string[] args) { // TODO Auto-generated method stub Zarowka z = new Zarowka(100); z.zapal(); z.zgas(); Wyrażenia: i++ ++i postinkrementacja preinkrementacja i += 2 przypisanie złożone (i = i + 2) 3

Kolejność operatorów: Typ operatora Operatory Jednoargumentowe + - ++ -- Arytmetyczne oraz przesunięcia * / % + - << >> Relacyjne > < >= <= ==!= Logiczne i bitowe && & ^ Warunkowy trójargumentowy A > B? X : Y Przypisania = (oraz przypisania złożone) 4 Instrukcje sterujące: pętla while while (i < 8) {... pętla do-while do { while (i < 8); pętla for for (int i = 0; i < 8; i++) { warunek if-else if (i < 8) { else { wybór switch switch (test) { case 1 : { break; case 2 : { break; default : { instrukcja break - przerywa iterację (wyjście z pętli) instrukcja continue - przechodzi do następnej iteracji (wraca na początek pętli) instrukcja continue [etykieta] - skacze do etykiety i ponownie wchodzi do pętli instrukcja break [etykieta] - przechodzi poza koniec pętli oznaczonej etykietą instrukcja return natychmiastowy powrót z metody pętla nieskończona for (;;){ while (true) { Składnia wszystkich instrukcji sterujących jest zgodna z językiem C. Porównywanie: typy proste

obiekty operator relacji równości zwraca true lub flase na podstawie porównania wartości zmiennych ( i==n ) operator relacji porównuje referencje obiektów aby porównać obiekty (ich właściwości) należy użyć metody equals(object) z klasy Object. Rzutowanie: niejawne (automatyczne) promocja typu prostego int i = 200; long k = i; rzutowanie w górę obiektów Object o = new String(); jawne (z określeniem typu rzutowania w nawiasach) rzutowanie typów prostych int j = (int) k; rzutowanie obiektów String s = (String) o; Mechanizmy wewnętrzne Javy: Podczas operacji arytmetycznych następuje automatyczna promocja typu (rozszerzenie typu zmiennych) do największego występującego w operacji matematycznej. W przypadku operacji logicznych następuje skracanie obliczeń wyrażeń logicznych, gdy osiągnięty rezultat nie może ulec zmianie (np. false && true, true false). Przykład: public class Test { * @param args * argumenty przekazywane do programu z linii komend public static void main(string[] args) { // args - tablica argumentow if (args.length > 0) System.out.println("Argument: " + args[0]); 5 else System.out.println("Losowa liczba z przedziału <0,100): " + (int) (Math.random() * 100)); // (int) - konwersja typu

Zadanie: Za pomocą instrukcji sterujących oraz pętli napisz aplikację symulującą działanie menu telefonu komórkowego. Przejście po menu ma być realizowane za pomocą generatora liczb pseudolosowych. W pierwszym poziomie menu należy wykorzystać instrukcję switch, w drugim poziomie instrukcję if-else natomiast w trzecim ponownie instrukcję switch. Symulacja działania menu odbywać się ma w co najmniej 10 przebiegach, zrealizowane z wykorzystaniem pętli for. 6