Top Banner
<<DB_Language.ppt >> Database 實實實實實實實實實 Java
32

> Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Jan 17, 2016

Download

Documents

Steven Boone
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

<<DB_Language.ppt>>

Database 實驗室專用程式語言

Java

Page 2: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 2

Outline

Programming language chaos

一小時精通 Java 不是夢Java 環境設定

Page 3: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 3

Laguage 的戰國時代

Delphi

Delphi

C

Basic

C++

Pascal

C

Java

Delphi

Page 4: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 4

基本型態 & 運算式boolean

char 16-bit

byte 8-bit

short 16-bit

int 32-bit

long 64-bit

float 32-bit

double 64-bit

void

if…else

while

do…while

for loop

switch…case

++ 、 --

< 、 <= 、 > 、 >=

== 、 !=

&& 、 || 、

Page 5: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 5

Say Hello in C

// Hello.c

#include <stdio.h>

int main(int argc, char* args[])

{

printf(“Hello!\n”);

return 0;

}

Page 6: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 6

Class 類別

// Hello.java

public class Hello {

// …

}

Class 的宣告方式

檔案名稱必須和有 public 修飾字宣告的類別名稱一樣。

Page 7: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 7

Say Hello in Java

// Hello.java

import java.lang.*;

public class Hello {

public static void main(String[] args) {

System.out.println(“Hello!”);

}

}

Page 8: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 8

Java 編譯器javac.exe

% lsHello.java

% javac Hello.java

% lsHello.class Hello.java

% lsHello.java

% javac Hello.java

% lsHello.class Hello.java

Page 9: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 9

Java 直譯器java.exe

啟動虛擬機器執行應用程式

% lsHello.class

% java HelloHello!

%

% lsHello.class

% java HelloHello!

%

Page 10: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 10

Fibonacci Sequence

otherwise

nif

nFibnFib

nnFib

