Operatory. Składnia. Typy proste. Znaki specjalne

Podobne dokumenty
Programowanie obiektowe

Tworzenie i obsługa graficznego interfejsu uŝytkownika

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

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

Programowanie obiektowe

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

7 Pewne uzupełnienia Przepływ sterowania Układacze... 6

JAVA W SUPER EXPRESOWEJ PIGUŁCE

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

Współbieżność w środowisku Java

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

Programowanie obiektowe

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

Spis treści. 1 Aplet. 2 Od aplikacji do apletu. 1 Aplet 1. 2 Od aplikacji do apletu 1. 3 Budowa apletu 3. 4 Cykl życia apletu 4

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

Tworzenie aplikacji w języku Java

Multimedia JAVA. Historia

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

1 Atrybuty i metody klasowe

Dokumentacja do API Javy.

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

Aplikacja wielowątkowa prosty komunikator

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

Programowanie Multimediów JAVA. wprowadzenie do programowania (2/3) [1]

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

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Microsoft IT Academy kurs programowania

Kurs programowania. Wykład 6. Wojciech Macyna. 7 kwietnia 2016

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

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

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

1. Co można powiedzieć o poniższym kodzie (zakładając, że znajduje się on w jednym pliku A.java)?

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

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

Programowanie obiektowe

Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy. Tworzenie łącz w apletach

Podstawy Programowania

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

public - może być używana w kodzie poza klasą, jedna klasa ModyfikatorKlasy może być kombinacją wyrażeń:

Wykład 11: Programowanie Apletów

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

Podstawowe części projektu w Javie

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

Programowanie graficznego interfejsu użytkownika. Wykład 8. Maciej Wołoszyn 10 maja 2006

