2009年9月30日 星期三

小小的公告

因為今天一口氣新增了不少文
所以要看完可能要花點時間
今天新增的文有JAVA文七篇
一篇圖畫
JAVA文進度還是不夠阿!!!!
對了
如果有再看JAVA文的人
發現錯誤要跟我說一下喔~~
這樣我好修正
有什麼建議也可以說一下~~
下星期天空那邊就會整頓好跟這裡同步更新了
有些圖也會放過去
我天空那邊還會放其他我在網路上抓到的圖
有需要的等我天空開放後
再找我要密碼喔

JAVA筆記:第七篇-迴圈

迴圈:

  迴圈有三種,for、while、do-while,基本上功能都相同,依照需求決定使用哪種迴圈。



  for:

    for(X;Y;Z){

     程式行為。

    }

    X:起始化數值,若有多個則用逗號區隔,大多用於迴圈的計數值,可同時在此宣告需要的變數

    Y:條件句,會產生布林值,若條件為true則繼續迴圈,為false則停止迴圈

    Z:數值增減,負責對變數作增減,大多用於迴圈的計數值,若有多變數則用逗號區隔



    一個特別的for迴圈:

      for( X ; Y ) { }

       X:與Y相同型別的變數,可在此宣告需要的變數

       Y:陣列、集合等變數

      功用:將Y的內容依序傳給X,一次一個



  while:

    while(X){

     程式行為。

    }

    X:條件句,會產生布林值,若條件為true則會執行迴圈,為false則停止迴圈



  do-while:

   do{

    程式行為。

   }while(X);

    X:條件句,會產生布林值,若條件為true則會執行迴圈,為false則停止迴圈



  while與do-while迴圈的差別是,while會先確認條件句X是否為true再決定是否執行迴圈,而do-while必定會先執行一次再依照條件句X的結果決定是否繼續迴圈。

JAVA筆記:第六篇-流程控制