2

)1()2()(

0 1 2 3 4 5 6 7 8 9 10 …

0 1 1 2 3 5 8 13 21 34 55 …

0 1 2 3 4 5 6 7 8 9 10 …

0 1 1 2 3 5 8 13 21 34 55 …

Page 11: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 11

Solution in C

// Fibonacci.c

#include <stdio.h>

int fib(int n)

{

if (n < 2)

return n;

else

return fib(n-2) + fib(n-1);

}

Page 12: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 12

Fibonacci (Cont.)

// Fibonacci.c (cont.)

int main(int argc, char* args[])

{

printf(“%d\n”, fib(10)); // 55

return 0;

}

Page 13: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 13

Solution in Java

// Fibonacci.java

import java.lang.*;

public class Fibonacci {

static int fib(int n) {

if (n < 2)

return n;

else

return fib(n-2) + fib(n-1);

}

// cont…

Page 14: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 14

Fibonacci (Cont.)

// Fibonacci.java (cont.)

public static void main(String[] args) {

System.out.println(fib(10)); // 55

}

} // end class

Page 15: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 15

Global Variable in C

// Global.c

#include <stdio.h>

int myScore = 0;

void increment() {

myScore = myScore + 1;

}

void incrementByTwo() {

myScore = myScore + 2;

}

Page 16: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 16

Global in C (Cont.)// Global.c (cont.)

int main(int argc, char* args[])

{

increment();

printf("myScore = %d\n", myScore);

// myScore = 1

incrementByTwo();

printf("myScore = %d\n", myScore);

// myScore = 3

}

Page 17: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 17

Global Variable in Java// Global.java

import java.lang.*;

public class Global {

static int myScore = 0;

static void increment() {

myScore = myScore + 1;

}

static void incrementByTwo() {

myScore = myScore + 2;

}

// cont…

Page 18: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 18

Global in Java (Cont.)

// Global.java (cont.)

public static void main(String[] args) {

increment();

System.out.println("myScore = " + myScore);

incrementByTwo();

System.out.println("myScore = " + myScore);

}

} // end class

Page 19: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 19

struct in C

// Person.c

#include <stdio.h>

struct Person

{

int height;

int weight;

};

// cont…

Page 20: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 20

Struct in C (Cont.)

// Person.c (cont.)

int main(int argc, char* args[])

{

struct Person Jordan;

Jordan.height = 198;

Jordan.weight = 90;

printf("Height is %d\n", Jordan.height);

// Height is 198

printf("Weight is %d\n", Jordan.weight);

// Weight is 90

return 0;

}

Page 21: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 21

class in Java

// PersonTest.java

import java.lang.*;

class Person {

int height = 0;

int weight = 0;

}

// cont…

Page 22: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 22

class in Java// PersonTest.java (cont.)

public class PersonTest {

public static void main(String[] args){

Person Jordan = new Person();

Jordan.height = 198;

Jordan.weight = 90;

System.out.println("Height is " +

Jordan.height); // Height is 198

System.out.println("Weight is " +

Jordan.weight); // Weight is 90

}

} // end class

Page 23: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 23

Types in Java

基本型態 (primitive type)

參考型態 (reference type)物件陣列

int grade = 89;

double PI = 3.14159;

Page 24: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 24

建立與操控物件You must create all objects.

String son = new String(“Peter”);

You manipulate objects with reference.String son = new String(“Peter”);

int i = son.indexOf(“t”); // i = 2

物件和 reference 之間的關係,好比電視和遙控器之間的關係一樣。物件和 reference 之間的關係,好比電視和遙控器之間的關係一樣。

referencereference StringString

Page 25: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 25

基礎型別的 Array

C

int grades[10];

grades[0] = 99;

grades[1] = 72;

int[] grades = new int[10];

grades[0] = 99;

grades[1] = 72;

Java

Java 中陣列的名稱只是一個 reference

Java 中陣列的名稱只是一個 reference

Page 26: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 26

Array of Objects

String bird = new String(“bird”);

String[] pets = new String[4];

pets[0] = “dog”;

pets[1] = new String(“fish”);

pets[2] = bird;

// pets[3] = null

物件陣列的 element 是指向該物件的 reference ,而不是物件的真正實體,每個 element 的預設值都是 null。物件陣列的 element 是指向該物件的 reference ,而不是物件的真正實體,每個 element 的預設值都是 null。

Page 27: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 27

Array of String 圖示

petspets

String[]

names[0]

names[1]

names[2]

names[3]

StringString

StringString

StringString

null

Page 28: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 28

陣列的建立與初始化int[] primes = {2, 3, 5, 7, 7+4}; // primes[4] = 11

String[] children = {“Peter”, new String(“Sunny”)};

匿名陣列 (anonymous array)

void setPets(String[] pets) { // … }

String dog = “Dog”;

setPets( new String[]

{“Bird”, new String(“Fish”), dog} );

Page 29: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 29

陣列的長度// ArrayLength.java

import java.lang.*;

public class ArrayLength {

public static void main(String[] args) {

showLength(new String[][] {

{"a", "b", "c"},

{"d", "e", "f"} } );

}

// cont…

Page 30: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 30

陣列的長度 (Cont.)// ArrayLength.java (Cont.)

static void showLength(String[][] letters) {

System.out.println("letters is " +

letters.length); // 2

System.out.println("letters[0] is " +

letters[0].length); // 3

System.out.println("letters[1] is " +

letters[1].length); // 3

}

} // end class

Page 31: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 31

陣列終極洗禮Java 視 array 為一個特殊的物件Java 使用 new 來配置陣列的實體Java 的 array 有一個專用的 field – length,用來表達陣列的長度

Page 32: > Database 實驗室專用程式語言 Java. Language - 2 Outline Programming language chaos 一小時精通 Java 不是夢 Java 環境設定.

Language - 32

Java 環境設定下載 Java Development Kit (JDK)

http://java.sun.com

設定 Java_Home 環境變數更新 PATH 環境變數

PATH=%PATH%;%JAVA_HOME%\bin;