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

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

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

Programowanie obiektowe

Programowanie w Internecie. Java

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

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

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

Podejście obiektowe. Tablice (1) obiektów

JAVA W SUPER EXPRESOWEJ PIGUŁCE

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

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

Programowanie obiektowe

Języki i metody programowania Java INF302W. Wykład 1 (część 1) na podstawie Autor Dr inż. Zofia Kruczkiewicz

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

Dokumentacja do API Javy.

Polimorfizm, metody wirtualne i klasy abstrakcyjne

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

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

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

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

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

Platformy Programistyczne Podstawy języka Java

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

Polimorfizm. dr Jarosław Skaruz

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

Języki i metody programowania Java Lab2 podejście obiektowe

Podstawowe części projektu w Javie

Dziedziczenie jednobazowe, poliformizm

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

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

Wykład 7: Pakiety i Interfejsy

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

Podstawy i języki programowania

Klasy abstrakcyjne i interfejsy

Enkapsulacja, dziedziczenie, polimorfizm

Java: interfejsy i klasy wewnętrzne

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

Wykład 4: Klasy i Metody

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

Definiowanie własnych klas

Klasy abstrakcyjne, interfejsy i polimorfizm

KOTLIN. Język programowania dla Androida

Programowanie obiektowe i zdarzeniowe

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

Programowanie 2. Język C++. Wykład 3.

Definiowanie własnych klas

Wykład 2: Podstawy Języka

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

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

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

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

TEMAT : KLASY DZIEDZICZENIE

Język ludzki kod maszynowy

MATERIAŁY DO ZAJĘĆ II


Programowanie obiektowe

Rozdział 4 KLASY, OBIEKTY, METODY

Wykład 8: klasy cz. 4

1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4);

Programowania w Javie

Wykład 6: Dziedziczenie

Dziedziczenie. dr Jarosław Skaruz

Przykład -

Definicje klas i obiektów. Tomasz Borzyszkowski

ROZDZIAŁ 2. Operatory

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

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

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Java Język programowania

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

Programowanie obiektowe

Aplikacje w środowisku Java

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

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

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

Podstawy i języki programowania

Programowanie, algorytmy i struktury danych

Interfejsy i klasy wewnętrzne

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

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

Programowanie obiektowe

DOSTĘP DO METOD I ZMIENNYCH, TABLICE. Dostęp do zmiennych (na podstawie:l.lemay,r.cadenhead,java 2 dla kaŝdego, Helion 2001)

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

Podstawy programowania obiektowego

Programowanie obiektowe

Dziedziczenie. Tomasz Borzyszkowski

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

Programowanie obiektowe

Podstawy Języka Java

Programowanie obiektowe zastosowanie języka Java SE

Szablony klas, zastosowanie szablonów w programach

1 Podstawy c++ w pigułce.


Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019

Wykład 5 Okna MDI i SDI, dziedziczenie

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Programowanie w Javie - wykład 2

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

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

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

Transkrypt:

PODSTAWOWE ELEMENTY JĘZYKA JAVA TYPY DANYCH, OPERATORY I INSTRUKCJE 1. Definicja klasy, dziedziczenie, implementowanie metod interfejsów class nazwa_klasy //ciało klasy Klasa: przed słowem class moŝe wystąpić jeden ze specyfikatorów: public klasa dostępna publicznie final, public final - klasa ta nie moŝe mieć następcy abstract, public abstract klasy te nie mają wystąpień Klasa abstrakcyjna moŝe zawierać metody abstrakcyjne, poprzedzone słowem kluczowym abstract; w miejscu ciała metody abstrakcyjnej występuje średnik; kaŝda jej podklasa musi podawać implementacje tych metod. KaŜda klasa, która odziedziczy metodę abstrakcyjną, ale jej nie implementuje, staje się klasą abstrakcyjną brak specyfikatora klasa dostępna tylko dla klas zdefiniowanych w tym samym pakiecie dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy (czyli klasa dziedziczy zawsze publicznie i tylko od jednej od klasy nazwa_superklasy) KaŜda klasa dziedziczy od predefiniowanej klasy Object. JeŜeli w definicji klasy nie występuje słowo extends, to oznacza to niejawne wystąpienie w tej definicji słów extends Object implementowanie- po nazwie klasy wystąpią słowa: implements nazwy_interfejsów (czyli w danej klasie zostaną zdefiniowane metody, zadeklarowane w implementowanych interfejsach. JeŜeli dana klasa implementuje więcej niŝ jeden interfejs, wtedy nazwy kolejnych interfejsów oddziela się przecinkami. Implementowanie metod kilku interfejsów odpowiada dziedziczeniu wielobazowe w C++ Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

