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

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

Elementy języka Java


Programowanie obiektowe

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

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

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

Podstawy programowania w języku C

Podstawy programowania w języku C i C++

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

Podstawy i języki programowania

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

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

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

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

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

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

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

Podstawy i języki programowania

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

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

Programowanie, algorytmy i struktury danych

Podstawy Programowania C++

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

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

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

Wprowadzenie do języka Java

MATERIAŁY DO ZAJĘĆ II

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

Odczyt danych z klawiatury Operatory w Javie

Programowania w Javie

2 Przygotował: mgr inż. Maciej Lasota

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

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe

Programowanie - instrukcje sterujące

1 Podstawy c++ w pigułce.

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Zmienne, stałe i operatory

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

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

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

Właściwości i metody obiektu Comment Właściwości

Struktura pliku projektu Console Application

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

Instrukcje sterujące. Programowanie Proceduralne 1

Proste programy w C++ zadania

Języki i paradygmaty programowania

LibreOffice Calc VBA

ROZDZIAŁ 2. Operatory

Programowanie strukturalne i obiektowe

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

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

PODEJŚCIE OBIEKTOWE. Przykład 1 metody i atrybuty statyczne

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

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

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

Podstawowe części projektu w Javie

Platformy Programistyczne Podstawy języka Java

JAVA?? to proste!! Autor: wojtekb111111

Algorytmika i Programowanie VBA 1 - podstawy

Program w C. wer. 10 z drobnymi modyfikacjami! Wojciech Myszka :28:

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

1 Podstawy c++ w pigułce.

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

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

KOTLIN. Język programowania dla Androida

Java Podstawy. Michał Bereta

Programowanie komputerowe. Zajęcia 1

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Programowanie obiektowe

( wykł. dr Marek Piasecki )

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

Microsoft IT Academy kurs programowania

INFORMATYKA. Laboratorium 1

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

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

JAVA W SUPER EXPRESOWEJ PIGUŁCE

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

typ zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word

Wstęp do programowania

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

Języki skryptowe w programie Plans

Część 4 życie programu

Programowanie w języku C++

Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo

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

Cw.12 JAVAScript w dokumentach HTML

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

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

Kiedy i czy konieczne?

C++ wprowadzanie zmiennych

Język ludzki kod maszynowy

Tworzenie aplikacji w języku Java

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

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

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:

Typy danych, zmienne i tablice. Tomasz Borzyszkowski

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne

Transkrypt:

Materiały pomocnicze do wykładu 3 - Elementy języka Java 1) Typy danych Typy całkowite Typ Rozmiar Zakres przechowywanych danych byte 8 bitów -128 do 127 short 16 bitów -32768 do 32767 int 32 bity -2147483648 do 2147483647 long 64 bity -9223372036854775808 do 9223372036854775807 Typy rzeczywiste Typ Rozmiar Zakres przechowywanych danych float 32 bity 1.4E-45 do 3.4E+38 dooble 64 bity 4.9E-324 do 1.7E+308 Typ znakowy char Typ logiczny boolean 2) Zmienne Zmienne typów podstawowych Np. int a; Zmienne typu klasa Np. String nazwisko = Kowal ; //zmienna nazwisko typu referencja do obiektu // zawierającego nazwę Kowal Punkt p //referencja do typu Punkt, moŝe być w przyszłości uŝyta jako p = new Punkt(); //odwołanie do obiektu typu Punkt //p jest teraz odwołaniem do obiektu typu Punkt Zmiene ustalone final int Init = 1; Punkt = new Punkt(Init, Init); //zastosowana do zainicjowania obiektu 3) Komentarze //nie moŝna zmienić wartości zmiennej ustalonej Init //moŝe poprawić czytelność programu // wyłączenie z programu tekstu od znaku komentarza do końca linii /* */ wyłączenie z programu tekstu zawartego między znakami komentarza /** */ tworzenie dokumentacji z tekstu zawartego miedzy znakami zawartymi między znakami komentarza za pomocą programu javadoc Autor: Zofia Kruczkiewicz, Programowanie obiektowe- java, materiały do wykładu 3 1

