Programowanie w Javie cz. 2 Programowanie strukturalne. Łódź, 24 luty 2014 r.



Podobne dokumenty
Programowanie w Javie cz. 1 Programowanie strukturalne

Technologie i usługi internetowe cz. 1

Programowanie w Javie Wykład 2 Podstawy Javy strukturalnej

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

Podstawowe części projektu w Javie

Programowanie obiektowe

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

Podstawy Języka Java

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

Programowanie - instrukcje sterujące

Podstawy Programowania C++

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

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

Programowanie obiektowe

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

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

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

Podstawy i języki programowania

1 Podstawy c++ w pigułce.

Podstawy Języka Java

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

Microsoft IT Academy kurs programowania

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

Wprowadzenie do języka Java

Wprowadzanie danych z klawiatury. Wyjątki związane z wprowadzaniem danych, przekroczeniem rozmiaru tablicy, dzieleniem przez zero itd.

Wykład 2: Podstawy Języka

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

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

Tworzenie aplikacji w języku Java

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

Podstawy i języki programowania

1 Podstawy c++ w pigułce.

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

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

Programowanie, algorytmy i struktury danych

Język ludzki kod maszynowy

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

Java Podstawy. Michał Bereta

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

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

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

Programowanie w Javie 1 Wykład i Ćwiczenia 2 Przegląd podstawowych klas w Javie (elementy programowania obiektowego) Płock, 16 października 2013 r.

JAVA?? to proste!! Autor: wojtekb111111

Programowanie obiektowe zastosowanie języka Java SE

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

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

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

Dokumentacja do API Javy.

Metody Metody, parametry, zwracanie wartości

Programowanie obiektowe

Platforma.NET. Laboratorium nr 1 Podstawy języka C#

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

Platformy Programistyczne Podstawy języka Java

Multimedia JAVA. Historia

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe

MATERIAŁY DO ZAJĘĆ II

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

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

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

Lab 9 Podstawy Programowania

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

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

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

Java Język programowania

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

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

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

Tablice (jedno i wielowymiarowe), łańcuchy znaków

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

Część 4 życie programu

Ćwiczenie 1. Przygotowanie środowiska JAVA

Stałe oznaczane są słowem kluczowym final. Do stałej wartość można przypisać tylko raz. Dobrą konwencją jest nazywanie stałych wielkimi literami

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

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

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

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Java Podstawy. Michał Bereta

Wykład 4: Klasy i Metody

Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.

ROZDZIAŁ 2. Operatory

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Języki i metodyka programowania. Język C# pętle, sterowanie, wyjątki

KOTLIN. Język programowania dla Androida

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

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

Podstawy i języki programowania

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

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

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Java EE produkcja oprogramowania

1 Atrybuty i metody klasowe

Podstawy programowania obiektowego

1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();

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

Rozdział 4 KLASY, OBIEKTY, METODY

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

Transkrypt:

Programowanie w Javie cz. 2 Programowanie strukturalne Łódź, 24 luty 2014 r.

