Presentation is loading. Please wait.

Presentation is loading. Please wait.

Java Introduction 密碼學與應用 海洋大學資訊工程系 丁培毅.

Similar presentations


Presentation on theme: "Java Introduction 密碼學與應用 海洋大學資訊工程系 丁培毅."— Presentation transcript:

1 Java Introduction 密碼學與應用 海洋大學資訊工程系 丁培毅

2 Download JDK

3 Java Program Development IDEs
Eclipse, Eclipse IDE for Java Developers, 151 MB Apache Ant, Apache Maven, Or simply notepad++ and cmd.exe (javac and java) jdk7u40.bat or modify 系統內容/進階/環境變數 @echo off set path=%path%;c:\progra~1\java\jdk1.7.0_40\bin set classpath=.;c:\progra~1\Java\jdk1.7.0_40\src.zip @echo on

4 Java Programs Programs are built from classes
Classes define data storages and behaviors of objects (class instances) data structure of an object defined by data members behavior of an object are defined by methods that manipulate the data members.

5 HelloWorld.java class HelloWorld {
public static void main(String[] arg) { System.out.println("Hello World"); } Compiling: javac HelloWorld.java Executing: java HelloWorld

6 Factorial.java factorial(21) overflows a 64-bit integer (long)
java.math.BigInteger supports arbitrarily long integers (java.math.BigDecimal supports arbitrarily long real numbers) import java.math.BigInteger; class BigFactorial { public static void main(String[] args) { BigInteger fact = new BigInteger("1"); for (int i=1; i<60; i++) { fact = fact.multiply(BigInteger.valueOf(i)); System.out.println(fact); }

7 Comments Three forms /* comment */ // comment to end of line
/** documentation comment for javadoc tool */ all characters in Java programs are unicode (16 bit)

8 Constants examples static final int face = Suit.DIAMONDS; class Suit {
static final int CLUBS = 1; static final int DIAMONDS = 2; static final int HEARTS = 3; static final int SPADES = 4; }

9 Control Flow & Operators
control statements mostly cloned from C++ differences: boolean type requires operands of &&, || etc. to be boolean while(1) not OK…while(true) is fine + is string concatenation I/O is not like C++ arrays are not like C++

10 Classes and Objects Fields are data variables associated with a class or with instances of the class primitive data (int, double, …) object data ( BigInteger r ) Methods provide execution behavior and operate on the data fields Classes and Interfaces can be members of other Classes or Interfaces.

11 Interfaces Interfaces define the methods that may be used but do not specify instance storage. interface ConstAccount { double getBalance(); } class Account implements ConstAccount { double d_ = 0.0; void setBalance(double d) {d_ = d;} double getBalance() { return d_;}

12 Creating Objects Objects are primitive or user defined.
Primitive objects are by value, user defined objects are references. User defined Objects are created with constructors and the “new” keyword. Point center = new Point(4.0,5.9);

13 Static fields static fields in a class or interface belong to the class. If there are instances of a class with static data fields then all instances share the static data fields static methods are invoked using the class name.

14 Garbage Collection When there are no active references to an object storage is automatically reclaimed by a garbage collector thread running in the background.

15 Methods and Parameters
methods operate on the data fields of a class. methods have zero or more parameters and may return values or be void. a methods name, number of parameters and their type make up the signature of the method. two methods may share a name if they have different signatures.

16 Invoking a method a non-static method is invoked using an object of the class and the “dot” operator. Point p = new Point(3.2,3.3); p.clear(); the object on which the method is invoked is the “receiver”. The method is a “message” to the object.

17 “this” the keyword “this” refers to the current receiving object.
public void clear() { this.x = 0.0; y = 0.0; // this is assumed }

18 Arrays An array is a collection of variables of the same type
Card [] deck = new Card[52]; for (int i = 0; i < deck.length; i++) { deck[i] = . . .

19 Strings String objects are immutable objects.
String myName = “W. H. Carlisle”; System.out.println( myName + “ III”); Use stringBuffer objects if you wish to manipulate the storage. there are methods that can be invoked on string objects. myName.length()

20 Inheritance Classes may extend other classes.
variables of a subclass with the same name as those of a superclass shadow the superclass storage. a method of a subclass with the same signature as that of a superclass overrides the superclass method. objects of a subclass may be used in superclass variables.

21 Inheritance if a method is overridden, the keyword “super” refers to the superclass. Classes may extend only one class. If a class does not extend a class by default it extends the class Object. A class may implement many interfaces.

22 Exceptions The exception mechanism of Java is very similar to that of C++ try { } catch( Exception e) { } if a method throws a “checked” exception the compiler requires that a handler catch the exception or that the invoking method also indicates that it also throws the exception. a “finally” block may follow “catches” to close files, etc.

23 Packages packages are Java’s way to manage name spaces.
Packages are implemented as directories within a file system. When package names must span systems, the common practice is to reverse the internet domain name import COM.Sun.games; import is not inclusion and is only for the compiler. Class paths are used to find the class information at run time.


Download ppt "Java Introduction 密碼學與應用 海洋大學資訊工程系 丁培毅."

Similar presentations


Ads by Google