Petr Chmelař UIFS FIT VUT JAVA pro PDB Kafe? Jako C++ Zrníčka 1 / 12 Java rychlokvaška pro PDB [ ]http://java.sun.com/

Slides:



Advertisements
Podobné prezentace
Základy programování v JavaScriptu
Advertisements

Seminář C++ 5. cvičení Dědičnost Ing. Jan Mikulka.
Funkce Připomeňme si program pro výpočet faktoriálu:
Pole, ukazatele a odkazy
PJV151 Vnořené a vnitřní členy mohou být členy tříd a interfejsů. Je-li X obalem Y a Y je obalem Z, pak Z získá jméno X$Y$Z - kompilací vzniknou classy.
Počítače a programování 1. Obsah přednášky Výjimky - základní typy výjimek Způsoby zpracování výjimek.
4IT1014IT101 Pátá přednáška Datové struktury - pokračování Statické prvky třídy.
Polymorfismus Dědičnost
Databázové systémy II Přednáška č. 6 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Druhé cvičení Vytváření identifikátorů Datové typy
Čtvrté cvičení Objektové programování Objektový model v Javě
Desáté cvičení Java Core API Java Collection Framework JavaDoc.
Programování v Pascalu Přednáška 7
Materiály k přednášce Úvod do programování Ondřej Čepek.
Větvení cykly J a v a Začínáme programovat Lucie Žoltá.
J a v a Začínáme programovat Lucie Žoltá metody, objekty, konstruktor.
J a v a Začínáme programovat Lucie Žoltá. Odkazy - oficiální stránky (překladače, help, metody, vývojové prostředí NetBeans,...)
4IT101 7.přednáška Třída String a regulární výrazy Algoritmy v kolekcích Vnitřní a vnořené třídy.
Třída jako zdroj funkcionality
Softwareová architektura
Procedurální rozšíření Transact SQL Michal Kopecký Výběr ze slajdů k 3. přednášce předmětu Databázové Aplikace (DBI026) na MFF UK.
Identity Field Radim Veselý ČVUT v Praze Radim Veselý ČVUT v Praze Michal Kouřík ČVUT v Praze
Jedenácté cvičení Vlákna. Java cv112 Vlákna Operační systém Mutitasking – více úloh se v operačním programu vykonává „současně“ Java Multithreading -
Seminář C cvičení Obsluha výjimek Ing. Jan Mikulka.
Alg91 Textové soubory Na rozdíl od jiných typů souborů jsou textové soubory určené pro gramotné lidské oko. Textový soubor je posloupnost znaků členěná.
Počítače a programování 1
KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající.
C# - předávání parametrů Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
ZADÁNÍ Sestavte program, který vypočítá obvod a obsah čtverce o straně a. Zajistěte, aby výpočet byl realizován pouze v případě, kdy strana a bude mít.
Návrh a tvorba WWW Cvičení 5
Dědičnost - inheritance dědičnost je jednou z forem znovupoužitelnosti dědičnost je jednou z forem znovupoužitelnosti B A Třída A je předkem třídy B Třída.
OSNOVA: a) Příkazy pro větvení b) Příkazy pro cykly c) Příkazy pro řízení přenosu d) Příklad Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
JAVA Tutoriál Ing. Lumír Návrat, A1018 Tel:
Šesté cvičení Výjimky Balíky.
Dynamic SQL P. Částek. Dynamic SQL Embedded SQL je překládaný preprocesorem => za běhu nelze nechat uživatele rozhodovat o vzhledu samotných SQL příkazů.
Netrvaloppa21 Vytvořte třídu Student pro reprezentaci struktury student na ZČU. Atributy třídy budou fakulta a osobniCislo. Název třídy: Student proměnné.
POSLOUPNOST úkol 1_41. ZADÁNÍ Sestavte program, který doplní tabulku nepřímé úměrnosti pro hodnoty proměnné x = 1, …, n. Nepřímá úměrnost je zadána uživatelem.
PJV031 Přetypování (casting) Objekty, atributy, lokální proměnné, parametry a návratové hodnoty metod mají definovaný, neměnný typ. Jsou dva druhy typů:
PJV011 X36PJV ( Programování v JaVě ) Cílem předmětu je probrat: - základy jazyka a systému Java - nejdůležitější standardní balíčky (packages j2sdk) Organizace.
Počítače a programování 1 7.přednáška. Základy Pole ve třídách a metodách Pole Arrays.
FEL Komunikátor. Memory Leak program konsumuje operační paměť, kterou neumožňuje uvolnit o uvolnění paměti stará Garbage Collector ▫plně v režii Java.
Pokročilé programování v C++ (část B)
Factory Method. Motivace – tisk Knihovna tiskne dokumenty do pdf File Open() Close() Print() PresentationWritingDrawing Knihovna tiskne obrázky do pdf.
PŘÍKAZ while úkol 1_42.
ZÁKLADNÍ POJMY. ZDROJOVÝ TEXT PROGRAMU Tvoří: klíčová slova komentáře identifikátory.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část I.
Kam se ubírá jazyk C#? Dr. Ing. Dalibor Kačmář Academic Developer Evangelist Developer & Platform Evangelist Group Microsoft Czech & Slovakia Anders Hejlsberg.
Počítače a programování 1 2.přednáška. Základní lexikální struktura programu Program v jazyce Java je tvořen symboly a oddělovači Program Java je psán.
Počítače a programování 1
NEÚPLNÁ PODMÍNKA V JAVĚ úkol 1_26. ZADÁNÍ Napište zdrojový kód k zadanému vývojovému diagramu.
Strategy. Motivace Různé algoritmy pro stejnou akci Hromada kódu v mnoha podmínkách Důsledky  Komplexnost  Špatná čitelnost  Těžká správa kódu  Těžka.
Proxy. Popis  Klient má přístup k nějakému objektu  Potřebujeme tento přístup ošetřit, aniž bychom přidělali klientovi práci Kontrola přístupu Vzdálený.
FUN WITH C# EPISODE XIII INTERFACES STRIKE BACK CLI Type System All types Reference types (allocated on managed heap) PointersValue types (allocated.
Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY Datové typy a operátory Základní programové.
Proxy. Proxy poskytuje bariéru mezi klientem a reálnou implementací.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA: Objektově orientované.
PJV15 1 Vnořené ( nested ) a vnitřní ( inner ) členy Třídy či interfejsy mohou být členy tříd či interfejsů. Je-li X obalem Y a Y obalem Z, pak Z získá.
Y36PJC Programování v jazyce C/C++
Dotazovací jazyk SQL - III
Y36PJC Programování v jazyce C/C++
Generické typy jsou třídy či interfejsy deklarující tzv. typové parametry jimiž: systematizují typovou kontrolu kompilátorem, vyjadřují jasněji smysl,
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ
R nejen v SQL Serveru Jiří Neoral BI Data Architect
Bridge.
Reflexe jako introspekce
C# přehled vlastností.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně
Výčtové typy ( Java 5 ) Výčtové typy jsou speciální třídy zavedené pro větší bezpečí a pohodlí. V nejjednodušší variantě se definují příkladmo takto:
Transkript prezentace:

