Java學習---第二週週報

qq_35275168發表於2020-12-07

第二週週報

收穫

關於第一週知識的查漏補缺

  • JDK,JRE,JVM 分別是什麼,彼此之間的關係是怎麼樣的?

    JDK為Java語言的軟體開發工具包,是整個Java的核心;包含JRE和JVM

    JVM是Java虛擬機器,完成位元組碼檔案和計算機的互動過程;

    JRE是Java執行環境;包含JVM;

    彼此之間的包含關係:

在這裡插入圖片描述

  • 關於for的執行流程

    for(int i=1;i<10;i++){
        a++;
    }
    //for內部的三部分分別為初始條件,判斷條件,變數變化;
    //在for中,先將判斷判斷條件,條件為true才執行,
    //隨後進行變數變化,繼續參與變數判斷才是否執行a++
    //總結:for迴圈可能一次都未執行;
    

關於笨周知識的學習收穫

  • 亞瑟夫圓環的程式設計思想過程:

    // 開始遊戲
    		while (n > 1) {
    			// 判斷當前玩家是否被淘汰
    			if (states[index % states.length] == 0) {
    				if (++count == number) {
    					states[index % states.length] = 1;
    					n--;
    					count = 0;
    				}
    			}
    			index++;
    //			if(++index == states.length) {
    //				index = 0;
    //			}
    		}
    

    一開始無從下手,思想中想的是如何編寫出整個框架,然而往往這樣問題就難以解答,容易造成思維混亂;在本題中,應該從0開始,一步一步程式設計,判斷,迴圈;直至得到結果;

  • 正規表示式的理解

    正規表示式很強大,往往幾行甚至十幾行的程式碼,用正規表示式既可一句帶過,

    然而正規表示式簡潔的背後,考驗的是程式設計思維的有序,邏輯清晰;

    除此之外,還需要多多練習,將其和常用類一樣運用如意;

    轉載至百度百科:一些理解技巧

    四個字元是所有語言都支援的正規表示式,所以這四個是基礎的正規表示式。正則難理解因為裡面有一個等價的概念,這個概念大大增加了理解難度,讓很多初學者看起來會懵,如果把等價都恢復成原始寫法,自己書寫正則就超級簡單了,就像說話一樣去寫你的正則了:

    等價:

    等價是等同於的意思,表示同樣的功能,用不同符號來書寫。
    ?,*,+,\d,\w 都是等價字元
    ?等價於匹配長度{0,1}
    *等價於匹配長度{0,}
    +等價於匹配長度{1,}
    \d等價於[0-9]
    \D等價於[^0-9]
    \w等價於[A-Za-z_0-9]
    \W等價於[^A-Za-z_0-9]。
    常用運算子與表示式:

    ^ 開始

    () 域段
    [] 包含,預設是一個字元長度
    [^] 不包含,預設是一個字元長度
    {n,m} 匹配長度
    . 任何單個字元(. 字元點)
    | 或
    \ 轉義
    $ 結尾
    [A-Z] 26個大寫字母
    [a-z] 26個小寫字母
    [0-9] 0至9數字
    [A-Za-z0-9] 26個大寫字母、26個小寫字母和0至9數字
    , 分割
    分割語法:
    [A,H,T,W] 包含A或H或T或W字母
    [a,h,t,w] 包含a或h或t或w字母
    [0,3,6,8] 包含0或3或6或8數字
    語法與釋義:
    基礎語法 “^([]{})([]{})([]{})KaTeX parse error: Undefined control sequence: \d at position 60: …{長度})結束" ?,*,+,\̲d̲,\w 這些都是簡寫的,完全可…
    速記理解:開始 “tel:普通文字”[0-9數字]{1至3位}"-普通文字"[0數字][0-9數字]{2至3位}"-普通文字"[0-9數字]{8至11位} 結束"
    等價簡寫後正則寫法:"^tel:\d{1,3}-[0]\d{2,3}-\d{8,11}$" ,簡寫語法不是所有語言都支援。

疑問

關於掃描器使用出現的bug

在這裡插入圖片描述

在此程式碼中,根據流程,輸入1之和,給與提示資訊後,應等待使用者輸入,而未等使用者操作,直接掃描結束,致使無法完成密碼的匹配;

然而將double pd=sin.nextLine();改為double pd=sin.next();即可正常執行;

建議

​ 在本週學習中,本人時間上的安排比較混亂,效率低下,一道題能夠話費半小時以上,致使自己不能如期完成作業,另外課堂上的筆記,不能做到詳細,或用自己的語言,希望下週有所改善,加強思維邏輯的思考,提高作業效率,時間要合理安排。

部落格地址

第二週知識點總結:https://blog.csdn.net/qq_35275168/article/details/110790357

語言,希望下週有所改善,加強思維邏輯的思考,提高作業效率,時間要合理安排。

部落格地址

第二週知識點總結:https://blog.csdn.net/qq_35275168/article/details/110790357

第二週週報:https://blog.csdn.net/qq_35275168/article/details/110790361