顯示具有 JAVA 標籤的文章。 顯示所有文章
顯示具有 JAVA 標籤的文章。 顯示所有文章

2013年8月16日 星期五

輸入第二課

http://openhome.cc/Gossip/JavaGossip-V1/BufferedReader.htm

import java.io

pulic class Echo{
     public static void main (String [ ] args ) throws IOException {
          BufferedReader buf = new BufferedReader ( new InputStreamReader(System.in));
          System.out.print ("請輸入一列文字: ");
          String text = buf.readLind();
          System.out.println("你輸入的文字為: " + text );
       }
}


使用BufferedReader取得輸入
與Scanner差別在可以儲存有空格的字串

BufferedReader是java.io類別所提供的一個套件
所以必須先import java.io

使用BufferedReader物件的readerLine()必須先處理IOException例外
例外處理機制是java提供給程式設計人員捕捉程式中可能會發生錯誤,所提供的機制
現階段的處理IOException方法是在main()後面加上throws IOException

BufferReader在建構時接受Reader物件
讀取標準輸入串流時會使用 InputStreamReader
他繼承了Reader類別
使用以下方式為標準輸入串流建立緩衝區物件

BufferedRead bur = new BufferedReader (inputStreamReader(System.in))

new -->要建構一個物件為自己所用
BufferedRead buf -->宣告一個型態BuferedReader的物件變數







--------------------------------------------------------------------------
某R解釋:

exception的意思是說 我今天一個method(就是 void aaa(){…})
執行到一半突然發生了不能解決的問題 要直接跳出來
比方說aaa跑到第三行 結果第三行把咖啡打翻到server上了
所以第四行沒辦法跑 他只好終止執行aaa
然後丟一個exception告訴你這件事情
簡單地說
就是「發生了一些事情以至於method再也走不下去了 ,只好分手吧」的意思


2013年8月12日 星期一

學習輸入

http://openhome.cc/Gossip/JavaGossip-V1/UserInput.htm

public class Hwlloworld{
    public static void main (String[] args)
{
         Scanner scanner = new Scanner (System.in);
         System.out.println ("Please enter your name: ");
         System.out.printf ("Hello %s!", scanner.next( ));
}

Scanner需大寫

-----------------------------------------------------------

Scanner scanner = new scanner (System.in);

Scanner是指輸入端
java需要輸入端

new是指產生
java絕大多數物件都需要產生

所以上述的意思就是
Scanner輸入了scanner產生了新的scanner
而輸入的內容放在System.in

或者這樣解釋
有個Scanner叫做scanner
這個scanner是個新的接在System.in的Scanner

所以也可以寫成

Scanner a = new Scanner (System.in);

----------------------------------------------------------

%s的意思是formatter placeholder
代表一個字串
這是formatter系列才有用的東西. print"f"  <---

所以這個的意思是

Hello! [這邊要印一個字串]   <---跟編譯器說這件事情

後面就會與編譯器說,那個東西就是 scanner.next()
scanner.next()是指他會去找你輸入的內容(System.in)

新手註記

線上編譯
http://ideone.com/

新手教學
http://openhome.cc/Gossip/JavaGossip-V1/

----------------------------------------------------

定義的public calss helloworld
public要小寫
大寫不行

System.out.print(" ");
System開頭要大寫
小寫不行

print \ printf \ println 三個不同的意思
print --> 輸出
printf ---> 照格式輸出
println ---> 輸出斷行

println = print + \n
所以也可以這樣寫
print(" test! \n ");
就可以輸出斷行
要輸出\n的話就寫成\\n
變成print("test! \\n");

\\可以這樣解釋
第一個 \  ->後面這個是命令
第二個 \  ->這個命令就是代表印出一個 \

\n的意思就是
\ ->後面是命令
n的意思是跳一行

第一課

初學很不習慣,總之先做筆記
自學需要蠻努力的閱讀

---------------------------------------------------

public class Helloworld {


}

class定義類別
類別的名稱是Helloworld
與編譯的主檔名Helloworld.java需相同

java都由定義(class)類別開始
內容可以有無數個類別
但只能有一個 public 類別

public要小寫

--------------------------------

public class Helloworld {

      public static void main ( 


)

}

main( ) (Method),是java程式的進入點(Entry Point)
程式的執行是從進入點開始

他一定是個 public 成員(Member),這樣他才可以被呼叫
由於他不需要產生物件就要能被執行,所以他必須是 static 成員

public & static是 物件導線程式 上的觀念.後述 (物件與類別)

void表示結束後不用回傳任何值
java的主方法不需要回傳任何值,所以一律使用 void

main ( ) 是java主方法的表現方式

-----------------------------------

public class Helloworld {

      public static void main (  string [ ] args ) {

                  System.out.println ("Hello World") ;

               }

}


System.out.println()的System開頭要大寫

string [ ] args 是命令列引述(command line argument)
可以在執行程式時,取得使用者指定的相關參數;
雖然目前不使用,但仍要寫上.規定

args是個參數名稱,可以隨意命名

使用了java.lang套件下的system類別
用他的公開成員out物件,他是一個systemstream物件,
使用了他提供的pringln(),將他所指定的字串(string) "Hello Worid" 輸出到console上

println()表示字串後要自動斷行
使用pring()的話,輸出字串不會自動斷行
注意字串結束後需要 ;