1.System.in

2.Scanner

3.array

4.Constructor

5.java.lang ,java.io , java.util ,java.sql

System.in:

System class is included in java.lang ,

the ability of system.in included "stadard input and standard output...etc".

System.in can be used in inputstram.

 但我們很少直接使用System.in,因為System.in中所提供的read() method,

是取得一個位元組的資料,並return這個位元組的整數值.

Scanner:

如果我們要取得使用者的輸入,

可用Scanner input = new Scanner(System.in);

但Scanner遇到space就會回傳,所以並無法回傳一整個包含空白的句子.

Array:

Because Java is a object language,

array need to be declared according to the form of object.

for example:

int a[];

a=new int[4];

Constructor:

Constructor 是做為當一個object被宣告時可自動執行的function,

His name is the same with his class.

其前面不可加public ,void...等用語.

java.lang ,java.io , java.util ,java.sql:

是最常被用到的4種package,

java.lang included "System","Thread",String"...etc

java.io 包含了一些input與output的類別.

java.util 有Scaner....etc

java.sql提供使用database的一些API..

 Empty Array的回傳值

若為String Array ,會回傳null , 若為int array ,則會回傳 0 .

 如何解決Java中讀取中文的問題:

在JAVA的Input串流中可以指定讀取資料的格式 , for example:

File f = new File("E:\\eclipse\\workspace\\box\\Data\\2003-3-7-100.inc");

InputStreamReader  read = new InputStreamReader (new FileInputStream(f),"UTF-8");

//java要讀取數據流的時候一定要指定數據流的編碼方式
BufferedReader reader=new BufferedReader(read)

 

Notepad++

Nppexec的安裝

安裝後須在執行介面下,加註以下兩行:

javac $(FILE_NAME)
java $(NAME_PART)

 

2011/1/11

1.使用Java進行網頁參數的傳遞

直接用Java在傳網頁參數時 , 若參數為中文字 , 必須要先將中文轉碼為UTF-8的格式.

Ex:
String str =URLEncoder.encode("苗栗","UTF-8");
String str_http = "http://placesearch.moi.gov.tw/translate/reviewed_words1.php?admip=&classname=&keyword=";

str_http = str_http.concat(str);

如此一來才可以抓到下中文參數後的網頁內容.

2011/1/12

Inheritance (繼承)

1.Child 可以繼承自parent處的所有member.(member指所有的variable以及method)

2.其中Child又稱subclass ,parent稱為superclass.

3.Child可以add new method或者new instance variable , Child也可以override來自superclass的method.

Package

Description : 可將compile後的結果放置在特定的data holder中 ,以方便管理.

Step: 

1.將每個java file前面加註這樣的指令 : package test.hello_world; 表是建立一個test 資料夾, 裡面再建一個hello_world的資料夾 ,

  而class檔就放在hello_world的data holder中.

2.compile時的指令與原本不同 ,為:javac -d . test.java 

   而如果要執行資料夾裡面的指令 ,則為:java test.hello_world.test

Eclipse

Ctrl + F11 : 快速執行程式

 

2011/1/16

用Scanner可以在讀取字串時自動以/n , /t , or space為間隔.

(使用next() , 但要配合hasNext()來使用)

example :


File f = new File(str);
InputStreamReader  read = new InputStreamReader (new FileInputStream(f),"UTF-8");
Scanner scan = new Scanner(read);

//  表示scanner將由read這個InputStreamReader裡面的資料進行Scan

讀取資料夾裡面的檔案

如FileReader fr = new FileReader(seg\\00001.seg);

要注意這裡的\\是兩個 , 而非一個.(因為\\表示印出一個\的character)

讀取資料夾裡面的檔案名稱

要讀取資料夾裡面的檔案名稱 , 首先要讀取目錄 ,此部份可以使用File f = new File(java)

來完成 .(其中java表示java這一個directory)

而在File class中有list這個method ,可以列出所有的directory中的檔案及目錄名稱.

(list method will return "String array")

for example:

File f = new File(java);

String[] str = new String[10];

str = f.list();

 

