---
# System prepended metadata

title: Untitled

---

## 今天的筆記
**物件基礎導向**
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);
    }

    

}