Podstawy Języka Java

Podobne dokumenty
Programowanie obiektowe

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

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

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

Podstawy i języki programowania

Programowanie obiektowe

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

JAVA W SUPER EXPRESOWEJ PIGUŁCE

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

1 Podstawy c++ w pigułce.

Odczyt danych z klawiatury Operatory w Javie

Wykład 2: Podstawy Języka

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

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

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

Wprowadzenie do języka Java

Programowanie w Javie cz. 1 Programowanie strukturalne

Tworzenie aplikacji w języku 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

Technologie i usługi internetowe cz. 1

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

1 Podstawy c++ w pigułce.

Podstawowe części projektu w Javie

Programowanie strukturalne i obiektowe

Programowanie w Internecie. Java

Programowanie obiektowe

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

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

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

Platformy Programistyczne Podstawy języka Java

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

Microsoft IT Academy kurs programowania

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

Programowanie, algorytmy i struktury danych

JDK można pobrać ze strony

2 Przygotował: mgr inż. Maciej Lasota

Podstawy i języki programowania

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

Język ludzki kod maszynowy

Podstawy Programowania C++

Wykład 7: Pakiety i Interfejsy

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

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

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

Programowanie obiektowe

MATERIAŁY DO ZAJĘĆ II

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

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

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

Pytania sprawdzające wiedzę z programowania C++

Programowanie - wykład 4

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

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

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Metody Metody, parametry, zwracanie wartości

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

Podstawy i języki programowania

C++ wprowadzanie zmiennych

Programowanie - instrukcje sterujące

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

Podstawy i języki programowania

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

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

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

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

Programowanie Komputerów

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

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

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Podstawy programowania C. dr. Krystyna Łapin

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

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

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

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

Języki programowania - podstawy

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

#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 ); }

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

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Podstawy i języki programowania

Część 4 życie programu

Lab 9 Podstawy Programowania

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

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

Komentarze. W Javie istnieją dwa rodzaje komentarze:

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

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

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Zmienne, stałe i operatory

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

JAVA?? to proste!! Autor: wojtekb111111

Wykład 4: Klasy i Metody

Metodyki i Techniki Programowania MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie obiektowe

I. Podstawy języka C powtórka

Programowanie obiektowe

1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)?

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

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

Transkrypt:

Podstawy Języka Java

p u b l i c c l a s s Proba { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { System. out. p r i n t l n ( H e l l o World ) ; } }

Twój pierwszy program Edytor Proba.java Kompilator Proba.class JVM Hello World 1 Klasę zapisujemy w pliku: Proba.java 2 Kompilujemy do bytecodu: javac Proba.java 3 Następnie uruchamiamy: java Proba

Zwróć uwagę na następujące rzeczy Przy wpisywaniu ręcznym zwracja uwagę na wielkość liter. W szczególności pamiętaj, że nazwa klasy to Proba, a nie PROBA, czy proba. Kompilator wymaga nazwy pliku (Proba.java) Jeśli w trakcie kompilacji poleceniem javac zobaczysz błąd typu: javac is not recognized as an internal external command, operable program or batch file lub javac command not found użyj w poleceniu kompilacji pełnej nazwy ścieżki do polecenia javac lub ustaw zmienną środowiskową PATH Jeśli w trakcie kompilacji pojawi się błąd java.lang.noclassdeffounderror dokładnie sprawdź nazwę klasy

Zastosowanie argumentów wiersza poleceń. Najprostszy sposób na dostarczenie danych wejściowych polega na użyciu args[0] który zawiera pierwszy element wiersza poleceń wpisany po nazwie programu. args[1] byłby drugim, itd. public class przyklad{ public static void main(string[] args){ System.out.println("Hello"); System.out.println(args[0]); System.out.println("jak sie masz?"); } } Powyższy program można uprościć zamieniając odpowiednie linie na następującą: System.out.println("Hello"+ args[0] + "jak sie masz?");

Typy danych 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.

Typy proste Nazwa typu Standardowa wartość byte 0 short 0 int 0 long 0L float 0.0f double 0.0d char \ u0000 boolean false String nie jest typem prostym, jednak ze względu na specyficzne traktowanie jest często postrzegany jako typ prosty. Obiekty klasy String w języku Java są określane jako niezmienialne (immutable).

Zmienne i stałe - deklaracja Po zadeklarowaniu zmiennej trzeba ją zainicjiwać za pomocą instrukcji przypisania: int zmienna; zmienna=12; Zmienną można zadeklarować i zainicjować w jednym wierszu: int zmienna=12; Deklaracje w Javie można umieszczać w dowolnym miejscu w kodzie: int pierwsza=12; System.out.println(pierwsza); int druga=5; //Zmienna może byc zadeklarowana w tym miejscu Dobrą praktyką jest deklarowanie zmiennych najbliżej miejsca ich pierwszego użycia.

