• 20165207 第二周学习总结


    20165207 第二周学习总结

    问题

    第一周的准备工作为第二周能够心无旁骛地学习创造了条件。我第二周的学习内容主要以学习二三章内容、输入编译教材代码以及教材课后题的练习为主。
    我对于这三部分的遇到的问题的内容总结如下。

    教材

    • 第22页进行类型转换的运算:
    byte a = (byte)128;
    byte b = (byte)-129;
    

    a b 得到的值分别是-128和127。把被转换的数相应的9位的补码从低到高截取8位,这样能够得到结果,或者用补码“模”的想法进行考虑,在溢出之后进行强制转换会发生钟表一样的循环,因此会有-128和127这两个结果。

    • 第二十六页,Java允许使用int型变量为数组指定元素个数,这个“动态”的分配方式与C语言有区别,应当着重记忆。

    代码

    • 第二章代码Example2_4输出语句中使用“+”来衔接着输出对应数组元素的值,缺少加号编译无法通过,而且显示的不是缺“+”。

    • 第二章代码Example2_3中reader对象调用nextDouble方法,输入的时候忘记后面的括号,编译不通过。

    • 第二章应用举例折半查找的代码,没有声明变量middle。

    • 第三章第一个例子的程序,使用按位异或进行加密,然后又使用异或运算进行解密。我借此了解的逆运算还是的概念。

    课后题

    • 31页课后题2(6),做题的时候我不了解经过初始化但未赋值的数组的元素是0,当时觉得BC都有问题。周四上课后,我借助娄老师介绍的jdk1.9里面的jshell,非常方便的弄明白了这个问题。

    • 32页课后编程题第二个,要求输出所有的希腊字母。我的思路是通过希腊字母的Unicode字符表中的位置来进行循环控制,然后依次输出,但我并不知道希腊字母的开头位置以及总共的个数。首先,查看软键盘了解到一共有50个

      我假设开头是α写了一个程序

      但是编译运行之后输出的结果并不是所有的希腊字母,后面有好多都是不知道是什么东西的东西

    再然后我又把A当成了字符集第一个希腊字母试了下,并且去掉了换行改成了用逗号分隔

    然后输出了应该是正确的结果。

    一共50个希腊字母。

    • 48页2(3),据我所知如果出现“找到……需要……”的提示,应该是因为被赋给的值超出了取值范围。但这道题'a'的位置显然是97,97加上12也要比最小范围的byte所对应的上限127要小。因此我又使用jshell进行测试,截图如下。只有C选项编译错误,但描述与题中并不相符,没有显示“可能损失精度,找到int需要char”。如图

    代码行数统计

    脚本运行截图如下:

  • 相关阅读:
    joda-time的使用
    logger 的使用一 小结
    svn 技巧
    mysql 获取一段时间的数据
    Drools5
    Java各种Utils小结
    Java 8 新特新 工具类 ZonedDateTime
    集合工具类CollectionUtils、ListUtils、SetUtils、MapUtils的使用
    sonar 的使用
    MySQL入门教学(看完必懂,图文详解!)
  • 原文地址:https://www.cnblogs.com/ltl0501/p/8544044.html
Copyright © 2020-2023  润新知