• 20155316 2016-2017-2 《Java程序设计》第3周学习总结


    教材学习内容总结

    1. 类:创建类、使用类
    2. 基本类类型与类类型
    3. 数组
    4. 封装的概念
    5. 重载
    6. 类语法
    7. static成员

    教材学习中的问题和解决过程

    • 1.既然数组在JAVA中就是对象,那么int[] 是否是一个类呢?

    • 可以当做一个类,这个是由JVM动态产生的。

    • 2.我们知道使用新类的时候需要先建立实例,使用标准类java.util.Scanner以及java.math.BigDecimal时就建立了实例,但使用其他的标准类(java.util.Arrays、java.lang.System)时就没有再建立实例了,这是什么原理?什么时候使用其他类的时候不需要建立实例?

    • 【猜测】有些类不需要额外说明,直接用就好了,例如java.util.Arrays、java.lang.System。

    • 3.学了哪些标准类?

    • 【个人总结】

    • 4.将某个名称参考(Refer)至新建对象是一个怎么样的过程?

    • 也即在stack里开辟了一个新的空间存放对象的地址

    • 5.从内存实际运作来看,为什么=与==在基本类型与对象类型中使用没什么不同?

    • 推荐链接(教材):我们没什么不同

    • =其实就是将操作数的值赋给被操作数;就是比较两个操作数的值有什么不同,在对象类型中存在内存中的是地址,所以实际上=与在基本类型与对象类型中的使用没什么不同。

    • 6.java.math.BigDecimal中add()与plus()的区别?

    • 【个人代码总结】

    ...
    Integer a = new Integer(b); \或(123);
    Integer a = 123;
    Number a = 0.00f;
    
    int[] a1 = new int[] {1,2,3};
    int[] a1 = new int[3];
    int[] a1 = {1,2,3};
    
    Integer[] c1 = new Integer[] {new Integer ("1"), new Integer("2")};
    Integer[] c1  = {1,2};
    
    c1[0] = new Integer(99);
    c1[0] = 99;
    ...
    
    • 7.this究竟是什么?
    • 推荐:java中this的用法
    • “每当一个对象创建后,Java虚拟机会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。”(来自:java中this作用的具体作用和实例讲解)
    • “this就是说这个类的当前这个对象,也就是构造方法产生的对象。”
    • “当全局变量跟局部变量重名时,表示使用全局变量(此时this指代本类对象)”
    • “构造方法相互调用,此时this指代本类类名”
    • “另外,涉及到静态的东西,就不会用this,因为静态的东西是一个类所有对象共用的东西,不归某一个对象”
    • 【关键点】this就是指这个类的当前的这个对象
    • 8.怎么判别静态成员?
    • P144

    代码调试中的问题和解决过程

    • 1.想复制一个自己写的代码换一些部分验证某个知识点,发现编译不了,代码也没有错,想知道发生了什么
    • 最后再次新建一个.java文件,将内容放在新的文件里,编译就成功了,猜测原因是因为自己在操作过程中发生了一些改变信息的动作,导致编译出错。这类问题也曾发生在学习C语言以及用Quartus II 13.0sp1 (64-bit)学习HDL,个人认为这说明了除了自己需要小心操作以外,软件本身还是存在一些潜在的问题的。
    • 2.没有加换行符号,为什么会自动换行?且换行后光标在行头?
    • 3.NullPointerException是什么意思?运行23、24两行会发生什么?是什么样的原理?与第22行的含义有什么区别?第22行可以运行(虽然只是贴了个标签),但第23行不能运行,出现提示“NullPointerException”。

    代码托管

    • 代码提交过程截图(最后一次的截图):
      • 运行 git log --pretty=format:"%h - %an, %cd : %s" 并截图
    • 代码量截图:
      • 运行 find src -name "*.java" | xargs cat | grep -v ^$ | wc -l 并截图

    上周考试错题总结

    • *1.Linux Bash中,查找当前目录中前天创建的Java文件的命令是(find . -name .java -ctime 2)
    • 注意点:是当前目录而不是home目录
    • 6.~0b1011的十进制值是(-12)
    • 知识点:逻辑上,计算机中的二进制是以补码的形式存在。
    • 12.判断:0.123==1.23e-2(X)
    • 编程发现是正确的?

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 45/45 1/1 15/15
    第二周 288/333 2/3 21/31
    第三周 513/846 1/4 11/42
    • 计划学习时间:15小时

    • 实际学习时间:11小时

    • 改进情况:多花点时间

    参考资料

  • 相关阅读:
    [华为]字符串反转
    [华为]字符个数统计
    [华为]字符串分隔
    [华为]计算字符个数
    [华为]字符串最后一个单词的长度
    感悟-思考-生活
    [百度校招]打印全排列
    [阿里]逆序打印整数,要求递归实现
    [百度]数组中去掉连续重复的数字,只保留1个
    百度NLP三面
  • 原文地址:https://www.cnblogs.com/protectmonarch/p/6539176.html
Copyright © 2020-2023  润新知