Stałe Stałe oznaczamy słowem kluczowym final, które oznacza że można tylko jeden raz przypisać wartość i nie będzie można już jej zmienić w programie. Jeśli nasza stała ma być dostępna w jednej metodzie danej klasy to definiujemy ją za pomocą słowa kluczowego final. Jeśli chcemy, aby nasza stała była dostępna dla wielu metod jednej klasy, to musimy ją zdefiniować za pomocą słowa kluczowego static final. Słowo const jest zarezerwowane w Javie, ale obecnie nie jest do niczego używane.

p u b l i c c l a s s P i e r w s z a { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { f i n a l double STALA MOJA=6.34; i n t zmienna = 3 ; System. out. p r i n t l n ( Wynik mnożenia = zmienna STALA MOJA ) ; } } p u b l i c c l a s s Druga { p u b l i c s t a t i c f i n a l double STALA MOJA=6.34; p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { i n t zmienna = 3 ; System. out. p r i n t l n ( Wynik mnożenia = zmienna STALA MOJA ) ; } }

Nazewnictwo - reguły Nazwy klas rozpoczynamy Wielką literą. Nazwy metod rozpoczynamy małą literą. Nazwy zmiennych rozpoczynamy małą literą. class Klasa... void metoda()... int zmienna; Jeśli nazwa składa się z kilku wyrazów, to kolejne człony rozpoczynamy także Wielkią literą, co nazywamy notacją camelcase (rozpoczynamy małą literą) oraz PascalCase (rozpoczynamy wielkią literą). class NazwaMojejKlasy... void tomojametoda()... int jakaszmienna; Nazwy stałych piszemy WIELKIMI literami, a kolejne człony oddzielamy znakiem podkreślenia. static final int TO JEST STALA;

Słowa kluczowe abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for goto if implements import instanceof int interface long native new null package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while

Operatory Nazwa operatora Symbol Arytmetyczne dwuargumentowe + / % Relacyjne < > => =< ==! = Logiczne! && Bitowe & ˆ << >> >>> Inkrementacji/dekrementacji ++ Przypisania = + = + = / = Operator porównania typów instanceof Trójwartościowy?: Zadanie 1. Zadeklaruj dwie zmienne a i b typu int. Przypisz im wartość 5 i 3 odpowiednio. Wykonaj następujące działania: &,,ˆprzesunięcie bitowe w prawo o dwa miejsca dla zmiennej a oraz przesunięcie bitowe w lewo o dwa miejsca dla zmiennej b oraz przesunięcie bitowe w prawo.wynik wszystkich działań wyświetl na ekranie. Zadanie 2. Napisz program który sprawdza, czy podany przez użytkownika rok jest przestępny. Nie używaj instrukcji warunkowej ani pętli.

Funkcje i stałe matematyczne Przy pisaniu niektórych programów przydatna może się okazać klasa Math double x=4; double y=math.sqrt(x); System.out.println(y); W Javie nie ma operatora podnoszącego liczbe do potęgi. Jeśli chcesz wykonać takie działanie, to w klasie Math musisz użyc metody: double y = Math.pow(x,a); Klasa Math udostępnia równiez metody obliczające funkcje trygonomertyczne, wykładniczą, logarytmiczną: Math.sin Math.exp Math.log itd. Dostępne są również dwie stałe określające w maksymalnym przybliżeniu stałe matematyczne π oraz exp Math. PI, Math.E Uwaga. Można uniknąć stosowania przedrostka Math przed metodami i stałymi natematycznymi umieszczając poniższy wiersz na początku kodu źródłowego. import static java.lang.math.*;

Zadania Zadanie 3. Napisz program wykorzystujący Math.sin() oraz Math.cos() do sprawdzenia, czy wartość cos 2 Θ + sin 2 Θ jest przybliżeniem 1, dla dowolnej wartości Θ wprowadzonej jako argument wiersza poleceń. Po prostu wyświetl tę wartość. Dlaczego wartości nie zawsze są dokładnie równe 1? Zadanie 4. Załóżmy, że a i b są zmiennymi boolean. Pokaż, że poniższe wyrażenie ma wartość true (!(a && b) && (a b)) ((a && b)!(a b))

