20172333 2017-2018-2 《Java程序设计》第6周学习总结

教材学习内容

1.数组的基本用法,如数组的定义:int[该数组类型] name = new int[X]X为数组对象多少。索引是从0开始,即X=30,则对象的索引为0~29.

2.数组声明方式有两种,都可以用 int[] name或者int name []

3.数组可单独作为一个单独对象当做参数使用,即可以使用方法对整个数组内的对象使用。


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

  • [x] 问题1:在pp8.1的编写过程中,遇到的定义一个数组的索引上限为50,结果输入20,显示超出索引。图

  • 解决过程:按常理来说,定义索引为50,则在0~49就不应该出错,这里却出现错误,尝试过输入其他数值,结果依旧是错误,我抱着试一试的心态把索引的常量定义为一个极限int大的值,原以为应该不会出错,但结果依然不变,我突发灵感想到,可能错误不在这里,就把目光移到下面我使用过索引值的地方,在一个while语句中看到了一处int b = -1 zs[b++]的疑似语句,在开始我输入这段语句是为了让代码从0开始进入,后来进行一些调整后发现错误消失了,也算了解到在索引上用++在第一次使用该对象时不会+1,而会先用该对象的数值进行一轮循环。
  • [x] 问题2:运行pp8.1的过程中,出现无论输入什么值,最终结果输出0~50都会有1次出现。图

  • 解决过程:在进行测试过程中,我有想过是不是我的if语句有错误,并多次将引用数组中的代码移出if语句,最后发现是我for语句中的索引的那个对象值使用错误。

  • [x] 问题3:Idea运用时建立不了.class类。图

  • 解决过程:
    遇事不决问百度,查阅知道,Idea中需要定义文件夹为source类型才可以建立。
    -总结:在做这个pp5.7的时候算是我第一次独自码这么100多行的Java程序,过程有点艰辛,但是还是有些收获,比如刚开始做这个PP5.7的时候我还单独列了一些处理该PP5.7 的一些要处理的问题,这样做PP5.7的时候不至于摸不着头。如图
    ---

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

  • [x] 问题1:在书8.1中提及过这样一句话“从效率的角度来讲,访问第500个元素与访问第一个元素一样容易。”,书上只是列出元素地址的计算方法便得到这个结论。
  • 解决过程:理解不能,百度咨询没有相关内容。
  • [x] 问题2:在书8.2.4中“如果元素的类型是基本类型,则将传递元素值的副本;如果元素是一个对象的引用,则将传递对象引用的副本。”
  • 解决过程:我尝试过对一个Int数组使用数学方法Math.aprt的方法,不知道为什么,报错了。我不太明白如果对于一个数组到时成功运行后会是对该数组内所有的对象都运用一次方法,还是可以单独指定其中某些使用方法。


代码托管

(statistics.sh脚本的运行结果截图)


点评:

  • 博客中值得学习的或问题:

    在用Math.sqrt(double num)方法时候,IDEA报错说num应该为int类型,而书上也写着无论是输出的sqrt还是输入的num都应该为double型.

在遇到问题后,进行资料查阅以及相关修改,值得我学习。

  • 代码中值得学习的或问题:
    在进行Git commit时的备注内容有条理且井然有序。

点评过的同学博客和代码

  • 本周结对学习情况

    • 20172330李楠
    • 结对照片
    • 结对学习内容
      • Commit内容丰富值得学习
      • 问题及处理方法记录简洁明了。

上周考试错题总结

1.问题:Which of the sets of statements below will add 1 to x if x is positive and subtract 1 from x if x is negative but leave x alone if x is 0?

A . if (x > 0) x++;

else x--;

B . if (x > 0) x++;

else if (x < 0) x--;

C . if (x > 0) x++;

if (x < 0) x--;

else x = 0;

D . if (x == 0) x = 0;

else x++;

x--;

E . x++;

x--;

