Java学习---第二周周报

第二周周报

收获

关于第一周知识的查漏补缺

  • JDK,JRE,JVM 分别是什么,彼此之间的关系是怎么样的?

    JDK为Java语言的软件开发工具包,是整个Java的核心;包含JRE和JVM

    JVM是Java虚拟机,完成字节码文件和计算机的交互过程;

    JRE是Java运行环境;包含JVM;

    彼此之间的包含关系:

Java学习---第二周周报_第1张图片

  • 关于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

Java学习---第二周周报_第2张图片

在此代码中,根据流程,输入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

你可能感兴趣的:(Java学习周报,java)