PIXNET Logo登入

英國旅遊-英國民宿, 倫敦遊記, 英國海外婚紗

跳到主文

個人生活筆記,網路搜集的趣聞趣事(UK B&B, 英國旅遊, 英國民宿, 倫敦民宿, 湖區民宿, 愛丁堡民宿,英國倫敦旅遊資訊:必玩大英博物館、倫敦鐵橋、大笨鐘、白金漢宮等著名倫敦景點,以及英國旅遊行程、購物美食等豐富倫敦旅遊資訊,整理英國旅遊, 英國民宿, UK B&B, 交通, 行程規劃, 住宿, 租屋, 地鐵, 火車, 國鐵,輕鬆搞定倫敦自由行,民宿選擇與推薦)


部落格全站分類:休閒旅遊

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 3月 31 週三 201012:50
  • Java講義7 -- 再喝咖啡, 再靠近一點

Java 雖然抄自 C++ 語言, 但是還是有許多改變需要注意。
* Java 的運算符號(operator)及其運算次序跟C++相同 (修正一些C/C++未規定清楚的), 
 且&&與||也有short cut evaluation(或稱short circuit或lazy evaluation)的特性。 
* Java 沒有指標, 保留了"參考"(reference), 但是一些規定跟C++ 也不太一樣。
 -- 八大原始型態(Primitive type) 的單一變數不能宣告出"參考"
   ==> 在C++中可以 long salary;  long& pay=salary; 使pay與salary參考同位址,
          再來寫 pay=38; 就如同寫 salary=38;
       但是在Java中沒有辦法這樣做。
 -- 事實上, 除了八大原始型態的單一變數外, 所有其它變數都是"參考",
   包括八大原始型態的array(陣列)變數也都是"參考"(即陣列是object)。
 -- 既然array是參考, 宣告時不能宣告它的size
   例如 int x[60]; 是錯的, 只能寫 int x[];  或 int[] x;
   之後再用如 x = new int[60];  使 x 參考到新建的 array object,
   當然宣告時也可以順便new啦, 如 int x[]= new int[60];
 -- 注意 int [] x, y;  相當於 int x[], y[];
 -- 複習:
      Java中任何東東(包括原始型態)的 array 一律為 object, 只是個"reference"
      就是說array和任何object宣告後並不會自動creat, 一定要用 new 才能生出來 
* 注意對"參考"所做的assignment是改變"參考", 不是改變其參考的物件!
 -- 例如假設已有 Student 這class,
       Student x = new Student("張三");
       Student y = new Student("李四");
       y = x;   // 這使 y 和 x 都參考到 "張三", 而"李四"就不見了!
   // 因為Java有Auto Garbage Collection的能力, "李四"所佔記憶體會被自動回收 
 -- 注意如上的 y=x; 是複製"參考"而已, 若你是要複製出另一份object,
   必須用clone() 這method, 例如:
      y = x.clone();
   這樣會複製出另一個"張三", 則y和x各參考到不同的object(不同的"張三")。
* 再注意對"參考"所做的比較也只是比較"參考"本身, 不是比較其參考到的object
 所以如果x, y 仍如上述的Student, 則
    if(x == y) ...   // 是說如果 x和y 參考到同一個 object ...
 -- 若是要比較其object 的內容是否相同, 須用equals() 這method, 例如:
    if(x.equals(y)) ... // object 之內容相同
* 八大原始型態(Primitive type) 都有對應的class, 如下:
       boolean  ==>   Boolean          byte     ==>   Byte
       char     ==>   Character        short    ==>   Short
       int      ==>   Integer          long     ==>   Long
       float    ==>   Float            double   ==>   Double
  (就是除了char對應Character還有int對應Integer外, 其它直接將第一字母大寫。) 
   所以必要時, 你可以將原始型態資料包裝成object (物件, 個體)。
* class, object, reference
 -- object(物件,物體) 是 class(類別) 的一個 Instance (範例, 案例)。
 -- reference(參考)可參考到object, 有點類似指標但不是指標, 不可對它作運算。 
 -- 萬海歸宗: Java 程式所有Class都源自 Object (沒寫extends就是extends Object)
 -- base class 的reference可以參考到它所演生出的class之object
 -- 在super class中除了帶有final的function外, 都為 virtual(用於Polymorphism)