判別式:

  判別式是多數的程式語言都有的指令,當然,java也不例外,以下將介紹if-else判別式與switch-case的判別式。

  if-else判別式;

    if(X){

     y;

    }elxe{

      Z;

     }

    以上是一個最基本的if-else判別式

    x=條件式

    y&z=程式

    若是x條件成立,則執行y程式碼,反之,則執行else程式碼.

    if可以單獨使用,當然,也可以重複使用,例如:

     if( ){

     } if( ){

       }

    這樣的狀況會在第一個if判別結束之後繼續執行第二個if。

    條件式範例:

        字串變數.equals("內容") 判別該字串變數內容是否與""中內容相同

        變數 = = x 判別該變數數值是否為x (x需為數值

    條件式可多個,使用 || (or) && (and) 作區隔

     || (or) 用此相連的條件式只需其中之一符合即成立

     && (and) 用此相連的條件式則需全部符合才成立

  三元運算子:
    有一種與if-else功能相同的運算子,叫做三元運算子,
    他可以很方便得以一行完成if-else的功能,不過實用性不太高
    之所以稱為三元運算子,是因為你必須提供三個運算元做為他運算時所需要的數值。
    例:boolean_expression ? result_1 : result_2 ;
      如果boolean_expression運算為true的話則執行result_1,若為false則執行result_2


  switch-case判別式:

    switch(X){

     case Y1: <<注意!case後面式接續冒號非分號。

      z1;

     case Y2:

      z2;

     case Y3:

     case Y4:

      z3;

    }

    X=要檢查的變數

    Yn=受檢查的變數內容是否為次

    Zn=若case成立則執行的程式碼

    case中建議搭配break做中斷switch的動作,若沒有做此動作則程式會繼續往下執行switch內的case。

    case中判斷的若是字元或市字串皆要使用雙引號和單引號包圍。

    此範例中,case Y3 與 case Y4 相連是被允許的,若是變數內容符合Y3與Y4則執行z3的程式碼。

JAVA筆記:第五篇-運算子

運算子:

  運算子分為算術運算子、關係運算子、條件運算子、位元運算子、位移運算子、指定運算子,以下將會分別作介紹。



  算術運算子:

    算術運算子簡單來說就是一般數學使用到的+-*/等符號,以下會一一列出。



    標準數學運算子:

     加法: " + "     例:x + y 將整數(或是浮點數)X、Y相加

     減法: " - "     例:x - y 將整數(或是浮點數)X、Y相減

     乘法: " * "     例:x * y 將整數(或是浮點數)X、Y相乘

     除法: " / "     例:x / y 將整數(或是浮點數)X、Y相除    10/3 得 3

     除法(求餘數): " % " 例:x % y 將整數(或是浮點數)X、Y相除求餘數 10%3 得 1



    遞增與遞減:

     遞增: ++

     遞減: --

     遞增與遞減都是逐次減一或是加一,而此運算子放在變數前後功能並不相同!

     前置時,會優先將變數加一後再做其他動作。

     後置時,會將該行運算執行完後再將變數加一。

     例:x = ++y ; < 此行會先將 y 變數加一再將加一後的數值放入 x

       x = y++ ; < 此行會先將 y 變數數值放入 x 再將 y 作加一的動作


    運算子的優先順序:

     算術運算子的優先順序大致與我們一般算數學時相同,由左而右計算

     優先順序如下

      1,以小括號標計的運算子

      2,遞增遞減

      3,乘除

      4,加減



  關係運算子:

    關係運算子用於比對兩數值的大小關係,運算結果為boolean型態。



    相等;    ==   相等的關係運算子是由兩個等號組成,不要打錯喔

    不等:    !=   不等的關係運算子是由一個驚嘆號配一個等號

    小於:    <

    大於:    >

    小於等於:  <=

    大於等於:  >=



  條件運算子:

    在程式中常常用到多種條件需要同時成立或是其一成立的狀況,

    此時就會需要用到條件運算子進行並且、或是的運算,運算結果為boolean型態。



    並且; A && B AB兩者同時成立 由兩個 & 符號組成

    或是: A || B AB兩者其一成立 由兩個 | 符號組成 | 鍵位於enter鍵上方

    不是:   !A   A條件式不成立



  位元運算子:

    JAVA提供 & 、 | 、 ! 、 ~ 四個位元運算子,這些運算子又稱為邏輯運算子,

    因為他們分別提供數位邏輯中的And、Or、Xor、補數運算,

    注意!運算過程中,數值皆以二進位表示,並且需要注意各型別擁有多少位元(BIT)



    And;     &  邏輯運算記憶口訣:有零為零,無零為一

    Or :     |  邏輯運算記憶口訣:有一為一,無一為零

    Xor:     ^  邏輯運算記憶口訣:相同為一,不同為零

    補數運算:   ~  邏輯運算記憶口訣:求補數,零與一互換



  位移運算子:

    位移運算子可以指定數值的位元進行左移或是右移,並可以指定位移單元,位移時以二進位運算!



    左移; A <<  B   A位元左移B個單位,右邊補上0

    右移: A >>  B   A位元右移B個單位,左邊補上原來左邊的位元值

    右移: A >>> B   A位元右移B個單位,左邊補上0



  指定運算子:

    一般在做某數值或是變數給予某一變數的"="就是一個指定運算子,在JAVA中還提供了其他許多的指定運算子,

    讓你可以同時進行指定與運算的工作



    +=  : A+=B   A=A+B

    -=  : A-=B   A=A-B

    *=  : A*=B   A=A*B

    /=  : A/=B   A=A/B

    %=  : A%=B   A=A%B

    &=  : A&=B   A=A&B

    |=  : A|=B   A=A|B

    ^=  : A^=B   A=A^B

    <<=  : A<<=B   A=A<
    >>=  : A>>=B   A=A>>B

    >>>= : A>>>=B  A=A>>>B

JAVA筆記:第四篇-顯示/使用者輸入

顯示/使用者輸入

  注意!這裡提及的顯示與輸入指令常用於在DOS環境,一般視窗化後有其他的顯示與輸入方法。



  顯示指令:

    System.out.print("內容");

    System.out.println("內容");

    System.out.printf("內容、轉換指令詞",與指令相符合的變數);

    以上三種都是JAVA提供的顯示指令,print與println的差別就是是否會自動換行,println會自動換行,而print不會。printf的使用方法與C相同,以%s、%d、%f等跳脫指令接收與之相符合的變數內容。

    指令前方的System.out指的是系統輸出。



  輸入指令:

    在JAVA裡面要輸入內容,目前常用的一種方法就是使用Scanner元件。

    而要使用這個元件,需要先import java.util.*才可使用,因為Scanner屬於util套件。

    在宣告元件的時候大小寫需分明!

    Scanner (自訂一變數名稱) = new Scanner(System.in);

    輸入時,若你需要獲得使用者輸入的變數為A,而你宣告Scanner的變數為x:

      A = x.next___();

      ___處輸入A的型別,若A為字串型別(String)則___處可省略。

JAVA筆記:第三篇-變數型別

變數型別:

primitive type 基本型態


-整數-






bit byte 數值範圍
byte 8 1 -2^7 ~ +2^7-1
short 16 2 -2^15~+2^15-1
int 32 4 -2^31~+2^31-1
long 64 8 -2^63~+2^63-1


-小數(浮點數)-




bit byte 數值範圍
float 32 4 max:3.4028235*10^38 min:1.4*10^-45
double 64 8 max:1.7976931348623157*10^308 min:4.9*10^-324

  JAVA內部預設碰到浮點數即將該數值當作double型別,若以float型別變數承接會出現錯誤,若要使用float變數承接該數值則需要在該數值後加上f,或是在數值前加上(float)強制轉型。

-ASCII碼-



bit byte 數值範圍
char 16 2

  內容為7 或是 '\0007'時 使主機板蜂鳴器響


-布林代數-



bit byte 數值範圍
boolean 1

  初始值只能給 true/false



變數表:兩型態變數作算術運算後其內容型態會轉為此表相交錯的型態。例:byte+byte=int








double double double double double double double
float float float float float float double
byte short int long float double
byte int int int long float double
short int int int long float double
int int int int long float double
long long long long long float double



整數與浮點數型別的變數可以在變數前面加上"(型別)"強制將該變數轉換為指定的型別,要注意的是,若是由浮點數轉為整數,則其小數點後數字會被去除。



運算後的晉升、轉型問題

  在算術運算時,需要注意的是型別轉換的狀況!

  通常來說,兩個變數在做運算時,得出的答案都會升級到bit較大的型態,稱為晉升

  所以要注意到承接兩變數運算結果的變數型態!

    例如:一個int型態的A與一個byte型態的B做運算時,答案會變成int型態。

  如果碰到浮點數,則結果以浮點數儲存。

  單純碰到數值運算時,例如:X=9/3 其結果預設以int儲存。

  單純碰到數值運算時,且需要取完整的浮點數時,則在其中之一個數值加上.0即可,

    例如:x=10/4 直接這樣運算的結果會是2,若我們希望他出來的答案是2.5時,有兩種解決辦法

      第一種:在10或是4的後方加上.0

      第二種:在運算時(10/4)前方加上(float)或是(double)強制轉型成浮點數

  單純做數值運算時,若其結果是浮點數,而我們卻只需要整數時,只須強制轉型成整數型態即可

JAVA筆記:第二篇-程式的基本架構

程式基本架構

  下面將會介紹一個程式的基本架構,這裡只是大略提及,後面會有更詳細的篇章。



  1.套件的宣告

  package (套件名稱);

      宣告套件名稱,套件用於管理類別,相同套件的類別會儲存在同一個資料夾。

      必須位於程式最上方。

      套件宣告可以省略,若無宣告則類別屬於預設套件,即同一資料夾內皆屬於同一套件。



  2.匯入套件

  import java.lang.*;

  import java.util.*;

      匯入需要的套件庫,可省略,可多行。

      某些套件會有類似程式碼,故不要隨意匯入大量套件!易混亂。

      若是真的需要匯入擁有相同指令的套件,就需要再使用該指令時加上套件名稱。

      省略時預設匯入 java.lang.*;

      多不會影響程式運行效率

      介於package class/interface 之間



  3.類別or介面宣告

  public class Report {};

       類別宣告

       一個檔案中只有一個class可以使用public宣告,但是可以無public宣告。

       以public宣告之類別名稱需要與檔案名稱相符。

  public interface Fly {};

       介面宣告。

       在後面幾篇會再完整敘述。



  4.方法宣告

     方法位於類別內,編寫程式行為。

     建構子:包含在class內部,與class名稱相同,可有可無。

         之後會有更詳細的介紹。

     程式啟始點:

           程式起始點為一種方法,方法名稱為main,用於啟動程式。

           程式起始點可以省略,但若是以該class作為一個程式的執行起點,則該class必須含有main方法。

           main方法的編寫範例:

                     public static void main( String[] args ) { }

                     在此可以看到幾個之後會解說的關鍵字 public 、 static 、 void

                      public:main方法必須是public(公開)的

                      static:靜態的,在後面的篇幅會解說

                      void :表示main方法沒有回傳值

                     main方法括號中的args字串陣列的變數用來儲存啟動程式時,使用者一並輸入的命令列引數,雖然不太會使用到,但仍必須寫上,這是規定。



  若是宣告一個class,內容皆為空時,編譯後內容為:

    class MyClass extende Object{

     public MyClass(){ (此為建構子)

      super();

     }


    }

   紅字內容為編譯後編譯器自行加入的東西!



  宣告在class內的變數可不給預設內容

  但是在方法內部的變數則需要給預設內容!



  命名規則:在宣告類別與方法名稱時,數字不可開頭,名稱可用中文與$ (Unicode字元) 但是盡量少用。

       另外,JAVA對大小寫有較嚴格的規範。

JAVA筆記:第一篇-準備工作

準備工作:

  在開始編寫java檔案之前,你需要先準備好java的開發環境。

  首先,你必須到昇陽的網站上下載JDK,而我們所需要的是JAVA SE,即JAVA標準版,下載網址點此抓取Java SE Development Kit (JDK)並且安裝。或者,你也可以下載Java SE Development Kit (JDK) Bundles中的JDK 6 Update 16 with NetBeans 6.7.1(Update 的版號會因更新而不同),兩者的差異只在於是否含有 NetBeans此款IDE。

  你也可以同時抓取Java SE 6 Documentation,這是昇陽提供的說明文件,可以在裡面找到所有程式碼的說明,目前有英文與日文版本。
  再來,若您使用IDE開發則可省略下列的步驟。

  我的電腦->右鍵->內容->系統內容->環境變數

  系統變數

  新增1

   變數名稱:JAVA_HOME

   變數值:(複製JAVA JDK 安裝位置)

  新增2

   變數名稱:CLASSPATH

   變數值:.;%JAVA_HOME%\lib

  修改

   變數名稱:path

   變數值::%JAVA_HOME%\bin;(將此內容新增至最前端即可,原內容不可刪除)



  註:另外還有JAVA EE與JAVA ME,JAVA EE為JAVA企業版,以JAVA SE為基礎。而JAVA Me則是提供給手機等資源受限的產品的JAVA微型版。



  若是沒有使用IDE,而使用記事本編寫程式碼的話,則需使用命令提示字元編譯程式碼。

  你可以在開始->執行裡面輸入cmd,或是在開始->所有程式->附屬應用程式裡開啟命令提示字元,建議將命令提示字元建立一個捷徑在桌面或是任何你想要放的位置。

  在建立好的命令提示字元的捷徑上按右鍵選擇內容,則可以設定開始位置,建議將開始位置設定在你存放程式碼的地方,可以省略開啟存放程式碼資料夾的手續。

  指令表:
   DOS環境指令:

    退回上一層資料夾:cd ..

    開啟資料夾:cd 檔案夾名稱

   JAVA指令

    java文件編譯:javac *.java

        製作class檔,*處輸入要編譯的.java檔案名稱



    java檔案執行:java *

        執行class檔,*處輸入要執行的.class檔案名稱



    java說明文件製作:javadoc +要製作說明文件的.java檔案

        說明文件會以網頁方式儲存



    java文件編譯:javac -d +要放class的資料夾的相對或是絕對位置 *.java

        製作class檔且指定class檔案位置

        若是.java文件有宣告package位置則會依照package建立資料夾

        例如:若文件內有宣告package tw.com.mypage.test;

           在編譯檔案時又指定在某目錄的classes資料夾

           則會在classes底下建立tw/com/mypage/test等根目錄並把class檔案放置在最底層的test資料夾中



    java檔案執行:java -cp +放class的資料夾的相對或是絕對位置 *

        執行位於特定目錄的class檔案



      位置指定方式:../classes 目前目錄的上一層內的classes資料夾

             c:/test/classes 指定放在此路徑的資料夾內

新增一個小小圖

就只有一張圖而已
我發現我產圖速度超慢=3=
就~這樣啦
待會更新JAVA文

明天早上更新~~

其實應哀要說是今天早上
因為現在已經十二點了XD
今天把JAVA前面的一部分已經編輯好了
明天早上有空在放上來
現在要先睡覺了@@
明天早上第一節有課
雖然很輕鬆XD
而且有打算跟助教簽一個我們號稱"惡魔的契約"的契約
就是阿
我們只要期中期末考都考及格
平常分數自己搞定不要太差
剩下如果平均差20分以內就PASS的話
助教就無條件補上差額~
不過前提是期中期末要考好就是
算了
打算簽就不要管那麼多了
平常認真點就好
不過這也表示
我要更忙更認真的(我看應該是更混比較實在 = =
現在英文真的藥給他拚下去了
今天再找軟體資料的時候大多都是英文的
害我都是硬幹在那邊看
看的真的是頭昏眼花阿=口=

明天在努力把JAVA補完
也差不多該去考證照了說
對了
明天也把我星期二晚上畫的一隻狗給放上來好了
不過動作很老梗就是
因為我目前也只會話那樣子=口=
就這樣了
睡覺去嚕~

2009年9月28日 星期一

忙?

開始上課之後覺得好忙喔~"~
每天都不是很想上來更新
而且說好的JAVA跟畫畫都沒多少進度
那我上一篇是說辛酸的喔T^T
有時間就多用一下吧
今天把電腦重灌了一下
把電腦裝成乾淨的VISTA
順便改裝64bit的
還有不少平常會用的軟體還沒用上去
之後再慢慢找時間用吧
真的好麻煩喔~"~

2009年9月22日 星期二

JAVA與畫畫再始動(?

JAVA又開始在寫了
畢竟要開始上課了
不複習也挺怪的
而畫畫
也該練習練習了
只是一時不知道該畫些什麼貼上來就是
改天或許會更新上來
就是這樣
不過什麼時候會更新上來就不知道了
可能明天就會有
也可能要等好久
不過
我有再用就是~

2009年9月20日 星期日

拖下來的後果......

一直拖
一直拖
拖的後果就是
我那JAVA文完全不想動 = = 
如果我改天心血來潮或許會繼續解決掉
目前......
就先這樣吧 = =
已經完全不想動了
或許開學之後會動吧
明天就開學了
好快......

今天沒有游到泳
因為中午太晚吃
然後我又吃太多~"~
肚仔太脹
沒法下水T^T

2009年9月19日 星期六

買衣服好麻煩~&quot;~

今天人都差不多到了
房子裡八個人只差一個就齊了~~(租的地方
早上起來好舒服阿=W=
或許是因為前一天沒有睡好
所以睡飽飽的起來真的好舒服阿XD
下午士哲來了
來就算了
還好大的陣仗阿@@
他爸、媽、姐、甚至連外婆(應該沒記錯)都來了
重點是
他來的時候我剛好穿著內褲、上衣在客廳......
根本來不及穿褲子~"~
一整個就是......無言阿
根本來不及衝回我房間穿褲子@@
不過算了 = = 都被看到了
就沒差了........
之後我就跑下樓下的社區游泳池去游泳
下去還因為沒看到更衣室而跑回家裡(租的地方)換......
不過不愧是室外泳池
水面上有一些小蟲屍體@@
就這樣游了兩個小時
還不錯累......
晚上就跟海灘去逛逛淡水捷運附近的英專路
要去看衣服
對我這不會挑衣服的人來說
買衣服還真痛苦阿.......
不過重點是
有看到中意的
結果哩??
都給我小一號 = =
超級的......
那也只好改天在去買了
今天真的好累......
早點休息嚕

2009年9月16日 星期三

空空如也

上了淡水
就一直在整理東西
同時,也幾乎都在發呆(被打
上去之後根本都沒在做事......
之前興高采烈的說上去要做什麼做什麼
結果上去之後都沒有~"~
整個就是不知道在做什麼
整理東西也因為沒有帶櫃子所以不知道書本怎麼放
要畫畫,整理JAVA的文章也因為電腦位置使用起來不舒服而作罷(再打一次
雖然我知道怎麼說都是藉口......
埃......
還好多東西要整理
現在在家裡
要回來帶櫃子上去
還有其他需要的東西
週末要跟朋友一起去買桌子
盡量讓自己忙一點吧
不然總是在發呆......沒做事

無名都不知道要打什麼了......
預計要放上來的東西都沒有做.......
這期間我無名人氣也破三千了......
真是可喜可賀~可喜可賀~
不過同時也讓我覺得對來訪的人很不好意思
都沒什麼可看性
真對不起阿><

2009年9月11日 星期五

明天上淡水~~

今天東西整理整理
明天就要上淡水去嚕
雖然還要一個星期才上課......
21號才上課
會不會太晚了阿=口=
看了下學校行事曆
明年的暑假會比較晚放......
媽押......
昨天JAVA課也上玩了
終於不用晚上楊梅<->中壢兩邊跑嚕
上淡水去就是要先找打工哩
沒有找打工根本沒錢用T^T
上淡水之後應該會開始電繪吧
因為上去之後就是一個人在房間了XD
(嚴格來說是兩個人 不過另外一個他要開學才過去租房子的那裡
這樣畫畫也比較沒有壓力=W=
家裡電腦就在客廳
畫起來就是有種怪怪的感覺~"~
好啦,差不多要整理東西了
謎之音:那你還在玩瑪奇
我:等他長大我要重生咩 今天就可以重生了
謎之音:= =|||

2009年9月8日 星期二

糟糕!我懶了......

糟糕了糟糕了真的糟糕了拉><
一整個就是不想做事......(被巴
而且現在那JAVA文一點頭緒也沒有=口=
真的很想練畫
卻又......懶......沒畫
真的是好糟糕阿......
阿~~~~~~
阿~~~~~~
阿~~~~~~
阿~~~~~~
阿~~~~~~
眾人:你冷靜點!
這星期天要把東西都搬上淡水
下星期應該就會上去住了吧~
不過21號才上課......
上去還要一個星期才上課......
要怎麼利用這空空的一星期哩~
找朋友~畫畫~整理房子~找工作~
好像很多事情可以做說
埃~到時候在看吧~

2009年9月6日 星期日

開了天空~適應中~

剛剛去開了天空部落
準備文章整理整理~
東西全部移過去~~才怪(被巴
沒有拉~
無名這邊還是會正常運作
只是單純開了天空的站而已
基本上這邊還是當主站
我會同時管理兩邊
這裡應該會比較偏向日記吧
那邊~
就是圖畫拉~~
文還是會同時更新拉
只是有些內容會不一樣而已
等到天空整理的差不多在公佈出來好了~~
要研究下CSS了~~這樣比較好整理版面
......
......
突然覺得常常把事情用的滿滿滿
可是卻沒有什麼動作=口=
例如
我那JAVA文......
開始不知道該怎麼整理了
之前想說就把自己做的筆記放上來就好
結果......
開始想要用成一個系列文
現在卻不知道怎麼用了......
我真糟糕

好幾天沒有動筆了......
根本都沒有練習到畫畫......
真糟糕阿......

2009年9月4日 星期五

右邊版面連結新增~

今天剛剛好發現說怎麼用連結

用那麼久無名現在才知道怎麼用......(被毆

所以就把平常會去逛的一些人的連結給放上來了

不過貼著貼著

發現好多阿@@

我平常有逛那麼多人的無名嗎 = =?

接下來~貼幾個天空的吧@@

埃~

看那麼多人畫

結果自己都沒練習

沒法畫的跟他們一樣好阿><