Petr Chmelař UIFS FIT VUT JAVA pro PDB Kafe? Jako C++ Zrníčka 1 / 12 Java rychlokvaška pro PDB [ ]

Petr Chmelař UIFS FIT VUT JAVA pro PDB Kafe? Jako C++ Zrníčka 2 / 12 Kafe?  Java [en] = Kafe [cz] (hovor.)  Jazyk…  Překládá se na bytecode, který je interpretován JVM - kompilátor není JIT (obvykle)  Java API knihovny [ ]

3 Jazyk Java  OO, jako C++ (ale hezčí).  V Javě neexistuje přímý a nekontrolovaný přístup do paměti (referenční proměnné, kontrola při indexaci polí)  Java neobsahuje preprocesor, není povoleno přetěžování operátorů, jednotný zápis pro přístup k objektům i knihovnám  Statická typová kontrola (norma IEEE). Stejný výsledek v různých OS, používá Unicode  Použití vyjímek, bez vyjímky!  Prostředky pro paralelní běh částí programu (multithreading)  Dynamické a distribuované aplikace – update za běhu aplikace  Bezpečnost aplikací …

4 Konvence  Zarovnání kódu (tab)!  Třídy, rozhraní a konstruktory - identifikátor začíná vždy velkým písmenem String, StringBuffer  Metody a proměnné - identifikátor se skládá z malých písmen reader, getSize()  Balíky (packages) - identifikátor se skládá jen z malých písmen, ve složených jménech je oddělovačem tečka java.io  Konstanty - identifikátor z velkých písmen. MAX_VALUE

