2013IT鐵人賽-19-Java05-Java字串以及常數
首先我們先補一個關鍵字 final 來練習常數的設定
final
- 用來設定常數(不會變動的變數)
- 用來設定終止類別的繼承
常數
- 不會變化的數值稱為常數
- //希望變數的值不可以更改就使用常數的方式,使用的方法為 在宣告變數前面加上 final
- //例如
- final int y = 200;
由於我練習的時候 git 目錄是放在 /root 目錄, 所以才在這邊操作.
切換到 java 練習目錄
# cd /root/java
建立一個 java 原始檔如下
# cat Basic_004_constant.java
class Basic_004_constant {
public static void main(String[] args){
//練習常數的宣告, 使用final 關鍵字宣告PI 為常數, 型態為float
final float PI;
//宣告 PI的值為 3.1416, 加上f 是告訴電腦他是浮點數, 不是double
PI=3.1416f;
// 列出 PI的值
System.out.println("PI="+PI);
//因為已經設定 final 關鍵字, 所以這邊如果在宣告一次PI的值編譯就會產生錯誤
PI=3.1415f;
}
}
接下來嘗試編譯 Basic_004_constant.java 程式就會產生下列的錯誤訊息
# javac Basic_004_constant.java
Basic_004_constant.java:10: error: variable PI might already have been assigned
PI=3.1415f;
^
1 error
回去修改 Basic_004_constant.java, 將其註解起來
# cat Basic_004_constant.java
class Basic_004_constant {
public static void main(String[] args){
//練習常數的宣告, 使用final 關鍵字宣告PI 為常數, 型態為float
final float PI;
//宣告 PI的值為 3.1416, 加上f 是告訴電腦他是浮點數, 不是double
PI=3.1416f;
// 列出 PI的值
System.out.println("PI="+PI);
//因為已經設定 final 關鍵字, 所以這邊如果在宣告一次PI的值編譯就會產生錯誤
//PI=3.1415f;
}
}
就可以順利通過編譯
# javac Basic_004_constant.java
並嘗試執行 Basic_004_constant 程式
# java Basic_004_constant
PI=3.1416
接下來我們來進行字串的練習
建立一個 java 原始檔如下
# cat Basic_005_stringAnnounce.java
class Basic_005_stringAnnounce {
public static void main(String[] args){
//這個練習進行String的宣告練習
//有關於String的詳細資訊可以看官方API 說明文件
//http://docs.oracle.com/javase/7/docs/api/java/lang/String.html
//可以透過兩種方式來宣告字串
//第1種是原始資料型態的方式 String 字串物件的名稱=初始值;
String str1 = "This is string 1";
System.out.println("str1="+str1);
//當然也可以先宣告型態在給值
String str2;
str2="str2 - Give value after announce";
System.out.println("str2="+str2);
//第2種方式是透過建構子(Constructor)的方式來宣告
//宣告的方式為 String 字串物件的名稱 = new String(初始值);
String str3 = new String("This is str3 by constructor");
System.out.println("str3="+str3);
//也可以在建立建構子的時候先不給值, 之後再來設定值的內容
String str4 = new String();
//這邊會看到如果沒有設定值, 預設是空字串
System.out.println("str4 default value is="+str4);
//接下來我們設定 str4 的值
str4="str4 - Give value after announce";
System.out.println("str4="+str4);
//另外也可以直接使用 等號的方式來進行值的給予, 但是還是要宣告型態
String str5;
str5=str4;
System.out.println("We use str5=str4, it will show "+str5);
//接下來研究如果變更str4的內容, 那str4 以及 str5 又會如何?
str4="Change str4 value after give it's value";
System.out.println("Try to find out, when str4 is change, what happen to str5?");
System.out.println("str4="+str4);
System.out.println("str5="+str5);
}
}
接下來編譯 Basic_005_stringAnnounce.java
# javac Basic_005_stringAnnounce.java
並執行 Basic_005_stringAnnounce.java 觀察其輸出
# java Basic_005_stringAnnounce
str1=This is string 1
str2=str2 - Give value after announce
str3=This is str3 by constructor
str4 default value is=
str4=str4 - Give value after announce
We use str5=str4, it will show str4 - Give value after announce
Try to find out, when str4 is change, what happen to str5?
str4=Change str4 value after give it's value
str5=str4 - Give value after announce
準備將相關檔案傳送到 GitHub 上面
# cd /root/
# git add java/*
# git commit -m "Add java Basic exercise file constant and stringAnnouce"
[master 0cd1772] Add java Basic exercise file constant and stringAnnouce
4 files changed, 47 insertions(+)
create mode 100644 java/Basic_004_constant.class
create mode 100644 java/Basic_004_constant.java
create mode 100644 java/Basic_005_stringAnnounce.class
create mode 100644 java/Basic_005_stringAnnounce.java
# git push origin master
Username for 'https://github.com': 您的帳號
Password for 'https://sakanamax@github.com': 您的密碼
Counting objects: 9, done.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 2.78 KiB, done.
Total 7 (delta 1), reused 0 (delta 0)
To https://github.com/sakanamax/2013ironman.git
16cb9f4..0cd1772 master -> master
結束今天的任務, Java 字串以及常數練習 :-)
Fun with Day 19 ~
沒有留言:
張貼留言