## 今天的筆記
**物件基礎導向**
1.類別CLASS:算是一個藍圖、一個範本、一個可參考的文件,他 沒有 實體 (Instance) 的概念,屬靜態的。
2.物件OBJECT:物件是一個看的到、摸的到的實體,屬於動態的, 狀態會隨時改變,但架構與行為不會改變。
**Wireframe**
1.呈現產品頁面上主要的資訊
2.呈現資訊在頁面上的排版與架構
3.便於描述使用者如何可視覺化,便於與產品互動
**開發流程**
1.瀑布式開發
2.敏捷開發
3.測試驅動
**駝峰式命名**
1.小駝峰式命名法:第一個單字以小寫字母開始;第二個單字的首字母大寫,例如:firstName、lastName
2.大駝峰式命名法:每一個單字的首字母都採用大寫字母,例如:FirstName、LastName、CamelCase,也被稱為Pascal命名法
**開源與非開源**
開源:Windows
非開源:Linux
**String字串**:
String是一個比較特別的資料型態,它是一個物件類別( Object ),基本型態所對應的物件類別,可直接給於相同類型的值,而不需使用new來產生物件,而String資料型態跟基本型態一樣可以直接給於值,不過String沒有相對應的基本型態。
**Int變數**:
是基本資料型別(原始資料型別),直接存數值。(int預設值為0)
**Interger整數**:
Integer實際是對象的引用,指向此new的Integer對象(integer預設值為null)
**int與Integer的使用對比**
1.由於Integer變量實際上是對一個Integer對象的引用,所以兩個通過new生成的Integer變量永遠是不相等的(因為new生成的是兩個對象,其內存地址不同)
2.Integer變量和int變量比較時,只要兩個變量的值是向等的,則結果為true(因為包裝類Integer和基本數據類型int比較時,java會自動拆包裝為int,然後進行比較,實際上就變為兩個int變量的比較)
3.非new生成的Integer變量和new Integer()生成的變量比較時,結果為false。
4.對於兩個非new生成的Integer對象,進行比較時,如果兩個變量的值在區間-128到127之間,則比較結果為true,如果兩個變量的值不在此區間,則比較結果為false
**Scanner**:
是一個簡單的文字讀取器,可以解析字串成各個基本資料型態。
這個Scanner類別被放在 java.util套件中,記得要加import
**split分割**:
split(delimiter):將字串拆分為陣列
split(regex, limit):將字串拆分為一個陣列並保留尾部的空字串
Math floor:函式會回傳小於等於所給數字的最大整數。
## 今天學到什麼
類別CLASS/物件OBJECT
駝峰式命名
三種開發流程
int與Integer的使用對比
Scanner的應用
split的應用
String的應用
CMD CD運用
## 今天的作業
身分證製造器
public class ID {
public static void main(String[] args) {
String[] idFirst = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
// String idNumber = ID.IDRandom();
int[] idFirstNumber = {10, 11, 12, 13, 14, 15, 16, 17, 34, 18, 19, 20, 21, 22, 35, 23, 24, 25, 26, 27, 28, 29, 32, 30, 31, 33};
int r1 = (int) Math.floor((Math.random() * 26 + 1));
//floor 1.1111111 -> 1取餘數
System.out.println("r1:" + r1);
System.out.println(" 第一個英文數字:" + idFirst[r1]);
int idSex = (int) Math.floor((Math.random() * 2 + 1));
System.out.println("idSex:" + idSex);
verifyIdString = verifyIdString + idFirst[r1] + Integer.toString(idSex);
System.out.println("verifyIdString:" + verifyIdString);
int sum =0;
for (int i = 0; i < 7; i++) {
int r2 = (int) (Math.floor(Math.random() * 10) + 1);
int idr3 = r2;
String[] idpn = Integer.toString(20).split("");
System.out.println("idpn:" + idpn[0]);
System.out.println("idpn:" + idpn[1]);
verifyIdString = (verifyIdString + idFirstNumber[r2]);
System.out.println("r2:" + r2);
if (i == 0)
sum = sum + r2 * 7;
if (i == 1)
sum = sum + r2 * 6;
if (i == 2)
sum = sum + r2 * 5;
if (i == 3)
sum = sum + r2 * 4;
if (i == 4)
sum = sum + r2 * 3;
if (i == 5)
sum = sum + r2 * 2;
if (i == 6)
sum = sum + r2 * 1;
}
System.out.println("sum:"+sum);
}
}