3) Stałe czyli literały Stałe całkowite są traktowane ja stałe typu int Typ Zmienna Wartość dziesiętna Wartość ósemkowa Wartość szesnastkowa int Numer1 320 0500 0x140 long Numer2 320L lub 320l 0500L 0x140L Stale rzeczywiste są traktowane jako stałe typu double Typ Zmienna Zapis ułamkowy Zapis wykładnikowy float Numer3 2.14F lub 2.14f 21.4e-1F lub 21.4e-1f double Numer4 2.24 224e2 Stałe logiczne typu boolean true i false Stałe znakowe typu char Znak \n Interpretacja Nowy wiersz \t Tabulacja pozioma \b backspace \r Powrót karetki \f Wysunięcie papieru \\ Ukośnik lewy \ Znak apostrofu \ Znak cudzysłowu \d Liczba w notacji dziesiętnej \xd Liczba w notacji szesnastkowej \ud Znak w standardzie Unicode Stałe łańcuchowe typu String Są przechowywane jako obiekty typu String String nazwa = Zeszyt ; // obiekt typu String przechowuje znaki Zeszyt //dostęp do obiektu umoŝliwia zmienna referencyjna nazwa Autor: Zofia Kruczkiewicz, Programowanie obiektowe- java, materiały do wykładu 3 2

4) Operatory ustawione priorytetami. wybór składowej obiekt, składowa [] indeksowanie wskaźnik[wyraŝenie] () grupowanie wartości typ(lista_wyraŝeń) ++ przyrostkowe zwiększanie o 1 zmienna++ ++ przedrostkowe zwiększanie o 1 ++zmienna -- przyrostkowe zmniejszanie o 1 zmienna-- -- przedrostkowe zmniejszanie o 1 --zmienna! negacja logiczna! wyraŝenie - minus jednoargumentowy -wyraŝenie instanceof określanie klasy danego obiektu obiekt instaceof klasa true lub false new utwórz (przydziel pamięć) new typ * mnoŝenie wyraŝenie * wyraŝenie / dzielenie wyraŝenie / wyraŝenie % modulo (dzielenie z resztą) wyraŝenie % wyraŝenie + dodawanie (plus) wyraŝenie + wyraŝenie - odejmowanie (minus) wyraŝenie - wyraŝenie << przesuwanie w lewo wyraŝenie << wyraŝenie >> przesuwanie w prawo wyraŝenie >> wyraŝenie >>> przesuwanie w prawo bez znaku wyraŝenie >>> wyraŝenie < mniejszy wyraŝenie < wyraŝenie <= mniejszy lub równy wyraŝenie <= wyraŝenie > większy wyraŝenie > wyraŝenie >= większy lub równy wyraŝenie >= wyraŝenie == równy wyraŝenie == wyraŝenie!= nie równy wyraŝenie!= wyraŝenie ~ negacja bitowa -wyraŝenie & koniunkcja bitowa wyraŝenie & wyraŝenie ^ róŝnica symetryczna wyraŝenie ^ wyraŝenie alternatywa bitowa wyraŝenie wyraŝenie && iloczyn logiczny wyraŝenie && wyraŝenie suma logiczna wyraŝenie wyraŝenie? : wyraŝenie warunkowe wyraŝenie? wyraŝenie : wyraŝenie = proste przypisanie zmienna = wyraŝenie += dodaj i przypisz zmienna += wyraŝenie -= odejmij i przypisz zmienna -= wyraŝenie *= pomnóŝ i przypisz zmienna *= wyraŝenie /= podziel i przypisz zmienna /= wyraŝenie %= weź modulo i przypisz zmienna %= wyraŝenie ^= róŝnica bitowa i przypisz zmienna ^= wyraŝenie &= koniunkcja bitowa i przypisz zmienna &= wyraŝenie = alternatywa bitowa i przypisz zmienna = wyraŝenie <<= przesuń w lewo i przypisz zmienna <<= wyraŝenie >>= przesuń w prawo i przypisz zmienna >>= wyraŝenie >>>= przesuń w prawo bez znaku i przypisz zmienna >>>=wyraŝenie Autor: Zofia Kruczkiewicz, Programowanie obiektowe- java, materiały do wykładu 3 3