Ciało klasy: zamknięte w nawiasy klamrowe moŝe zawierać zmienne składowe (to jest pola lub moŝe zawierać zmienne instancji) moŝe zawierać zmienne klasowe (statyczne, tj. poprzedzone słowem kluczowym static) moŝe zawierać konstruktory (metody o nazwie klasy bez zwracanego typu) moŝe zawierać metody klasowe (nagłówek poprzedzony słowem kluczowym static) moŝe zawierać metody zwykłe moŝna je wywołać, gdy utworzono obiekt nazwa kaŝdej zmiennej składowej, zmiennej klasy, metody lub funkcji klasy musi być poprzedzona nazwą typu podstawowego (byte, short, int, long, double, float, char, boolean, void) lub klasowego przed nazwą typu składowej klasy moŝe wystąpić jeden ze specyfikatorów dostępu: o o o private (dostęp tylko dla elementów klasy - private int d;), protected (dostęp tylko w podklasie, nawet jeśli podklasa naleŝy do innego pakietu; nie dotyczy zmiennych klasy) public (dostęp publiczny). Brak specyfikatora oznacza, Ŝe dany element jest dostępny tylko dla klas w tym samym pakiecie słowo final po specyfikatorze dostępu przed nazwą typu zmiennej wystąpienia lub zmiennej klasy deklaruje jej nie modyfikowalność np. public static final int stala1 = 10; final int stala2= 10; słowo final po specyfikatorze dostępu przed nazwą metody oznacza, Ŝe nie moŝe ona być redefiniowana w klasie dziedziczącej np. public final void koncowa_wersja () /*... */ definicja publicznej metody koncowa_wersja moŝe wystąpić tylko raz w rodzinie klas Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 2

2. Tworzenie obiektu Dostęp do zmiennych składowych klasy (statycznych) jest moŝliwy bez tworzenia obiektów tej klasy np. System.out.println("Dzien dobry, nazywam się Jan Kowalski\n"); Klasy i interfejsy są typami referencyjnymi. Wartościami zmiennych tych typów są referencje (odnośniki) do wartości lub zbiorów wartości reprezentowanych przez te zmienne. np. instrukcja Random rand; jedynie powiadamia kompilator, Ŝe będzie uŝywana zmienna rand, której typem jest Random (brak przydzielonego miejsca w pamięci na taki obiekt) Do zmiennej rand moŝna przypisać dowolny obiekt typu Random przydzielając mu pamięć za pomocą new np. Random rand = new Random(); Argumentem operatora new jest generowany przez kompilator konstruktor Random(), który inicjuje obiekt utworzony przez operator new. Operator new zwraca referencję do tego obiektu, po czym przypisuje go do zmiennej rand. np. Random rand = new Random(20L); Argumentem operatora new jest definiowany przez programistę konstruktor Random(20L), który inicjuje obiekt utworzony przez operator new. Operator new zwraca referencję do tego obiektu, po czym przypisuje go do zmiennej rand. Dostęp do elementów klasy uzyskuje się za pomocą operatora kropkowego Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 3