Na diagramie przedstawione są możliwe konwersje typów nie powodujące strat (linia ciągła) i konwersje, które mogą spowodować utratę części danych. char byte short int long float double Konwersje, w których istnieje ryzyko utraty informacji nazywamy rzutowaniem. double x = 9.7575; int nx = int(x); // w wyniku rzutowania otrzymamy nx = 9 Aby zaokrąglić liczbę zmiennoprzecinkową do najbliższej liczby całkowitej należy użyć metody Math.round: double x = 9.456; int nx = (int) Math.round(x); Teraz zmienna nx ma wartość 10. Przy zaokrągleniu za pomocą metody round nadal konieczne jest rzutowanie. spowodowane jest to tym, że metoda round zwraca wartość typu long, a tego typu wartość można przypisać zmiennej typu int tylko przez jawne rzutowanie (bo istnieje ryzyko utraty danych). Zagadka. Co się stanie, gdy (byte) 300?

Klasa String i jej metody Każdy łańcuch w cudzysłowach jest obiektem klasy String. String pierwszy = ; String drugi = Hello ; Aby wydobyć z łańcucha podłańcuch należy użyć metody substring klasy String String pierwszy = Hello ; String drugi = pierwszy.substring(0,5); Klasa String zawiera ponad 50 metod. Poniżej niektóre z nich: boolean equals(object other) - zwraca wartość true jeśli łańcuch jest identyczny z łańcuchem other int length() - zwraca długość łańcucha String tolowercase() - zwraca nowy łańcuch zawierający wszystkie litery z oryginalnego ciągu przekonwertowane na małe litery String touppercase() String trim()

Zadania Zadanie 5. Co wyświetlają poniższe instrukcje? System.out.println(2 + "bc"); System.out.println(2 + 3 + "bc"); System.out.println((2+3) + "bc"); System.out.println("bc"+ (2+3)); System.out.println("bc"+ 2 + 3); Wyjaśnij każdy wynik. Zadanie 6. 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);

Zadania Zadanie 7. 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, Zadanie 8. Napisz program odczytujący dwie liczby całkowite x i y jako argumenty wiersza poleceń i wyświetlający odległość euklidesową od punktu (x, y) do punktu (0, 0). Zadanie 9. Korzystając z metody Math.random() napisz program, który generuje liczbę z zakresu [0, n 1), gdzie n podaje użytkownik. Napisz program odczytujący dwie liczby całkowite a i b jako argumenty wiersza poleceń i wyświetlający liczbę losową z zakresu od a do b włącznie. Zadanie 10. Napisz program wyświetlający sumę dwóch losowych liczb całkowitych pomiędzy 1 a 6. Zadanie 11. Napisz program odczytujący trzy wartości całkowite z wiersza poleceń i wyświetlający je w porządku rosnącym. Użyj Math.min() oraz Math.max().

Wejście i wyjście Wyjście: System.out.println. Wejście: Pobieranie danych ze standardowego strumienia wejściowego System.in już nie jest takie proste. Czytanie danych odbywa się za pomocą skanera będącego obiektem klasy Scanner przywiązanego do strumienia System.in: Scanner in = new Scanner(System.in); Następnie dane wejściowe odczytuje się za pomocą różnych metod klasy Scanner. - nextline - czyta jeden wiersz danych - next - czyta jedno słowo oddzielone spacjami - nextint - wczytuje liczby całkowite - nextdouble - wczytuje liczby zmiennoprzecinkowe Uwaga. Klasa Scanner nie nadaje się do odbioru haseł z konsoli ponieważ wprowadzane dane są widoczne dla każdego. Do tego celu służy klasa Console. Uwaga. Definicja klasy Scanner znajduje się w pakiecie java.util. Użycie jakiejkolwiek klasy spoza podstawowego pakietu java.lang wymaga wykorzystania dyrektywy import. import java.util.*;

Zadania Zadanie 12. Napisz prosty program, który będzie prosił użytkownika o podanie imienia oraz wieku, a następnie wyświetli komunikat: Witaj (tu podane imię). Masz (tu podana liczba lat) lat. Zadanie 13. Napisz program, który oblicza pole prostokąta. Wartości boków a i b wprowadzamy z klawiatury. W programie należy przyjąć, że wartości a, b oraz pole są typu double. Uwaga. Język Java umożliwia formatowanie danych wyjściowych. Służy do tego metoda printf System.out.printf(format, arg); Specyfikatory typów mogą być następujące: %d - integer %e - double %f -float Np. zapis %7.2 - oznacza przyznanie siedmiu pól na liczbę typu float w tym dwóch pól na jej część ułamkową %4d - oznacza przyznanie czterech pól na liczbę typu całkowitego. Zadanie 14. Napisz program, który wyświetla na ekranie komputera pierwiastek kwadratowy z wartości predefiniowanej π = 3, 14... Należy przyjąć format wyświetlania pierwiastka kwadratowego ze stałej π z dokładnością do dwóch miejsc po przecinku.