5) WyraŜenia Konkatenacja łączenie łańcuchów Przykłady System.out.print("Dzien dobry, nazywam się Jan Kowalski\n"); System.out.print("Dzien dobry" + "nazywam się Jan Kowalski\n"); System.out.println("petla "+j); //j jest traktowana jako łańcuch jednoznakowy System.out.println("WspolrzednaX = "+ p1.podajx()); Działania arytmetyczne Argumenty o mniejszym rozmiarze typu są przekształcane do typów o większych rozmiarach: jeden jest typu double, drugi jest przekształcany do double, lub jeden jest float, drugi jest przekształcany do float, lub jeden jest long, drugi jest przekształcany do long lub jeden jest int, drugi jest przekształcany do int lub oba są int C/C++ B.Pascal ++ przyrostkowe zwiększanie o 1 zmienna++ inc(x) ++ przedrostkowe zwiększanie o 1 ++zmienna inc(x) -- przyrostkowe zmniejszanie o 1 zmienna-- dec(x) -- przedrostkowe zmniejszanie o 1 --zmienna dec(x) * MnoŜenie wyraŝenie*wyraŝenie * / Dzielenie bez reszty wyraŝenie typu całkowitego div /wyraŝenie typu całkowitego / Dzielenie wyraŝenie typu rzeczywistego / /wyraŝenie typu rzeczywistego % modulo (dzielenie z resztą) wyraŝenie%wyraŝenie mod + dodawanie (plus) wyraŝenie+wyraŝenie + - odejmowanie (minus) wyraŝenie-wyraŝenie Przykłady: public class dzialania int i = 10, j=25, w1; double w2; w1 = i/j; System.out.println(w1); //wartość 0 ( dzielenie bez reszty) w1 = j/i; System.out.println(w1); //wartość 2 (dzielenie bez reszty) w1 = j%i; System.out.println(w1); //wartość 5 (reszta z dzielenia) w1 = i%j; System.out.println(w1); //wartość 10 (reszta z dzielenia) w2 = i/j*1.0; System.out.println(w2); //wartość 0.0 ((10/25)*1.0=0*1.0=0.0) w2 = i/(j*1.0); System.out.println(w2); //wartość 0.4 (10/25.0=0.4) Autor: Zofia Kruczkiewicz, Programowanie obiektowe- java, materiały do wykładu 3 4

Operatory przypisania (najczęściej uŝywane) Znaczenie (przykłady) = proste przypisanie zmienna = wyraŝenie z=3*y z=3*y *= pomnóŝ i przypisz zmienna *= wyraŝenie z*=3*y z=z*3*y /= podziel i przypisz zmienna /= wyraŝenie z/=3*y z=z/(3*y) %= weź modulo i przypisz zmienna %= wyraŝenie z%=3*y z=z%(3*y) += dodaj i przypisz zmienna += wyraŝenie z+=3*y z=z+3*y -= odejmij i przypisz zmienna -= wyraŝenie z-=3*y z=z-3*y Operatory relacyjne dwuargumentowe C/C++ B.Pascal < mniejszy wyraŝenie < wyraŝenie < <= mniejszy lub równy wyraŝenie <= wyraŝenie <= > większy wyraŝenie > wyraŝenie <= >= większy lub równy wyraŝenie >= wyraŝenie >= == równy wyraŝenie == wyraŝenie =!= nie równy wyraŝenie!= wyraŝenie <> Operatory jednoargumentowe C/C++ B.Pascal - minus jednoargumentowy -wyraŝenie - + plus jednoargumentowy +wyraŝenie + Operatory logiczne (rachunek zdań) dwuargumentowe C/C++ B.Pascal! negacja logiczna! wyraŝenie not && iloczyn logiczny wyraŝenie && wyraŝenie and suma logiczna wyraŝenie wyraŝenie or? : wyraŝenie warunkowe wyr1? wyr2 : wyr3 gdzie wyr1 jest typem logicznym, wyr2 i wyr3 - są dowolnymi, takimi samymi typami róŝnymi od void np. wynik = x!=0? y/x : 0 wynik moŝe mieć wartość y/x, gdy x!=0 lub wartość 0, gdy x==0 Autor: Zofia Kruczkiewicz, Programowanie obiektowe- java, materiały do wykładu 3 5