1. Operatory arytmetyczne +, -, /,*, % Przykład 1 programu z interfejsem konsolowym public class Lab2_1 // Tworzy generator liczb losowych, zainicjowany czasem systemowym Random rand = new Random(); int i, j, k; String s; // '%' ogranicza wartość do 9: losowanie kolejnej wartości całkowitej j = rand.nextint() % 10; k = rand.nextint() % 10; s = "j wynosi "+ j; System.out.println(s); s = "k wynosi "+ k; System.out.println(s); i = j + k; s = "j + k wynosi " + i; System.out.println(s); i = j - k; s = "j - k wynosi " + i; System.out.println(s); i = k / j; s = "k / j wynosi " + i; System.out.println(s); i = k * j; s = "k * j wynosi " + i; System.out.println(s); i = k % j; s = "k % j wynosi " + i; System.out.println(s); j %= k; s = "j %= k wynosi " + j; System.out.println(s); // Operacje na argumentach zmniennoprzecinkowych u,v,w float u, v, w; //losowanie kolejnej wartośći rzexczywistej v = rand.nextfloat(); w = rand.nextfloat(); s = "v = " + v; System.out.println(s); s = "w = " + w; System.out.println(s); u = v + w; s = "v + w wynosi " + u; System.out.println(s); u = v - w; s = "v - w wynosi " + u; System.out.println(s); u = v * w; s = "v * w wynosi " + u; System.out.println(s); u = v / w; s = "v / w wynosi " + u; System.out.println(s); // następne wyraŝenia są realizowane dla char, byte, short, int, long, and double: u += v; s = "u += v wynosi " + u; System.out.println(s); u -= v; s = "u -= v wynosi " + u; System.out.println(s); u *= v; s = "u *= v wynosi " + u; System.out.println(s); u /= v; s = "u /= v wynosi " + u; System.out.println(s); Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 4

Przykład 1 programu z graficznym interfejsem uŝytkownika import javax.swing.*; public class Lab2_2 public static void main(string args[]) //definicja zmiennych całkowitych I, j, k oraz łańcucha s int i, j, k; String s; // pobranie z okienka dialogowego łańcucha 5 s = JOptionPane.showInputDialog(null, "Podaj pierwszy argument całkowity"); //zamiana łąncucha 5 na liczbę 5 j = Integer.parseInt(s); // pobranie z okienka dialogowego łańcucha 3 s = JOptionPane.showInputDialog(null, "Podaj drugi argument całkowity"); //zamiana łąncucha 3 na liczbę 3 k = Integer.parseInt(s); //definicja zmiennych rzeczywistych u, v w float u, v, w; // pobranie z okienka dialogowego łańcucha 6.8 s=joptionpane.showinputdialog(null, "Podaj pierwszy argument rzeczywisty"); //zamiana łąncucha 6.8 na liczbę v = Float.parseFloat(s); // pobranie z okienka dialogowego łańcucha 3.2 s = JOptionPane.showInputDialog(null, "Podaj drugi argument rzeczywisty"); //zamiana łąncucha 3.2 na liczbę w = Float.parseFloat(s); Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 5

i = j+k; s="j+k wynosi "+ i + "\n"; // dodanie do łąńcucha s nowego łąncucha s+= czyli s=s+ i = j - k; i = j / k; i = j * k; i = j % k; s+="j-k wynosi " + i + "\n"; s+="j/k wynosi " + i + "\n"; s+="j*k wynosi " + i + "\n"; s+="j%k wynosi " + i + "\n"; // Operacje na argumentach zmniennoprzecinkowych u = v + w; u = v - w; u = v * w; u = v / w; s += "v + w wynosi " + u +"\n"; s += "v - w wynosi " + u +"\n"; s += "v * w wynosi " + u +"\n"; s += "v / w wynosi " + u +"\n"; // następne wyraŝenia są realizowane dla // char, byte, short, int, long i double: u += v; s += "u += v wynosi " + u +"\n"; u -= v; s += "u -= v wynosi " + u +"\n"; u *= v; s += "u *= v wynosi " + u +"\n"; u /= v; s += "u /= v wynosi " + u +"\n"; //wyświetlenie łańcucha s JOptionPane.showMessageDialog(null,s); System.exit(0); Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 6

2. Operatory jednoargumentowe +,-. Operatory inkrementacji przedrostkowej i przyrostkowej Operatory jednoargumentowe i plus słuŝą do określenia wartości dodatniej lub ujemnej. Operatory inkrementacji i dekrementacji przedrostkowej np. ++i lub --i wykonują się najpierw, zanim wykona się wyraŝenie, w którym uŝyto te operatory. Operatory inkrementacji i dekrementacji przyrostkowej np. i++ lub i-- wykonują się po wykonaniu wyraŝenia, w którym uŝyto te operatory. Przykład 2 z interfejsem konsolowym public class Lab2_3 int i = +1; System.out.println("i : " + i); System.out.println("++i : " + ++i); // Pre-increment System.out.println("i++ : " + i++); // Post-increment System.out.println("i : " + i); System.out.println("--i : " + --i); // Pre-decrement System.out.println("i-- : " + i--); // Post-decrement System.out.println("i : " + i); i = -1; System.out.println("\ni : " + i); System.out.println("++i : " + ++i); // Pre-increment System.out.println("i++ : " + i++); // Post-increment System.out.println("i : " + i); System.out.println("--i : " + --i); // Pre-decrement System.out.println("i-- : " + i--); // Post-decrement System.out.println("i : " + i); Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 7

