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

Java rychlokvaška pro PDB

  • Upload
    kieu

  • View
    55

  • Download
    0

Embed Size (px)

DESCRIPTION

Java rychlokvaška pro PDB. [ http://java.sun.com/ ]. 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 ]. Jazyk Java. - PowerPoint PPT Presentation

Citation preview

Page 1: Java  rychlokvaška pro  PDB

1 / 12

Petr Chmelař

UIFS FIT VUT

JAVA

pro PDB

Kafe?

Jako C++

Zrníčka

Java

rychlokvaška pro PDB

[ http://java.sun.com/ ]

Page 2: Java  rychlokvaška pro  PDB

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 ]

Page 3: Java  rychlokvaška pro  PDB

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í …

Page 4: Java  rychlokvaška pro  PDB

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

Page 5: Java  rychlokvaška pro  PDB

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/

Page 6: Java  rychlokvaška pro  PDB

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++

Page 7: Java  rychlokvaška pro  PDB

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

Page 8: Java  rychlokvaška pro  PDB

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

}

}

}

Page 9: Java  rychlokvaška pro  PDB

9 / 12

Petr Chmelař

UIFS FIT VUT

JAVA

pro PDB

Kafe?

Jako C++

Zrníčka

Zrníčka

Page 10: Java  rychlokvaška pro  PDB

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/

Page 11: Java  rychlokvaška pro  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();

Page 12: Java  rychlokvaška pro  PDB

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

Page 13: Java  rychlokvaška pro  PDB

13 / 12

Petr Chmelař

UIFS FIT VUT

JAVA

pro PDB

Kafe?

Jako C++

Zrníčka

Díky

Otázky?