6) Instrukcje wyboru if, if else if ( wyraŝenie logiczne ) instrukcja; if ( wyraŝenie logiczne ) instrukcja1; else instrukcja2; public class wyrazenia1 int wzrost=172; if ( wzrost < 180 ) if ( wzrost > 175 ) System.out.println("Wysoki!\n"); else System.out.println("MoŜe być niski!\n"); public class wyrazenia2 int wzrost=172; if ( wzrost < 180 ) if ( wzrost > 175 ) System.out.println("Wysoki!\n"); else System.out.println("Jest z pewnościa wysoki!\n"); public class wyrazenia3 int wzrost=172; if ( wzrost < 180 ) if ( wzrost > 175 ) System.out.println("Wysoki!\n"); else System.out.println("MoŜe być niski!\n"); else System.out.println("Jest z pewnoscia wysoki!\n"); Autor: Zofia Kruczkiewicz, Programowanie obiektowe- java, materiały do wykładu 3 6

7) Instrukcja wyboru switch switch ( wyraŝenie ) instrukcja case stała wyraŝenia : default : Instrukcja switch działa szybciej niŝ if else Przykład switch (operator) case * : x *= y; break; // instrukcja break powinna zawsze wystąpić case / : x /= y; break; // gdy realizuje się alternatywę case + : x += y; break; case - : x -= y; break; case p : case t : x++; break; case e : case r : case m : System.out.println ("Tych dzialan kalkulator nie wykona"); break; default: System.out.println ("Pomyłka!"); public class wyrazenia4 double a=1.0, b=1.0; char op='/'; switch ( op ) case '+': case 'd' : System.out.println(a + b); case '-': case '*': case '/': default: // koniec switch System.out.println(a - b); System.out.println(a * b); if (b!=0) System.out.println(a / b); break; break; break; else System.out.println(" Dzielenie przez zero"); System.out.println(" Zly operator"); break; Autor: Zofia Kruczkiewicz, Programowanie obiektowe- java, materiały do wykładu 3 7

8) Instrukcje pętli while składnia: while ( wyraŝenie logiczne ) instrukcja W pętli while <instrukcja> jest powtarzana tak długo, jak wyraŝenie logiczne ma wartość równą true. Test wyraŝenia logicznego jest zawsze wykonywany przed wykonaniem instrukcji. Przykład : int ile=10; while (ile >1 ) ile--; //pętla wykona się 10 do... while składnia : do instrukcja while ( wyraŝenie logiczne ); W pętli do while instrukcja jest powtarzana tak długo, jak wartość wyraŝenia logicznego jest równa true. Test wyraŝenia logicznego odbywa się po wykonaniu instrukcji. Przykład int ile=10; do ile--; while (ile >1 ); //pętla wykona się 10 for składnia: for ( [wyr1] ; [wyr_log] ; [wyr2] ) instrukcja W pętli for instrukcja jest powtarzana, aŝ wyraŝenie wyr_log osiąga wartość równą false. Przed pierwszą iteracją jest obliczane wyraŝenie wyr1. Jest ono zazwyczaj uŝywane do inicjowania zmiennej sterującej pętlą. WyraŜenie wyr1 moŝe być deklaracją. Po kaŝdej iteracji po wykonaniu instrukcji wyraŝenie wyr2 jest obliczane. Jest ono zazwyczaj uŝywane do zmiany wartości zmiennej sterującej pętlą. Wszystkie wyraŝenia :wyr1, wyr_log, wyr2 są opcjonalne. for ( ; ; ); W tym przypadku wyraŝenie wyr_log ma wartość true (pętla nieskończona). Przykład dwie równowaŝne pętle for for (int ile=10; ile>1;ile--); for (int ile=10; ile>1;) Autor: Zofia Kruczkiewicz, Programowanie obiektowe- java, materiały ile--; do wykładu 3 8