* Class (static) variables vs. Instance variables
 -- class中帶有 static 的變數不附屬於任一object, 所以又稱 class 變數。
 -- 注意寫法跟 C++ 不同:
      C++ 中寫 Student::TOTAL 表示Student這class中的TOTAL這field
      Java 中要寫成 Student.TOTAL  (注意在此 Student 是 class)
 -- 不帶有static的變數使用時一定要配合object, 故稱Instance variables
 -- 常數就是帶有final的變數, 表示不可再被改變的變數; 不是用 const 這保留字。 
* Class (static) methods vs. Instance methods
 -- class中帶有 static 的函數(方法)不附屬於任一object, 所以稱 class method
 -- 注意使用時也是要寫成ClassName.method() 而不是 C++ 的 ClassName::method()
* 數學函數: java.lang.Math 這class提供很多常用的數學函數
 -- 包括abs, min, max, ceil, floor, round, random, sqrt 以及三角函數等。
 -- 還有PI值以及自然對數E兩個double常數(Math.PI 和 Math.E)。
(繼續閱讀...)
文章標籤

英國旅遊民宿推薦 發表在 痞客邦 留言(0) 人氣(24)

  • 個人分類:Java
▲top
  • 3月 31 週三 201012:21
  • Java講義 -- 再談 Java 的 繼承

(1) 此程式中有一列 super(999);
      第一個做出含該列以及不含該列之 running script
      並且正確說明有何不同的可以賺到期中考3分
  (2) 此程式改自以前給大家的man.C 之C++程式(Animal, Mankind 繼承範例)
      試著與之對照看看, (man.C 在/net/ftp/pub/CSIE/course/cs2/man.C )
      第一個正確列出C++和Java在這範例看出哪些不同規定的可以賺到期中考3分
  follow up 時注意你的引言形式
   1 //to test constructor / inheritance,    CopyLeft by tsaiwn@csie.nctu.edu.tw
   2 // this testM.java will generate three .class files; 也可拆成三個.java程式檔
   3 class Animal {
   4      int pv1;  //注意沒寫屬性並非"private", 是package available,此與C++不同
   5     private double pv2;
   6     protected int pt1[]={0,1,2,3,4};
   7     public float pb1;
   8     public int pb2[]={10, 11,12,13,14,15,16};
   9     public Animal(){ System.out.println("Animal pop out!");};
  10     public Animal(String x){ System.out.println("Animal String "+x);};
  11     public Animal(int x){
  12    pv1=x;  pv2=45.67;
  13    this.pb1=135.246f;
  14            System.out.println("Animal shows up");
  15     };
  16     void talk() {
  17            System.out.println("Animal talk, pv1="+pv1);
  18            System.out.println("\t pv2="+ pv2);
  19            System.out.println("\t pb1="+ pb1);
  20            System.out.println("\t pb2[6]="+ pb2[6]);
  21     };
  22 };
  23 class Mankind extends Animal{
  24       String pv3;
  25     public Mankind(String name) {  // Constructor
  26         super(999);  // TRY to COMMENT OUT this line and Test again
  27         pv3=name;    // .. 注意若沒寫super(999); 等於寫 super();
  28         System.out.println("Mankind "+ pv3 + " appears");
  29     }
  30     public int pb3[]={30,31,32,33,34,35,36,37,38};
  31     public void talk() {
  32        System.out.print("Mankind talk, pb2[0]=" + pb2[0]);
  33        System.out.println(", pv3=" + pv3 );
  34        System.out.println("Mankind talk, pt1[3]=" + pt1[3]);
  35        System.out.println("Mankind talk, pb3[3]=" + pb3[3]);
  36        System.out.println("              pv1="+pv1);
  37        // System.out.println("              pv2="+pv2); //error, 因private
  38     };
  39 }  // C++ 需要用 ";" 結束class, 但 Java 不必了
  40 public class testM{  // filename 必須與此public class 同名: testM.java
  41      static Animal a, aa1=new Animal(123), aa2= new Animal(456);
  42      static Mankind  mm1, mm2;  // object reference only, no object yet
  43    public static void main(String s[]){  //別忘了static且參數是String array
  44       System.out.println("Welcome to taste Java ---first let aa1 talk:");
  45       aa1.talk();
  46       mm1= new Mankind("Chang-3");
  47       mm2= new Mankind("Lee-4");
  48       System.out.println("mm1.pb1=" + mm1.pb1);
  49       System.out.print(" (Let mm1 talk)\n");     mm1.talk();
  50       System.out.print(" (and then DO  a=mm2; a.talk();)\n");
  51       a = mm2;    // 這是可以的, 因為 a 屬於 mm2 所屬的父類別(super class)
  52       a.talk();  // 仍會用 Mankind 裡的 talk(); 因Polymorphism 多型!
  53       System.out.print(" (and then DO  mm2=(Mankind)aa1; mm2.talk();)\n");
  54       mm2 = (Mankind) aa1;   // "cast" is required! 但仍會Runtime Exception
  55       //mm2.talk();
  56    }
  57 }   //(別告訴我說你到現在還不會將此篇存檔然後去掉line numbers)