5 Javadoc /** * Returns an Image object that can then be painted on the screen. * The url argument must specify an absolute URL}. * * This method * url an absolute URL giving the base location of the image the image at the specified URL Image */ public Image getImage(URL url) { try { … } catch (MalformedURLException e) { return null; }  Komentuje se: Class, function(), package.html, overview.html

Petr Chmelař UIFS FIT VUT JAVA pro PDB Kafe? Jako C++ Zrníčka 6 / 12 Jako C++  OO  Objekt jako instance třídy…  Syntaxe  jako C++

7 Jazyk…  Jako C++ (ale hezčí)  Operátory jako C++ (ale pouze rozšiřující auto přetypování)  Programové struktury jako C++ if, switch, for, do, while, break, continue, return try, catch, finally, throw synchronized  Datové typy = třídy (Integer, String, InputStream, Image…) mimo: byte, short, int, long, char (Unicode), float, double, boolean  Pole: int[][][] pole = new int[10][5][];  Referenční typ objekt: … (new, null, this, super) (mimo interface, implements, abstract, final) >>>

8 Program.java package client; import java.io.*; /** Třída… */ public class Program { // extends Applikace protected static int pocetProgramku; /** Constructor... */ public Program() { // super()... } // neexistuje destruktor! … protected void finalize() throws Throwable /** main()... */ public static void main(String[] args) { Program prvni = new Program(); if (args.length != 0) { for (int i = 0; i < args.length; i++) System.out.println("Parametr[" + i + "] = " + args[i]); } else { System.out.println("Nebyly zadány žádné parametry."); }

Petr Chmelař UIFS FIT VUT JAVA pro PDB Kafe? Jako C++ Zrníčka 9 / 12 Zrníčka

10 Odkazy  Tutoriál [cz]  Thinkink in Java (Bruce Eckel) Eckel  Java by Sun (java.*, javax.*, org.*)  Oracle Client a JDeveloper (oracle.*)  Stránky PDB a

11 JDBC Connection set CLASSPATH=%ORACLE_HOME%\jdbc\lib\ojdbc14.jar; %ORACLE_HOME%\sqlj\lib\runtime12.jar; import java.sql.Connection; import java.sql.SQLException; import java.sql.DriverManager; import java.sql.Statement; import java.sql.PreparedStatement; import java.sql.ResultSet; import oracle.jdbc.OracleResultSet; import oracle.jdbc.OraclePreparedStatement; // register the oracle jdbc driver with the JDBC driver manager DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); // connect pcuifs1.fit.vutbr.cz Connection conn = DriverManager.getConnection("jdbc:oracle:thin:login/password" + ); // note: set the autocommit to false for BLOBs (2-phase select-commit). conn.setAutoCommit(false); // create a JDBC Statement object to execute SQL in the database Statement stmt = conn.createStatement();

12 … JDBC // retrieve the next value in the sequence order String SQLquery = "SELECT my_sequence.nextval FROM dual"; OracleResultSet rset = (OracleResultSet)stmt.executeQuery(SQLquery); rset.next(); int nextval = rset.getInt("nextval"); // retrieve the next value in the sequence order String updateSQL = "UPDATE image_table SET name=?, width=? where id=" + nextval; OraclePreparedStatement opstmt = (OraclePreparedStatement)conn.prepareStatement(updateSQL); opstmt.setString(1, imageName); opstmt.setInt(2, imageWidth); opstmt.execute(); opstmt.close(); // commit all our changes conn.commit();

Petr Chmelař UIFS FIT VUT JAVA pro PDB Kafe? Jako C++ Zrníčka 13 / 12 Díky Otázky?