java rychlokvaška pro pdb
Post on 09-Jan-2016
55 Views
Preview:
DESCRIPTION
TRANSCRIPT
1 / 12
Petr Chmelař
UIFS FIT VUT
JAVA
pro PDB
Kafe?
Jako C++
Zrníčka
Java
rychlokvaška pro PDB
[ http://java.sun.com/ ]
2 / 12
Petr Chmelař
UIFS FIT VUT
JAVA
pro PDB
Kafe?
Jako C++
Zrníčka
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 ]
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 {@link URL}.
* <p>
* 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 / 12
Petr Chmelař
UIFS FIT VUT
JAVA
pro PDB
Kafe?
Jako C++
Zrníčka
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.javapackage 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 / 12
Petr Chmelař
UIFS FIT VUT
JAVA
pro PDB
Kafe?
Jako C++
Zrníčka
Zrníčka
10
Odkazy
Tutoriál [cz]
http://dione.zcu.cz/java/sbornik.html
Thinkink in Java (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.*)
Oracle Client a JDeveloper (oracle.*)
http://www.oracle.com/technology/
Stránky PDB a
http://www.fit.vutbr.cz/~chmelarp/pdb/
11
JDBC Connectionset 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
… 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 / 12
Petr Chmelař
UIFS FIT VUT
JAVA
pro PDB
Kafe?
Jako C++
Zrníčka
Díky
Otázky?
top related