(繼續閱讀...)
文章標籤

英國旅遊民宿推薦 發表在 痞客邦 留言(0) 人氣(25)

  • 個人分類:Java
▲top
  • 3月 31 週三 201012:17
  • Java講義 -- 補充 Java Applet 範例

Sample Java Applet
          第一杯熱咖啡 MyFirstCoffee.java tsaiwn@csie.nctu.edu.tw
-- Applet 程式要配合 HTML 檔讓Browser 由 Server 端抓到Browser端執行
    (當然要有內建 Java VM 之 瀏覽器) (可用 appletviewer <HTML_FILE> 測試)
1.) 先寫一個 Java 程式 MyFirstCoffee.java
        import java.applet.Applet;
        import java.awt.*;    // Graphics, Font, Color, ...
        public class MyFirstCoffee extends Applet {
                     ///////////// 注意檔名要與 Class 名相同
            String s;
            public void init() {
               s= getParameter("MSG");
            }
            public void paint(Graphics g) {
               if(s == null ) s= "Ha Ha Ha !\nHee Heeee!";
                     // 在appletviewer抓不到ㄟ,  阿只好 ...(bug?)
               g.clearRect(0, 0, getSize().width, getSize().height);
               g.setColor(Color.blue);  // 所有顏色常數是小寫 ! 怪哉?
               g.setFont( new Font("Courier", Font.BOLD, 32) );
               setBackground(Color.green); //這是Applet的method
               g.drawString("Hey You!", 44, 80 );
               g.setColor(Color.red);  // 所有顏色常數是小寫 ! 怪哉?
               g.drawRect(55, 160-32, 20*s.length() , 36);  // red
               g.setColor(Color.yellow);
               g.fillRect(57, 160-32+2, 20*s.length()-4 , 36-4);
               ///
               g.setFont( new Font("Courier", Font.PLAIN, 24) );
               g.drawString("s.length()="+s.length(), 60, 220);
               g.setFont( new Font("Courier", Font.BOLD, 32) );
               g.setColor(Color.magenta);  // magenta
               g.drawString(s, 60, 160 );
               g.setFont( new Font("標楷體", Font.BOLD, 32) );
               g.setColor(Color.orange);  // orange
               g.drawString(s, 60, 280 );
            }
        }
2.) 將該.java檔案用javac 編譯(compile)成為含bytecode的檔案MyFirstCoffee.class
   ccsun5 > /usr/local/jdk/jdk1.2.2/bin/javac MyFirstCoffee.java
3.) 再來寫一個配合的HTML網頁檔 test.html
      <HTML>
      <BODY>
         <HR width=66%>
         <APPLET code="MyFirstCoffee.class" width=580 height=320>
           <PARAM name="MSG" value="I am Big Head Lee 李大頭!"
           <param name="P2" value = "No use this time">
         </applet>
         <HR width=88%>
      <!-- 注意在 APPLET tag 中的class檔名大小寫要與你的 class 檔完全相同!
        --------------- -->
      </body>
      </html>
4.) 可以先用 JDK 所提供的 appletviewer 試試看:
   ccsun5 > /usr/local/jdk/jdk1.2.2/bin/appletviewer test.html
5.) 依照WWW Server(httpd)設定之規定把 test.html 和 MyFirstCoffee.class
   兩檔案一起放到適當的目錄, 然後到有Web瀏覽器(Browser, 如IE或Netscape)的
   電腦上瀏覽該 test.html 看看, 怎麼樣, 第一杯熱咖啡的滋味 :-)
(繼續閱讀...)
文章標籤

英國旅遊民宿推薦 發表在 痞客邦 留言(0) 人氣(1,292)

  • 個人分類:Java
▲top
1

最新文章

  • 裝飾花
  • 拿鐵拉花
  • 小物
  • 桌布
  • 睫毛膏
  • 法式檸檬塔
  • 抹茶原料
  • 披薩
  • 炒麵
  • 手工餅乾

熱門文章

  • (2)可憐我走不進妳的世界  2002-08-09 23:32:54
  • (3)e8917_900101  2003-03-14 04:48:34
  • (3)我不能...
  • (2)靠近 2004-06-14 01:40:08
  • (3)分合聚散 2005-03-09 09:24:28
  • (3)如果有這麼一個人... 2005-08-06 01:14:00
  • (12)2003年 12月12日 生日快樂
  • (11)2003 10/10 墾丁天氣晴
  • (3)我的思悸繫伴的我約定過的司機!
  • (5)一千多個日子