Przykład 2 z interfejsem graficznym import javax.swing.*; public class Lab2_4 int i = +1; String s; s="i : " + i; s+="++i : " + ++i +"\n"; // Pre-increment s+="i++ : " + i++ +"\n"; // Post-increment s+="i : " + i +"\n"; s+="--i : " + --i +"\n"; // Pre-decrement s+="i-- : " + i-- +"\n"; // Post-decrement s+="i : " + i+"\n"; i = -1; s+="\ni : " + i +"\n"; s+="++i : " + ++i +"\n"; // Pre-increment s+="i++ : " + i++ +"\n"; // Post-increment s+="i : " + i +"\n"; s+="--i : " + --i +"\n"; // Pre-decrement s+="i-- : " + i-- +"\n"; // Post-decrement s+="i : " + i +"\n"; JOptionPane.showMessageDialog(null,s); System.exit(0); Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 8

3.Operatory relacyjne <>, >, <, >=, <=, ==, i logiczne AND (&&), OR ( ) and NOT (!) - wynik działania operatorów jest równy wartości false lub true. Przykład 3 z interfejsem konsolowym public class Lab2_5 Random rand = new Random(); int i = rand.nextint() % 100; int j = rand.nextint() % 100; String s; s = "i = " + i + "\n"; s+= "j = " + j + "\n"; s+= "i > j is " + (i > j) + "\n"; s+= "i < j is " + (i < j) + "\n"; s+= "i >= j is " + (i >= j) + "\n"; s+= "i <= j is " + (i <= j)+ "\n"; s+= "i == j is " + (i == j)+ "\n"; s+= "i!= j is " + (i!= j)+ "\n"; // Wartość typu int nie jest wartością logiczną // w Javie //! System.out.println(s) ("i && j is " + (i && j)); //! System.out.println ("i j is " + (i j)); //! System.out.println ("!i is " +!i); s+= "(i < 10) && (j < 10) is " + ((i < 10) && (j < 10))+ "\n"; s+="(i < 10) (j < 10) is " + ((i < 10) (j < 10))+ "\n"; System.out.println(s); Przy wyświetlaniu wartość typu logicznego jest równa true lub false. Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 9

Przyklad 3 z interfejsem graficznym import javax.swing.*; public class Lab2_6 Random rand = new Random(); int i = rand.nextint() % 100; int j = rand.nextint() % 100; String s; s= "i = " + i + "\n"; s+= "j = " + j + "\n"; s+= "i > j is " + (i > j) + "\n"; s+= "i < j is " + (i < j) + "\n"; s+= "i >= j is " + (i >= j) + "\n"; s+= "i <= j is " + (i <= j)+ "\n"; s+= "i == j is " + (i == j)+ "\n"; s+= "i!= j is " + (i!= j)+ "\n"; s+="(i < 10) && (j < 10) is "+ ((i < 10) && (j < 10))+ "\n"; s+="(i < 10) (j < 10) is " + ((i < 10) (j < 10))+ "\n"; JOptionPane.showMessageDialog(null,s); System.exit(0); Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 10

4. Funkcje statyczne, skrócone obliczanie wartości wyraŝeń logicznych public class Lab2_7 static boolean test1(int w) System.out.println("test1(" + w + ")"); System.out.println("wynik: " + (w < 1)); return w < 1; static boolean test2(int w) System.out.println("test2(" + w + ")"); System.out.println("wynik: " + ( w < 2)); return w < 2; static boolean test3(int w) System.out.println("test3(" + w + ")"); System.out.println(" wynik: " + ( w < 3)); return w < 3; if(test1(0) && test2(1) && test3(2)) System.out.println("\nwyrazenie jest prawdziwe\n"); else System.out.println("\nwyrazenie jet falszywe\n"); if(test1(0) && test2(2) && test3(2)) System.out.println("\nwyrazenie jest prawdziwe\n"); else System.out.println("\nwyrazenie jet falszywe\n"); Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 11

