2009年9月30日 星期三

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