2013IT鐵人賽-14-Java04-Java命名規則與變數
在前一篇的文章 ”2013IT鐵人賽-11-Java03-Java檔案的基本結構” 有提到
java 的類別名稱
- 以英文, 數字, 以及底線( _ ) 來構成
- 開頭一定要是英文字開頭, 不可以是數字或是底線開頭. (不然本來編碼上面想要直接用數字來開頭編碼)
- 如果是類別名稱, 建議首字英文字要大寫
所以Java 的第四篇我們就來聊聊Java 的命名規則與變數吧.
識別字命名規則
- 常數
- 全部使用大寫,如果有兩個單字, 可以加上底線
- 例如: MAX_LEN
- 變數
- 全部使用小寫, 如果有兩個單字以上, 第2個單字開頭大寫
- 例如: rectWidth
- 方法
- 全部使用小寫, 如果有兩個單字以上, 第2個單字開頭大寫
- 例如: calArea
- 類別
- 第1個字母大寫, 後面由一個以上的單字組成
- 例如: Cperson, CStack
- 可以用C代表Class
命名規則最好就跟著大家的方式來進行, 以免之後不好理解.
接下來談談變數吧 :-)
變數
- Java的資料處理基本單位稱為變數
- 變數代表程式在執行過程中可能會被改變的某個數值
- 變數宣告
- 使用變數前必須先宣告, 一般會將區域變數放在方法(method)的開始處
- 變數宣告範例
- //語法:
- //資料型態 變數名稱
- //方式1 先定義型態
- int x;
- //接下來定義初始值
- x = 100
- //方式2 宣告同時初始化變數
- int y = 200;
- 在類別(class)內的變數視為該類別的欄位(fields)
- 在方法(method)內宣告的變數則為該方法的區域變數(Local Variables)
- 參數 (Parameters)
- 用於method呼叫時接受傳遞資料
- 區域變數 (Local Variables)
- 儘限於某個method之內的變數
- 實體變數 (Instance Variables)
- 隸屬於某個物件的變數, 必須透過物件才能存取
- 類別變數 (Class Variables)
- 隸屬於某個類別的變數, 該類別的物件都共用此變數
- 必須使用 static 關鍵字宣告
- 如果沒有加上static修飾字, 則該變數存在於該類別的每一個物件中, 且彼此獨立, 稱為實體變數 (Instance Variables)
- 若使用static宣告, 則每一個物件都共用該變數, 稱為類別變數(Class Variables)
在使用變數的時候, 我們必須要宣告變數的型態, 所以在實作之前, 我們也來把型態整理一下.
資料的型態
又稱為純量,以便與物件區別
- 原始資料型態 / 基本型態 primitive type
- 整數型
- byte
- 1位元組的整數
- short
- 2位元組的整數
- int
- 3位元組的整數
- int 是預設的整數型別
- long
- 4位元組的整數
- 使用long的時候會在後面加上大寫或是小寫的L
- 布林型
- boolean
- 真或是假
- 實數型
- float
- 4位元組單精數浮點數
- Java 碰到 float 要特別小心. 一定要在數字的右方加上大寫的F.
- (有可能喪失數值的精確度, 沒有加上F 預設浮點的大小會給 64 bits, 但是前面宣告 float 就會被截斷,放到 32 bits 內)
- double
- 8位元組單精數浮點數
- double 是預設的實數型別
- 字元型
- char
- 2 位元組的文字資料
- 需使用 ' ' 來包裝
- 例如
- char c = 'Test'
- 可使用數值的方式指定字元的Unicode,除了10進位以外, 還可以使用2進位, 8進位, 16進位. 2進位表達整數是JDK7才支援的功能.
- 預設值
- 如果宣告變數時沒有給定變數的預設值,
- 那java會將預設值設定為0 或是false
- 非基本型態 / 參考型態 Reference type
- 非以上的基本型態就列為Reference type
- 例如是物件參考
好吧, 說了這麼多, 接下來開始練習一下吧.
由於我練習的時候 git 目錄是放在 /root 目錄, 所以才在這邊操作.
切換到 java 練習目錄
# cd /root/java
建立一個 java 原始檔如下
#vi Basic_003_variablesAnnounce.java
class Basic_003_variablesAnnounce {
public static void main(String arg[]){
//宣告integer整數i, 並給予初值
int i;
i =100;
//宣告boolean布林b, 並給予初值
boolean b;
b = false;
//宣告float單精準度浮點數f, 並給予初值
double d;
d = 1.23;
//宣告char字元 c, 並給予初值
char c;
c = 'c';
//列出變數的值
System.out.println("integer i="+i);
System.out.println("boolean b="+b);
System.out.println("double d="+d);
System.out.println("char c="+c);
System.out.println("=====我是分隔線=====");
//觀察最大值,最小值, 長度
//這個部份可以練習查詢API
//可以到http://docs.oracle.com/javase/7/docs/api/ 進行查詢
//以這邊的範例來說可以點選左上角 package 區內的 java.lang
//然後點選畫面左邊 Class 內的 Integer 類別
//就可以在Field Summary 內看到有 MAX_VALUE 可以使用
System.out.println("Integer Max="+Integer.MAX_VALUE);
System.out.println("Integer Min="+Integer.MIN_VALUE);
System.out.println("Integer bits="+Integer.SIZE);
System.out.println("=====我是分隔線=====");
//Boolean 並沒有 MAX_VALUE
System.out.println("Boolean Type="+Boolean.TYPE);
System.out.println("=====我是分隔線=====");
//Double 的相關資訊
System.out.println("Double Max="+Double.MAX_VALUE);
System.out.println("Double Min="+Double.MIN_VALUE);
System.out.println("Double bits="+Double.SIZE);
System.out.println("=====我是分隔線=====");
//Char 的相關資訊
System.out.println("Char bits="+Character.SIZE);
}
}
編譯 Basic_003_variablesAnnounce.java 原始檔案
# javac Basic_003_variablesAnnounce.java
執行程式
# java Basic_003_variablesAnnounce
integer i=100
boolean b=false
double d=1.23
char c=c
=====我是分隔線=====
Integer Max=2147483647
Integer Min=-2147483648
Integer bits=32
=====我是分隔線=====
Boolean Type=boolean
=====我是分隔線=====
Double Max=1.7976931348623157E308
Double Min=4.9E-324
Double bits=64
=====我是分隔線=====
Char bits=16
準備將相關檔案傳送到 GitHub 上面
# cd /root/
# git add java/*
# git commit -m "Add java Basic exercise file variablesAnnouce to git"
[master f8c8ad6] Add java Basic exercise file variablesAnnouce to git
2 files changed, 44 insertions(+)
create mode 100644 java/Basic_003_variablesAnnounce.class
create mode 100644 java/Basic_003_variablesAnnounce.java
# git push origin master
Username for 'https://github.com': 您的帳號
Password for 'https://sakanamax@github.com': 您的密碼
Counting objects: 7, done.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 1.95 KiB, done.
Total 5 (delta 1), reused 0 (delta 0)
To https://github.com/sakanamax/2013ironman.git
e510744..f8c8ad6 master -> master
結束今天變數宣告的任務, 但是今天最大的收穫有可能是讓我們這樣的入門者有機會練習查詢java 的API 喔 :-)
Fun with Day 14 ~
沒有留言:
張貼留言