Pakiety Program w języku Java to zbiór klas. Klasy zebrane są w pakiety aby pogrupować je według znaczenia. Kluczowe słowo do tworzenia pakietu, to package. package zaj1; public class Proba { public static void main(string[] args) { System.out.println("Hello World"); Nazwy pakietów zwyczajowo pisze się małymi literami. Kolejne poziomy zagnieżdżenia pakietów oddziela się od siebie kropkami. Przykłady pakietów: java.lang, java.util, java.io, java.applet, java.awt 2

Import klas Sama nazwa klasy nie musi identyfikować jej w sposób jednoznaczny. Należy określić pakiet w obrębie którego została ona zdefiniowana. Aby skorzystać z klasy zamkniętej w obrębie jakiegoś pakietu należy ją zaimportować przy pomocy polecenia import. package zaj12; public class Proba2 { public static void pisz(string s) { System.out.println(s); package zaj11; import zaj12.proba2; public class Proba1 { public static void main(string[] args) { Proba2.pisz("Ala"); System.out.println("Hello World"); 3

Narzędzia jar i javadoc W NetBeans przebudować projekt w celu wygenerowania paczki jar. Run \ Build Main Project Uruchamiamy plik spakowany jar poleceniem: java jar zaj1.jar Dokumentację generujemy za pomocą narzędzia javadoc. Run \ GenerateJavadoc (Zaj1) Obejrzeć wygenerowaną stronę można za pomocą pliku index.html. Ćwiczenie 1 (bez użycia NetBeans) Zbuduj projekt zawierający dwie klasy Pierwsza i Druga z metodami main wypisującymi Hello World 1 lub Hello World 2 (w zależności z której klasy jest wywołane). Obydwie klasy zamknij w pakiecie wspolny (pakiet to zwykły katalog). Skompiluj i uruchom każdą z klas z osobna. Następnie poleceniem jar cvf zaj1.jar wspolny/*.class zbuduj plik jar. Uruchom ten plik poleceniem jar z odpowiednim parametrem (uruchomienie wymaga pliku Manifest.mf). Zbuduj zatem plik Manifest.mf z np. wpisem Main-Class: Druga Podłącz następnie plik manifestu do pliku jar (odpowiednio użyte polecenie jar) i go uruchom. 4

Słowa kluczowe języka 5

Zmienne Instance Variables (Non-Static Fields) przechowują stan pól w danej klasie. Wartość tych zmiennych jest różna dla różnych instancji danej klasy Class Variables (Static Fields) definiowane przez słowo static, które mówi kompilatorowi, że te pole jest takie samo dla wszystkich instancji danej klasy: static int runda=6; Local Variables pole tymczasowe przechowujące stan klasy na poziomie metod rozróżniane w obrębie { Parameters parametry klasyfikowane są zawsze jako zmienne, nigdy nie jako pola. np.: public static void main(string[] args) - args jest parameterem dla metody main. Zmienne muszą mieć typ (silne typowanie w Javie). 6

Zmienne reguły nazewnicze Ogólne reguły nazewnicze: Rozróżniane małe i duże litery (case-sensitive). Zmienna może rozpoczynać się od litery, $ lub _. $ stosowany jedynie w automatycznie generowanym kodzie. W nazwie zmiennej należy unikać skrótów myślowych gdyż tworzysz nieczytelny kod: np. z1, a345, bbb. Jeśli nazwa składa się z kilku słów to zaczynamy każde z nich, począwszy od drugiego, od dużej litery: sredniapredkosc = 30; Jeśli zmienna ma oznaczać wartość stałą używaj dużych liter: MAX_PREDKOSC=90; Stałe definiowane przez static final double PI = 3.141592653589793; 7

Typy w Javie Java jest językiem ze ścisłą kontrolą typów, w którym rozmiar i postać danych są określone precyzyjnie Typy danych w Javie można podzielić na typy proste i typy referencyjne (klasy, interfejsy i tablice) Do przechowywania liczb całkowitych przeznaczone są cztery typy o długościach: byte (8), short (16), int (32) oraz long (64) Rzeczywiste typy liczbowe to: float (32) i double (64) Dane znakowe zapisywane są zgodnie ze standardem Unicode są to 16-bitowe liczby całkowite bez znaku. Do ich przechowywania służy typ char Typ boolean (1 bit) umożliwia przechowywanie wartości logicznych. Może on przyjmować tylko dwie wartości: true i false. 8

Typy proste wbudowane Nazwa typu byte 0 short 0 int 0 long Standardowa wartość 0L float 0.0f double 0.0d char boolean String \u0000 false null String nie jest typem prostym, jednak ze względu na specyficzne traktowanie jest często postrzegany jako typ prosty. String jest obiektem, którego wartości nie można zmienić (immutable). 9

Klasa String i jej metody Ćwiczenie 2 Niech String s1 = "abc"; String s2 = "ab"; s2 += "c"; String s3=s2; String s4 = new String("abc"); Czy prawdą jest, że: s1=="abc" s1==s4; s1==s2; s2=="abc" s2==s3; s1.equals(s2); s1.equals(s3); s1.equals(s4) s1.compareto(s4); Ćwiczenie 3 Dany jest String s = " Ala ma kota i kot ma Ale "; Wypisz zdanie s z dużych liter, Wypisz zdanie s bez początkowych i końcowych spacji, Podziel zdanie s używając symbolu spacji i wypisz każdy z wyrazów w kolejnej linii (użyj pętli) foreach. 10

Tablice Tablica - to ciąg zmiennych tego samego typu, opisanych jedną wspólną nazwą. Elementy tablicy identyfikuje się za pomocą indeksów. Dostęp do poszczególnych elementów tablicy odbywa się za pomocą operatora indeksowania []. Indeksy są liczone od zera. Tablica jednowymiarowa odpowiada matematycznemu pojęciu wektora, wielowymiarowa macierzy. Tablice w języku Java są zaimplementowane jako obiekty, więc nie mogą być deklarowane statycznie. Tworzenie tablicy składa się z dwóch etapów: 1. deklaracja zmiennej referencyjnej tablicy, 2. utworzenie nowego obiektu tablicy i przypisanie go do danej zmiennej tablicowej. 11

Tablice - przykład Deklaracja tablicy: int[] anarray; Alokacja pamięci: anarray = new int[4]; Ustawienie kolejnych elementów tablicy: anarray[0] = 10; anarray[1] = 11; anarray[2] = 12; anarray[0] = 13; Długość tablicy można sprawdzić za pomocą właściwości lenght: args.lenght Ćwiczenie 4 Napisz program z trzema parametrami wejściowymi par1, par2 i par3, które przechowywane są w tablicy String[] args (parametr wejściowy funkcji main). Program ma wypisywać zdanie: Witaj! Masz na imię par1, a nazywasz się par2. Za 5 lat skończysz (par3+5) lat. Wsk. Przekonwertować String na liczbę możesz używając metody parseint() klasy Integer, a w drugą stronę dodając liczbę do pustego ciągu znaków. 12

Operatory Nazwa operatora Symbol Przypisania = += -= *= /= Arytmetyczne dwuargumentowe + - / * Relacyjne > < => =< ==!= Logiczne! && Bitowe & ^ << >> ~ >>> In-/de-krementacja -- ++ Operator porównania typu instanceof Trójwartościowy? : 13

Instrukcje sterowania Instrukcje wyboru if-then if-then-else switch Pętle do-while for Instrukcje sterujące break kończy wykonywanie danej instrukcji sterowania continue pomija wykonanie danego kroku instrukcji sterowania. return Blok { instrukcje 14

Instrukcje wyboru if-then if(liczba % 2 == 0) System.out.println(true); if-then-else if(liczba % 2 == 0) System.out.println(true); else System.out.println(true); switch switch(liczba % 3){ case 1: System.out.println( reszta 1 ); break; case 2: System.out.println( reszta 2 ); break; default: System.out.println( reszta 0 ); switch współpracuje z następującymi typami: int, byte, shrot, chat, klasami opakowującymi tj. Integer, Byte, typami wyliczeniowymi 15

Pętle do-while do instrukcja; while (wyrażenie); while while (wyrażenie) instrukcja; foreach for int[] liczby = {1,2,3,4,7,8; for (start; stop; inkrementacja) for (int zm : liczby) instrukcja; System.out.println(zm); Ćwiczenie 5 Wypisz na konsoli następujące tablice. 16

Funkcje matematyczne Funkcje matematyczne Javy są zawarte w klasie Math. Funkcje te są zadeklarowane jako statyczne, więc można ich używać bez tworzenia egzemplarza obiektu. Funkcje matematyczne (metody klasy Math) zwykle operują na liczbach rzeczywistych typu double i zwracają wartości typu double. Przykładowe funkcje klasy Math: abs(x) ceil(double x) floor(double x) sqrt(double x) random() pow(double x, double n) sin(double alfa) cos(double alfa) tan(double alfa) 17

Wyjątki Wyjątek jest sytuacją, która powoduje zatrzymanie normalnego wykonywania programu. Klauzula try może mieć wiele catch, ale każdy musi obsługiwać inny typ Wyjatku. Bardziej precyzyjne wyjątki powinny znajdować się w pierwszych klauzulach catch. Klauzula finally będzie zawsze wykonana. try { instrukcje; catch (typwyjątku parametr) { instrukcje; catch (typwyjątku parametr) { instrukcje;... finally { instrukcje; 18

Wyjątki Ćwiczenie 6 Napisz program który uruchamiasz z dwoma parametrami typu int i wyprowadzasz na ekran iloraz tych liczb. Jeśli parametrów będzie za mało masz obsłużyć odpowiedni wyjątek. Jeśli parametry będą złego typu masz obsłużyć odpowiedni wyjątek. Jeśli drugi z parametrów będzie zerem masz obsłużyć odpowiedni wyjątek. 19

Czytanie z klawiatury W Javie czytanie z klawiatury można realizować na wiele sposobów: 1. Przy pomocy tablicy byte[] byte[] bufor = new byte[100]; System.in.read(bufor); System.out.println("Wpisales ciag znakow: " + new String(bufor).trim()); 2. Przy pomocy klasy klasy BufferedReader BufferedReader bufor = new BufferedReader(new InputStreamReader(System.in)); String s = bufor.readline(); System.out.println("Wpisales ciag znakow: "+s); 3. Przy pomocy klasy Scanner Scanner sc = new Scanner(System.in); String bufor = sc.nextline(); System.out.println("Wpisales ciag znakow: "+bufor); Ćwiczenie 7 Napisz program, który będzie konwertował zł na euro i odwrotnie podawane z klawiatury. 20

JOptionPane okienka dialogowe Klasa JOptionPane umożliwia interakcję z użytkownikiem za pomocą wyskakujacego okienka dialogowego. Klasa a ma cztery podstawowe metody wywyołania. Ćwiczenie 8 Napisz program z poprzedniego ćwiczenia używając do wejścia/wyjścia odpowiednich metod klasy JOptionPane. 21