2011/01/17

使用class裡面的static method

只要將import 宣告為import static java.lang.Integer.*;

便可以直接使用Integer裡面中宣告為static 的method.

ex:

String str = "123";

int num = parseInt("123");

自定程式庫

在自定程式褲時 , 必須使用package的指令來建立資料夾,

若是自己健資料夾 , 再將class放到此資料夾中 , 會造成無法使用.

因為在java中 , 一開始是先從source file的所在處進行search ,

然後才是class path ,兩邊都找不到的話才會到指定的class中,

但是因為這個class是自己放進去的  , 所以並無package到此資料夾的路徑程式,

因此會被Java compiler認定為錯誤.

 

2011/01/25


Arrays.sort(int[]) , 將Array中的內容排序

使用java中所定義好的Arrays.sort ,可以直接幫我們將Array中的內容進行排序,

若a[0]=3 , a[1]= 10 , a[2]=4;

Arrays.sort(a);

即可排序成:a[0]=3 , a[1]=4 , a[2]=10;

 

2011/01/28

foreach

藉由foreach的語法 , 可以將array中每一個值依次指派給所宣告的變數.

for example:

for(int j:a) , 其中a為矩陣名稱 , 代表將a矩陣中的每一個值依次指派給j這個變數.

this指標

this指標其實就是指向自己這個object的指標.

假設有一個class 為ball ,而我們new出了兩個object ,分別為 b1 = new ball()

及b2=new ball();

因為method member在記憶體中只會有一個 , 所以會用this指標來註明這是屬於哪一個object的東西.

for example:

class ball

{

  int data;

  ball()

  {

    data =5;

    return data;

  }

}

在這裡的return data ,其實隱含了return this.data , 註明了這個data是屬於哪個object的東西. 

 

2011/01/29

Java Applet

Java Applet是一種可以內嵌在Html webpage中的Java program , 當我們使用browser瀏覽到某一個網頁,

而這個網頁具有java applet的程式時 , 這個applet的程式便會下載到browser中的JVM來進行執行 , 並且將

執行的結果顯示再browser上面.

Java Plug-in

Java plug-in是一種technology ,他可以在browser與Java platform之間建立一個連結 , 來幫助Java applet的程式

可以正常的執行在browser上.

Java Applet的compiler 與執行

Applet的程式在Compiler部分就像一般的Java program一樣 , 但是在執行時須以另外的方法執行,

我們必須撰寫一個Html file將這個Applet內嵌在檔案中 , 接下來便可以使用browser來觀看執行之後的結果,

Html的內容如下:

<html>
<applet code="WelcomeApplet.class" width=300 height=30>
</applet>
</html>

另外也可以使用appletviewer的指令來執行.

 

2011/01/30

用Java來讀取圖檔 , 並顯示圖檔

在Java上用來讀取圖檔的方式可以分為三種 , 一種是由檔案讀取 , 另一種則是由輸入串流來讀取,

而最後一種方法則可使用URL的方式來讀取.

以第一種方法而言 , 首先要宣告一個image object,

即 Image image =null;

File file = new File("test.jpg"); //開啟test.jpg這個圖檔.

image = ImageIO.read(file); // 以imageIO類別中的method來讀進此image file.

最後我們可以使用swing中的label類別來display這張image.

code如下:

Image image = null;
try {
    // Read from a file
    File file = new File("test.jpg");
    image = ImageIO.read(file);

    // Read from an input stream
    InputStream is = new BufferedInputStream(
        new FileInputStream("test.jpg"));
    image = ImageIO.read(is);

    // Read from a URL
    URL url = new URL("http://hostname.com/test.jpg");
    image = ImageIO.read(url);
} catch (IOException e) {
}

// Use a label to display the image
JFrame frame = new JFrame();
JLabel label = new JLabel(new ImageIcon(image));
frame.getContentPane().add(label, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
(ref :http://www.exampledepot.com , thanks the master of exampledepot)

 

arrow
arrow
    全站熱搜

    JerryCheng 發表在 痞客邦 留言(1) 人氣()