分析:如果x是正的,x++是在x=-x时执行的,否则,什么都不会发生,或者x不受影响。在A、C、D和E中,逻辑是不正确的。在A x中,如果x不是正的,那么如果x=0,x变成-1,这是错误的答案。在C中,如果x是正的,那么就执行x++。在任何一种情况下,下一个语句都被执行,如果x不是负数,则执行else子句设置x为0。所以如果x是正的,在这组代码之后它就变成了0。在D、x++和x中——如果x不是0,都是执行的。在E中,这段代码并没有试图确定x是否。

2.问题:As in the other members of the C family of languages (C, C++, C#), Java interprets a zero value as false and a non-zero value as true.

A . true

B . false

分析: Java中保留字中有True和false,不用0或1来表示。

3.问题:When comparing any primitive type of variable, == should always be used to test to see if two values are equal.

A . true

B . false1

分析:==在Java中永远是用来定义两个值是否相同。

4.问题:In order to compare int, float and double variables, you can use <, >, ==, !=, <=, >=, but to compare char and String variables, you must use compareTo( ), equals( ) and equalsIgnoreCase( ).

A . true

B . false

分析:语法没有错误,只是使用的人很蠢。


学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 125/125 2/2 20/20
第二周 269/394 2/4 未知/38
第三周 477/920 1/5 X/X
第四周 1179/2338 1/6 --
第五周 1131/3154 1/7 ?/?
第六周 1448/4008 1/8 ?/??

参考资料

20172333 2017-2018-2 《Java程序设计》第6周学习总结的更多相关文章

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  2. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  3. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  4. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  5. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  6. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  7. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  8. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  9. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

  10. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

随机推荐

  1. aarch64_g2

    ghc-cryptonite-devel-0.21-1.fc26.aarch64.rpm 2017-02-28 01:28 3.1M fedora Mirroring Project ghc-css- ...

  2. Linux禁止ping的俩种方法【转】

    Linux禁止ping以及开启ping的方法   Linux默认是允许Ping响应的,系统是否允许Ping由2个因素决定的:A.内核参数,B.防火墙,需要2个因素同时允许才能允许Ping,2个因素有任 ...

  3. python 之datetime库学习

    # -*- coding:utf-8 -*- import refrom datetime import datetime, timezone, timedelta def rec_time():   ...

  4. Mac 升级一次,php 就崩溃一次,有味,苹果....

    Mac升级系统macOS Sierra后PHP不编译 Mac下搭建PHP开发环境(Apache+PHP+MySQL+phpMyAdmin),当Mac 从OS 10.11升级至macOS Sierra( ...

  5. centos 升级linux内核

    =============================================== 2018/1/14_第1次修改                       ccb_warlock == ...

  6. 动态RNN和静态RNN区别

    调用static_rnn实际上是生成了rnn按时间序列展开之后的图.打开tensorboard你会看到sequence_length个rnn_cell stack在一起,只不过这些cell是share ...

  7. 进程同步——哲学家进餐问题Java实现

    哲学家就餐问题是1965年由Dijkstra提出的一种线程同步的问题. 问题描述:一圆桌前坐着5位哲学家,两个人中间有一只筷子,桌子中央有面条.哲学家思考问题,当饿了的时候拿起左右两只筷子吃饭,必须拿 ...

  8. 根据后端传的时间前端js进行倒计时

    一.故事背景: 1. 今天公司有个项目需求 2. 在前端页面实现一个倒计时功能 3. 初步设想:后端根据需求规定一个未来的时间,前端根据当前时间进行计算 4. 然后将时间格式化,时分秒的格式 5. 时 ...

  9. 13 在 O(1) 时间内删除链表节点

    删除链表的一个结点,用下一个结点覆盖掉要删除的结点,再释放掉要删结点的下一个结点的内存 Java: public ListNode deleteNode(ListNode head, ListNode ...

  10. Netty 实现SSL安全连接(wss://)

    原文:Netty5使用自签证书实现SSL安全连接 在客户端是https:// 协议下,使用ws:// 协议连接会报错的,得需要使用wss:// 连接.(ip连接失败时使用域名连接) netty创建服务 ...