2012年10月12日 星期五

Java小筆記──token

token?

什麼是token??

根據辜狗大神的字典
名詞


象徵
symbol, token, sign, emblem, byword


符記
token


代幣
token


地鐵硬幣
token
動詞


象徵
symbolize, token, signify
形容詞


象徵性的
token


表意的
ideographic, token, notional


好吧,相信以上是有看沒有懂


以後在eclipse這種大型IDE裡面寫程式時
有時候錯誤提示裡就有這個字

token有以下五類:

  1. Reserve Word or Keywords (保留字/關鍵字)
  2. Identifier (識別字)
  3. Literals (常值/字元)
  4. Operators (運算子)
  5. Separators (間隔字)
  token指的是Java裡「具有特定意義的文字或是組合」

Tokens are the various Java program elements which are identified by the compiler. A token is the smallest element of a program that is meaningful to the compiler. Tokens supported in Java include keywords, variables, constants, special characters, operations etc.
http://ecomputernotes.com/java/what-is-java-language/what-is-java-tokens


token能被編義器辨認,它是程式裡有意義的最小單位。




保留字/關鍵字

 它是指在Java中具有特定意義的文字。為了避免程式混淆,正常情況下,不可以用它來作為變數或類別名稱。

[Java官網的保留字一覽表]

例如"else",它是流程判斷中很重要的關鍵字,如果被拿去命名其他東西,編譯器可能會誤解而出現不可知的毀滅性錯誤(?)
所以,不可以能它去命名自己的東西~
應該說Keywords是"公用"的"關鍵字",所以官方予以"保留"(Reserve)

識別字


如果要在程式碼中使用變數或自訂類別,就必須命名、指定型態。

不過,為了讓程式知道你是在叫那個變數(或類別)
所以有些規範、設定


  • 最好用英文字母、阿拉伯數字、底線等符號來命名
  • 沒有長度限制
  • 不能使用Java的保留字/關鍵字
  • 不能用阿拉伯數字開頭
  • 英文字母大小寫有區別
以下是合法的:
n
i
imajavabeginner
i_m_a_java_beginner

但是這兩個會被視為不同的變數:
I_m_A_Java_Beginner  vs  i_m_a_java_beginner

以下是不合法的:
123456abc ←不能使用數字做開頭
package ←它是Java的保留字/關鍵字
i-m-a-java-beginner ←不能使用特殊符號(-)

常值/字元


它們因為Type而特別!

例如數字類型(Numeric)的int與double
邏輯類型(Logical)的boolean
文字類型的char和String
參考類型的null

這是個人的理解,可能不對:Java中以所謂的"基底類型",就是寫程式時Java已經內定好的類型,例如int、Float之類的,不須引入就可直接使用。這些字元就會直接被編譯器認為是含有特殊意義的。

運算子


這就沒啥好講的囉~~
+-*/%
++
--
> < >= <= ==
& | ^ << >> >>>
instanceof

巴拉巴拉還有一大串
它們當然有特殊意義,不然程式要怎麼寫呀~~


間隔字


間隔字幫助程式定義它的結構。

這樣可能很抽象,

舉了例子馬上知道啦。

()  裡面放東西,方法裡的引數、條件判斷裡的條件式、迴圈的敘述等等
{}  大括弧,定義程式區塊(block)
[]  陣列用的~
;   如果不知道這個,那。。。
,   可以分隔很多東西,例如需要傳入的變數
.   呃,有點小,希望不要認為是您的螢幕髒了。。。這個可以選擇物件的方法或是Fields
: 迴圈用的,例如foreach~~


=====================華麗麗的分隔線=====================

最後附上一點參考資料
《JAVA2 程式設計實例入門與活用》第四版,高橋麻奈 著,博碩文化
Separators in Java
Java Language Keywords
Tokens and Java Programs
What is Java Tokens?

Java小筆記,我們下次見(?)

沒有留言:

張貼留言