package pakieta; import pakietb.b; package pakietb; public class B { B(){} public class A { private B b; A(B b) { this.b = b; } }

Java. Programowanie Obiektowe Mateusz Cicheński

Platformy Programistyczne Podstawy języka Java

1. Co można powiedzieć o poniższym kodzie?

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

Wprowadzenie do języka Java

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.

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

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

Język Java wątki (streszczenie)

1. Co można powiedzieć o poniższym kodzie? public class A { void m(int a) { } int m(string s) { return Integer.parseInt(s); }

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

Kurs programowania. Wykład 8. Wojciech Macyna. 10 maj 2017

Programowanie Komputerów

Przetwarzanie równoległe i współbieżne

Wykład 7: Pakiety i Interfejsy

Języki i metody programowania Java Obsługa zdarzeń - przykłady

Podstawy Języka Java

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

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

Spis treści. O autorze (11) O redaktorze technicznym (11) Wstęp (13) Rozdział 1. Podstawy Javy (19)

Kurs programowania. Wykład 8. Wojciech Macyna

Aplikacja wielow tkowa prosty komunikator

KLASY, INTERFEJSY, ITP

KOTLIN. Język programowania dla Androida

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

JAVA Materiały do laboratorium III wersja niezaawansowana Marcin Borkowski WSEiZ czerwiec 2006

Programowanie wieloplatformowe w Java

Tworzenie i wykorzystanie usług

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Programowanie w języku Java WYKŁAD

Wprowadzenie do programowaia w języku Java. dr Dariusz Pałka dpalka@up.krakow.pl

1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4

Programowanie obiektowe

Języki i Techniki Programowania II. Wykład 7. Współbieżność 1

MATERIAŁY DO ZAJĘĆ II

WSPÓŁBIEŻNOŚĆ. MATERIAŁY:

Podstawy i języki programowania

Wątki (Threads) Potrzeby. Przetwarzanie równoległe i współbieŝne. Cechy programowania wątkowego. Concurrent programming is like

Laboratorium Programowania Kart Elektronicznych


Współbieżność w Javie

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

1. Wprowadzenie do języka Java

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Współbieżność w Javie

Wykład 4_1. Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy.

Java: interfejsy i klasy wewnętrzne

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

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

Programowanie obiektowe

Wstęp do ruby dla programistów javy

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

Programowanie urządzeń mobilnych

Języki programowania - podstawy

Programowanie Multimediów. Programowanie Multimediów JAVA. programowanie GUI. (AWT i Swing) [1]

Transkrypt:

Składnia Operatory komentarze // /* */ /** */ litery A.. Z, a.. z, \udddd dddd>00c0 identyfikatory pierwszy znak= _, lub litera, następne dodatkowo 0.. 9 liczby dziesiętne Ddddd (D 0) liczby ósemkowe 0dddd liczby szesnastkowe 0xddddd liczby rzeczywiste IEEE 754 (zapis z literami: E, F, D) znaki Unicode +-*/% operatory arytmetyczne! operatory logiczne ~ ^ operatory bitowe << przesunięcie w lewo >> przesunięcie w prawo z roszerzeniem znaku >>> przesunięcie w prawo z uzupełnieniem zerami < > <= >= ==!= porównania ++ -- inkrementacja i dekrementacja =+=-=*=/= podstawienia = = ^= %= podstawienia <<= >>= >>>= podstawienia? : wyrażenie warunkowe (){[];,. inne 1% 3% Znaki specjalne \n NL - nowa linia \ kontynuacja \r CR - początek wiersza \\ back slash \t HT - tabulator \ apostrof \f FF - nowa strona \" cudzysłów \ddd znak o kodzie ósemkowym ddd \xdd znak o kodzie szenastkowym dd \udddd znak kodu Unicode dddd typ byte short int long float double char boolean Typy proste opis 8 bitowa liczba ze znakiem 16 bitowa liczba ze znakiem 32 bitowa liczba ze znakiem 64 bitowa liczba ze znakiem 32 bitowa liczba rzeczywista ze znakiem 64 bitowa liczba rzeczywista ze znakiem 16 bitowy znak kodu Unicode wartość logiczna true lub false 2% 4%

Wartości początkowe Inicjalizatory 0, null, false. public static final STAŁA=17 Przykłady: math.pi Color.red Color.blue Stałe class Abc { static int arr[] = new int[7]; static {... // inicjalizator Abc() {... // konstruktor int a = 3 * b; // błąd!! int b = 4; int c = 3 * d; // OK static int d = 5; 5% 7% Opakowania (wrappers) typy: Integer, Long, Float, Double, Character, Boolean Przykłady: Integer I = new Integer(123); Character CH = new Character( z ); Double D = I.doubleValue(); String s = I.toString(); StringBuffer buff; double d = Double.valueOf(buff.toString()).doubleValue(); Tablice int[] a; int a[]; byte[] f(int n); byte f(int n)[]; for (i=0; i<a.length; i++) { a[i]=i; char[][]x = new char[14][]; x[0] = new char[7]; 6% 8%

Hierarchia klas tablicowych Object int[] Array float[] A[] B[] A B public private protected (bez niczego) Zakres dostępu Dowolna klasa niezależnie od tego do jakiego pakietu należy ma prawo dostępu do zmiennych zdefiniowanych jako publiczne. Tylko obiekty klasy, która zdefiniowała tą zmienną mają prawo dostępu do niej. Nawet obiekty klas potomnych nie będą miały dostępu. Tylko obiekty klas definiujących zmienną i obiekty klas potomnych mają prawo dostępu. Zmienna jest dostępna bez ograniczeń w ramach pakietu. (Jest to zakres domyślny.) 9% 11% Klasy /** Komentarz dokumentacyjny */ public class Klasa extends Superklasa implements Interfejs { Klasa() { super(17);... Klasa(int i) { this(); j=i;... void finalize() {... static public void main(string[] args) {... final abstract native synchronized Modyfikatory Nie można zdefiniować klas potomnych. Nie można tworzyć obiektów danej klasy. Metoda zaimplementowana w innym języku. Klasa jest jest monitorem Hoare. 10% 12%

Dziedziczenie Najczęściej używane klasy bazowe: Object tylko elementarne własności Applet aplety dla WWW Thread wątki współbieżne Panel interfejsy użytkownika Instrukcje if (...)... else... switch (..) { case..:... default:... break...; continue...; return...; for (...;...;...)... while (...)... do... while (...); 13% 15% metody zmienne Interfejsy public abstract final public static interface Superinterfejs { public int f(); interface Interfejs extends Superinterfejs {... class Klasa implements Interferjs { public int f() {... Wyjątki class UjemnyWyjątek extends Exception {... int f(int i) throws UjemnyWyjątek { if (i < 0) throw new UjemnyWyjątek... try { f(k); catch (UjemnyWyjątek e) { 14% 16%

Łańcuchy StringBuffer sb = new StringBuffer( "Cześć!" ); String s = sb.tostring(); char c; while ((c = (char) System.in.read())!= -1) sb.appendchar(c); Wątki class X implements Runnable { public void m() { Thread t = new Thread(); t.target = this; t.start(); public void run() { // treść wątku 17% 19% Wątki Prosty program start() stop() suspend() resume() sleep() wait() notify() notifyall() uruchomienie wątku zakończenie działania wątku zawieszenie wątku wznowienie wątku zawieszenie się wątku na określony czas oczekiwanie na zdarzenie wygenerowanie zdarzenia poinformowanie wszystkich wątków class Echo { static public void main(string args[]) { int i = 0; while (i < args.length) { System.out.println("Arg[" + i + "]=" + args[i++]); 18% 20%

Najprostszy aplet - plik HTML Prosty program - rezultaty dss<jurek>(98) javac Echo.java dss<jurek>(99) java Echo a1 b2 c3 Arg[0]=a1 Arg[1]=b2 Arg[2]=c3 <HTML> <HEAD> <TITLE> A Simple Program </TITLE> </HEAD> <BODY> Here is the output of my program: <APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25> </APPLET> </BODY> </HTML> 21% 23% Najprostszy aplet Najprostszy aplet - rezultat import java.applet.applet; import java.awt.graphics; dss<jurek>(99) appletviewer HelloWorld.html public class HelloWorld extends Applet { public void paint(graphics g) { g.drawstring("hello world!", 50, 25); 22% 24%

Cykl życiowy apleta AWT Akcja metoda class Component { public void repaint() { przeglądarka pobiera aplet użytkownik otwiera stronę użytkownik opuszcza stronę użytkownik opuszcza przeglądarkę init() start() stop() destroy() class XXX extends Component { repaint() public void paint(graphics g){ 25% 27% Program - aplet public class Świder extends Applet { public void init() { resize(200,60); public void paint(graphics g) {... public static void main(string args[]) { Świder s = new Świder(); s.init(); Frame f = new Frame("Ni pies ni wydra"; f.resize(200,60); f.add("center", s); f.show(); BorderLayout CardLayout FlowLayout GridLayout GridBagLayout Układacze 26% 28%

BorderLayout CardLayout 29% 31% BorderLayout CardLayout import java.awt.*; import java.applet.applet; import java.awt.*; import java.applet.applet; public class Border extends Applet { public void init() { setlayout(new BorderLayout()); add("north", new Button("North")); add("south", new Button("South")); add("east", new Button("East")); add("west", new Button("West")); add("center", new Button("Center")); 30% public class Card extends Applet { Panel w = new Panel(); public void init() { Choice c = new Choice(); w.setlayout(new CardLayout()); w.add("one", new Label("jeden")); c.additem("one"); w.add("two", new Label("dwa")); 32%

c.additem("two"); w.add("three", new Label("trzy")); c.additem("three"); add(c); add(w); public boolean action(event evt, Object arg) { if (evt.target instanceof Choice) { ((CardLayout)w.getLayout()).show(w,(String)arg); return true; return false; 33% FlowLayout import java.awt.*; import java.applet.applet; public class Flow extends Applet { Button raz, dwa, trzy; public void init() { raz = new Button("Raz"); dwa = new Button("Dwa"); trzy = new Button("Trzy"); add(raz); add(dwa); add(trzy); 35% FlowLayout GridLayout 34% 36%

GridLayout import java.awt.*; import java.applet.applet; public class Grid extends Applet { public void init() { setlayout(new GridLayout(3,2)); add(new Button("1")); add(new Button("2")); add(new Button("3")); add(new Button("4")); add(new Button("5")); add(new Button("6")); 37% GridBagLayout 38%