Przykłady zastosowania pętli: while, do while //(1+1/2+1/3+1/4+1/5...) Algorytm: 1. Podaj dokładność eps spełniającą warunki: 00.0000001<eps<1, Dokładność oznacza, Ŝe suma szeregu podana przez program róŝni się od poprzedniej o wartość mniejszą niŝ eps (kaŝda suma róŝni się, poniewaŝ jest sumą róŝnej liczby elementów) 2. Zainicjuj sumę szeregu suma =0; 3. Oblicz pierwszy element el=1 4. Zainicjuj licznik elementów szeregu i=2 5. Oblicz sumę szeregu suma = suma + el 1. Oblicz kolejny element szeregu el=1/i 2. Zwiększ licznik elementów o 1 3. Sprawdź, czy kolejny element spełnia warunek el >= eps. Jeśli tak, przejdź do kroku 5, w przeciwnym wypadku przejdź do kroku 9 4. Podaj wartość sumy szeregu //oblicza sumę szeregu harmonicznego public class szereg long ii; double el, suma, eps; eps=0.00023; el=1; suma=0; ii=2; do suma=suma+el; el=1.0/ii; ii++; while(el>=eps); //obliczenia na wartościach double //sumuj tak długo, aŝ kolejny element sumy będzie mniejszy od //dokładności, co oznacza, Ŝe wartość kolejnej sumy wzrośnie //poniŝej załoŝonej dokładności eps System.out.println("Suma elementow szeregu harmonicznego " +suma +" z dokladnoscia " + eps); //wyświetlanie wartości double Autor: Zofia Kruczkiewicz, Programowanie obiektowe- java, materiały do wykładu 3 9

9) Pętle zagnieŝdŝone for, operator?: 0 1 2 0 1 2 0 1 2 1 2 3 2 3 4 Pierwsza kolumna (0/4+0/4)%2=0 (1/4+0/4)%2=0 (2/4+0/4)%2=0 (3/4+0/4)%2=0 (4/4+0/4)%2=1 (5/4+0/4)%2=1 (6/4+0/4)%2=1 (7/4+0/4)%2=1 (8/4+0/4)%2=0 (9/4+0/4)%2=0 (10/4+0/4)%2=0 (11/4+0/4)%2=0 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 11 (8/4+0/4)%2=0 (8/4+4/4)%2=1 (8/4+8/4)%2=0 (8/4+1/4)%2=0 (8/4+5/4)%2=1 (8/4+9/4)%2=0 (8/4+2/4)%2=0 (8/4+6/4)%2=1 (8/4+10/4)%2=0 (8/4+3/4)%2=0 (84+7/4)%2=1 (8/4+11/4)%2=0 // szachownica 8-my wiersz // rysuje szachownicę na ekranie za pomocą zagnieŝdŝonej pętli for public class szachownica int x, y, k=4; //rozmiar pola szachownicy for (y=0; y<12; y++) for (x=0; x<12; x++) if ((y/k+x/k)%2==0) System.out.print("*"); else System.out.print(" "); System.out.println( ); // rysowanie kolejnej linii szachownicy // rysowanie kolejnej linii rzędu szachownicy //czy suma rząd+kolumna szachownicy parzysta // jeśli tak - rysowanie zapełnionych pól // jeśli nie - rysowanie pustych pól // nowa linia Instrukcja if else moŝe być zapisana za pomocą operatora warunkowego?: if ((y/k+x/k)%2==0) System.out.print("*"); else System.out.print(" "); c=((y/k+x/k)%2)==0? '*' : ' '; System.out.print(c); Autor: Zofia Kruczkiewicz, Programowanie obiektowe- java, materiały do wykładu 3 10