nagłówek funkcji typ wynik typu boolean nazwa lista parametrów ciało funkcji static boolean test1(int w) System.out.println("test1(" + w + ")"); System.out.println("wynik: " + (w < 1)); return w < 1; instrukcja return zwracająca wynik działania funkcji nagłówek funkcji typ wynik bez typu nazwa pusta lista parametrów ciało funkcji static void test1() System.out.println("test1(" Brak parametrów ")"); System.out.println("wynik: " + (3 < 1)); void brak typu W przypadku obliczania iloczynu logicznego przerywa się obliczanie wartości jeśli jedno z podwyraŝeń jest fałszywe.4. Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 12

5. Operator alternatywy? : import javax.swing.*; public class Lab2_8 float v,w; String s; s=joptionpane.showinputdialog(null, "Podaj pierwszy argument rzeczywisty"); v=float.parsefloat(s); s=joptionpane.showinputdialog(null, "Podaj drugi argument rzeczywisty"); w=float.parsefloat(s); s= w==0? " Nie mozna dzielic przez 0" ": "v/w wynosi" + v/w; JOptionPane.showMessageDialog(null,s); System.exit(0); import javax.swing.*; public class Lab2_9 float v,w; String s; s=joptionpane.showinputdialog(null, "Podaj pierwszy argument rzeczywisty"); v=float.parsefloat(s); s=joptionpane.showinputdialog(null, "Podaj drugi argument rzeczywisty"); w=float.parsefloat(s); if (w==0) s="nie mozna dzielic przez 0"; else s="v/w wynosi" + v/w; JOptionPane.showMessageDialog(null,s); System.exit(0); Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 13

6. Operacje na łańcuchach operator +, = oraz += Patrz przykłady. Zastosowanie w wyraŝeniu podłańcucha wymusza konwersje pozostałych elementów na łańcuchy. float v=3, w=2; String s; s="v/w wynosi" + v/w; 7. Rzutowanie import javax.swing.*; public class Lab2_10 int i,j; String s; s=joptionpane.showinputdialog(null, "Podaj pierwszy argument rzeczywisty"); i=integer.parseint(s); s=joptionpane.showinputdialog(null, "Podaj drugi argument rzeczywisty"); j=integer.parseint(s); if (j==0) s = "Nie mozna dzielic przez 0"; else //rzutowanie do wartośći rzeczywistej, //aby podzielić z resztą s = "i/j wynosi" + i/(float)j; JOptionPane.showMessageDialog(null,s); System.exit(0); Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 14

8. Przepełnienie import javax.swing.*; public class Lab2_11 int duzy = 0x7fffffff; // maksymalna wartość int int wiekszy = duzy * 2; String s = "duzy = " + duzy + "\n"; s += "wiekszy = " + wiekszy + "\n"; JOptionPane.showMessageDialog(null,s); /* Podczas kompilacji zgłaszany jest błąd przepełnienia dla liczb rzeczywistych float wielki = 3.4E+38; // maksymalna wartość float System.out.println("wielki = " + wielki); int jeszcze_wiekszy= wielki * 4; System.out.println (" jeszcze_wiekszy = " + jeszcze_wiekszy); */ System.exit(0); Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 15

9. Instrukcje switch, do while public class Lab2_12 int i=1; do //losowanie kodu ASCCI cyfry char c = (char)(math.random() * 11 + '0'); System.out.print(c + ": "); switch(c) case '0': i++; case '2': case '4': case '6': case '8': System.out.println("parzyste"); break; case '1': case '3': case '5': case '7': case '9': System.out.println("nieparzyste"); break; default: System.out.println("to nie jest liczba"); while (i!=3); break przerywa instrukcję switch. w przypadku braku break instrukcja przechodzi do następnego case po wybranym wcześniej bez słowa break. default jest wybierane, gdy wartość zmiennej c nie jest równa Ŝadnej wartości przy case Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 16