Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

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

Podobné prezentace


Prezentace na téma: "Petr Chmelař UIFS FIT VUT JAVA pro PDB Kafe? Jako C++ Zrníčka 1 / 12 Java rychlokvaška pro PDB [ ]http://java.sun.com/"— Transkript prezentace:

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

2 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 [ http://dione.zcu.cz/java/sbornik.html ]http://dione.zcu.cz/java/sbornik.html

3 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 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 5 Javadoc /** * Returns an Image object that can then be painted on the screen. * The url argument must specify an absolute {@link URL}. * * This method … @throws * * @param url an absolute URL giving the base location of the image * @return the image at the specified URL * @see Image */ public Image getImage(URL url) { try { … } catch (MalformedURLException e) { return null; }  Komentuje se: Class, function(), package.html, overview.html http://java.sun.com/j2se/javadoc/writingdoccomments/

6 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 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 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."); }

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

10 10 Odkazy  Tutoriál [cz] http://dione.zcu.cz/java/sbornik.html http://dione.zcu.cz/java/sbornik.html  Thinkink in Java (Bruce Eckel) http://www.mindviewinc.com/Bruce Eckel http://www.mindviewinc.com/  Java by Sun http://java.sun.com/ http://java.sun.com/javase/6/docs/ http://java.sun.com/javase/6/docs/api/ (java.*, javax.*, org.*) http://java.sun.com/ http://java.sun.com/javase/6/docs/ http://java.sun.com/javase/6/docs/api/  Oracle Client a JDeveloper (oracle.*) http://www.oracle.com/technology/ http://www.oracle.com/technology/  Stránky PDB a http://www.fit.vutbr.cz/~chmelarp/pdb/ http://www.fit.vutbr.cz/~chmelarp/pdb/

11 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" + "@pcuifs1.fit.vutbr.cz:1521:stud" ); // 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 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();

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


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

Podobné prezentace


Reklamy Google