動態訂閱

文章分類

toggle 婚禮結婚 (1)
  • 婚禮準備 (3)
toggle 英倫生活 (3)
  • 寫在出發前 (11)
  • 前往英國 (7)
  • 生活在英國 (29)
toggle 旅遊行程規劃 (2)
  • 住宿證明 (0)
  • 行程規劃 (2)
toggle 訂票資訊 (3)
  • 火車訂票 (1)
  • 劇院訂票 (0)
  • 倫敦地鐵Travel Card (0)
toggle 英國必買特色禮物 (4)
  • 英國必買-食品 (2)
  • 英國必買-用品 (2)
  • 英國必買-精品名牌 (1)
  • 英國必買-特色商品 (0)
toggle 倫敦地鐵教戰手冊 (1)
  • 倫敦地鐵車站介紹 (0)
toggle 倫敦房屋出租 (2)
  • [民宿][租屋][短租]短期出租(1~7天) (0)
  • [民宿][租屋][房屋出租]長期出租(7天以上) (0)
toggle 民宿B&B資訊 (2)
  • 湖區民宿 (0)
  • 英國民宿B&B (2)
toggle 倫敦旅遊景點 (5)
  • 倫敦旅遊 (1)
  • 英格蘭北區 (0)
  • 英格蘭中央區 (0)
  • 英格蘭西南區 (0)
  • 英格蘭東南區 (0)
toggle 寫作 (4)
  • 【小說】 (100)
  • 心情日記(2010) (80)
  • 心情日記(2002) (100)
  • 心情日記(2004) (100)
toggle 設計大師 (1)
  • Painter(插畫, 漫畫) (48)
toggle 語意網路 (6)
  • Protege (4)
  • 語意印射 (1)
  • Semantic (0)
  • Ontology (1)
  • JESS (0)
  • Fuzzy (0)
toggle 電腦筆記 (22)
  • ajax (0)
  • ExtJS (0)
  • jQuery (1)
  • SEO (0)
  • ZK (0)
  • ASP.net (0)
  • Android (0)
  • JBoss (0)
  • CSS (3)
  • PHP (0)
  • Eclipse (1)
  • C++ (0)
  • Java (3)
  • C# (0)
  • 資料探勘 (0)
  • 電腦硬體 (0)
  • 資訊經濟 (0)
  • 免費資源 (0)
  • 藥粧美容 (0)
  • 節約能源 (0)
  • 學術研究 (0)
  • 資訊系統開發 (2)
toggle Facebook (2)
  • 應用淚 (0)
  • 開發類 (0)
toggle 投資理財 (1)
  • 股市理財 (0)
toggle 網站架設 (4)
  • Drupal (0)
  • Wordpress (0)
  • Tomcat架設 (0)
  • Discus (0)
toggle WEB SERVICE (6)
  • 01-基礎介紹 (0)
  • 02-環境架設 (0)
  • 03-程式撰寫 (0)
  • 04-網路服務 (0)
  • 05-SCA與Web Service (0)
  • 06-Enterprise Service Bus (0)
toggle Unix (2)
  • FreeBSD (0)
  • Linux (0)
toggle 裝置藝術 (2)
  • 公共藝術作品欣賞 (0)
  • 公共藝術設置 (0)
toggle 互動裝置與程式設計 (11)
  • ShiVa (0)
  • Arduino入門介紹 (0)
  • Arduino教學 (0)
  • Processing (0)
  • 感測元件 (0)
  • IO控制 (0)
  • 步進馬達 (0)
  • 無線網路 (0)
  • 案例搜集 (0)
  • 作品欣賞 (0)
  • 有線網路 (0)
toggle 政府資源 (3)
  • 創新育成 (1)
  • 產業補助 (13)
  • 展演資訊 (0)
toggle 攝影之美 (1)
  • 攝影 (2)
toggle 職場工作 (5)
  • 面試準備 (0)
  • 自傳撰寫 (0)
  • 職場進修 (2)
  • 知識分享 (18)
  • 產業要聞 (0)
  • 未分類文章 (1)

參觀人氣

  • 本日人氣:
  • 累積人氣:

文章精選

個人資訊

英國旅遊民宿推薦
暱稱:
英國旅遊民宿推薦
分類:
休閒旅遊
好友:
累積中
地區:

文章搜尋