20172313 2017-2018-2 《程序设计与数据结构》第六周学习总结

20172313 2017-2018-2 《程序设计与数据结构》第六周学习总结

教材学习内容总结

  1. 学习了如何声明和使用一个数组。
  2. 学习了要进行边界检查,确保只因用数组有效范围之内的索引值。
  3. 学习了数组不同的声明方式和初始化方式。
  4. 学习了当数组保存对象时的使用。
  5. 初步学习了命令行实参的使用。
  6. 学习了如何在调用方法时怎样接受任意个数的参数。
  7. 初步学习了二维数组的使用

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

  • 问题1:书上在介绍数组的概念时,说数组的索引值从0开始而不是从1开始能够使元素地址的计算更为简单。
  • 问题1解决方案:如果索引为0的话,那么数据起始地址也就是0了,在计算的时候不用再进行相加运算,从而提高了访问效率。
  • 问题2:刚开始学习命令行实参时,真的有点懵,不明白书上所要表达的意思是什么。
  • 问题2解决方案:在看了书上的例题后,又从资料上又找了个示例,算是初步弄明白了。
  • 代表运行是传入的参数,
    main(String[] args){
    System.out.print("args[0] = " + args[0]);
    }
    如果运行的时候,假设程序名是testMain.java
    然后输入 java testMain hello;
    输出的就是args[0] = hello;

  • 问题3:在学习书上的例题8.8的时候,实在是不知道increaseSize的含义到底是什么。
  • 我一度还上网搜索并且还翻看了之前学习的内容,我以为是我在哪个部分的知识存在着遗漏,直到最后我才发现原来方法是写在代码最后的/(ㄒoㄒ)/~~,学习的进程才又一次得以进行。这也为我提供了一个编写代码的的格式,在前面先写上一个方法来解决问题,最后再对方法进行详细的阐述。

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

  • 问题1:在做习题8_1的时候,运行代码时总显示我有非法字符。可我在代码里并没有其他的非代码字符啊。
  • 问题1解决方案:我仔细的看了下,原来是我把分号用成中文的了,原来我用vim进行编写的时候,中英文的标点符号差距比较明显,所以也就更好区分。换用IDEA后暂时还没有习惯过来,以后还是要多加小心才是。
  • 问题2:在编写习题8_5的时候,在屏幕上输出是否继续输入后并不能输入,直接跳过了这一不,并且显示标准方差不存在。
  • 问题2解决方案:由于不能输出,所以我就想我的another=scan.nextLine到底是哪出了错误,我仔细检查了一遍,前后也不存在中英文半角符号用错的现象,语法上也没有出现问题,我就又联想到了以前王老师上课时所讲的问题,我原来也犯过这种错误,为了加深印象,在这里再一次进行记录。
  • nextInt只读取整数,并没有读取输入进去的\n,也就是说后面的nextLine会读取\n,但并不返回,会导致后面的一个语句显示没有读取输入就直接跳过了。

  • 问题3:还是在做习题8_5的时候,不能正确的显示标准方差的值。
  • 问题3解决方案:这个是由于粗心大意问题连计算时的表达式的代码都写错了( ̄_ ̄),这里也就不过多赘述了,直接附上正确的代码图。
  • 问题3:在编写习题8_6的时候,提示我没有返回语句,可我明明是写了返回语句的。
  • 问题3解决方法:我反复对代码进行了检查,发现我的return语句是在if条件语句之内的,也就是说在if语句内进行返回,在这个方法内却没有返回值,我把代码修改了一下,使得在这个方法内进行返回,详看下面的方法图。

代码托管

上周考试错题总结

  • 错题1: The idea that program instructions execute in order (linearly) unless otherwise specified through a conditional statement is known as
    A . boolean execution
    B . conditional statements
    C . try and catch
    D . sequentiality
    E . flow of control
  • 解析 “控制流程”描述了指令执行的顺序。 它默认为线性(或顺序),但通过使用控制语句(如条件和循环)进行更改。
  • 原因:这道题完全就是粗心了,如果认真一点耐着性子好好地把英语读一遍是可以做对的。
  • 错题2: If a break occurs within the innermost loop of a nested loop that is three levels deep
    A . when the break is encountered just the innermost loop is "broken"
    B . when the break is encountered, all loops are "broken" and execution continues from after the while statement (in our example)
    C . when the break is encountered, all but the outermost loops are broken, and execution continues from the next iteration of the while loop (in our example)
    D . this is a syntax error unless there are break or continue statements at each loop level
    E . none of the above
  • 解析 最内层的循环(在我们的例子中为for循环)被破坏,执行从for循环结束后继续执行。
  • 原因:这道题应该是属于我的英语问题了...没有很好的理解这道题的意思,还是应该好好的提升下自己的英语水平...
  • 错题3: 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
  • 解析 您也可以使用<,>,==,!=,<=,> =直接比较char变量,但对于任何字符串比较,必须使用compareTo(),equals()和equalsIgnoreCase()。
  • 原因:这道题确实不是特别清楚,要好好的识记一下。
  • 错题4: You might choose to use a switch statement instead of nested if-else statements if
    A . the variable being tested might equal one of several hundred int values
    B . the variable being tested might equal one of only a few int values
    C . there are two or more int variables being tested, each of which could be one of several hundred values
    D . there are two or more int variables being tested, each of which could be one of only a few values
    E . none of the above, you would never choose to use a switch statement in place of nested if-else statements under any circumstance
  • 解析 switch语句只能在被测试的单个变量使用时使用,并且它是一个整型(int或Java中的char)。 此外,因为您必须枚举每个可能的测试值,所以switch语句只有在被测试值的数量很小时才有意义。
  • 原因:这道题也是由于自己的疏忽,没有认真的读题导致了错误。
  • 错题5: If a switch statement is written that contains no break statements whatsoever,
    A . this is a syntax error and an appropriate error message will be generated
    B . each of the case clauses will be executed every time the switch statement is encountered
    C . this is equivalent to having the switch statement always take the default clause, if one is present
    D . this is not an error, but nothing within the switch statement ever will be executed
    E . none of the above
  • 解析 虽然写这样一个转换语句是不寻常的,但它是完全合法的。 开关语句执行的正常规则适用于在计算开关表达式后执行的匹配的case子句。 之后,依次执行所有后续子句,因为没有终止开关/大小写执行的中断语句。
  • 原因:概念的理解不清。
  • 错题6: A continue statement
    A . may be used within a while or a do-while loop, but not a for loop
    B . is identical to a break statement within Java loops
    C . may be used within any Java loop statement
    D . may be used within a for loop, but not within a while or a do-while loop
    E . none of the above
  • 解析 尽管应该避免使用continue语句,但是如果可能的话,它们可以在Java的三个循环中使用:for,while和do-while。
  • 原因:书本上的概念理解不清。
  • 错题7: Given that s is a String, what does the following loop do?
    for (int j = s.length( ); j > 0; j--)
    System.out.print(s.charAt(j-1));
    A . it prints s out backwards
    B . it prints s out forwards
    C . it prints s out backwards after skipping the last character
    D . it prints s out backwards but does not print the 0th character
    E . it yields a run-time error because there is no character at s.charAt(j-1) for j = 0
  • 解析 变量j从字符串的长度向下计数到1,每次在位置j-1打印出字符。 长度为1的字符是打印的第一个字符,这是字符串的最后一个字符。 它会一直持续到j = 1,并在位置j - 1或第0个字符处打印字符,以便向后打印整个字符串。
  • 原因:对题意的理解有问题。
  • 错题8: In Java, it is possible to create an infinite loop out of while and do loops, but not for-loops.
    A . true
    B . false
    解析 确实,循环可以是无限循环,但Java for循环也可以是无限循环。 在许多其他编程语言中,这种情况并非如此,其中for循环具有设置的起点和终点,但Java for-loops比大多数其他语言的for-loops灵活得多。

结对及互评

:

点评模板:

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

    • xxx
    • xxx
    • ...
  • 代码中值得学习的或问题:
    • xxx
    • xxx
    • ...
  • 基于评分标准,我给本博客打分:XX分。得分情况如下:xxx

点评过的同学博客和代码

  • 本周结对学习情况

    • 结对同学学号1
    • 结对照片
    • 结对学习内容
      • XXXX
      • XXXX
      • ...
  • 上周博客互评情况
    • 学号1
    • 学号2
    • 学号3
    • 学号4
    • ...

其他(感悟、思考等,可选)

这周的学习任务还是比较的重的,也增加了许多新的具有一定难度的内容,此外,在编写代码的过程中,我同样也发现了自己的一些问题,粗心大意的毛病还是没有改掉,也因此耽误了不少学习的进度。还是希望在以后的学习生活中得以改进和避免。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 126 1/1 20/20
第二周 388/466 1/2 15/35
第三周 706/1162 1/3 17/52
第四周 1104/2266 1/4 20/72
第五周 1126/3392 1/5 15/87
第六周 906/4298 1/6 20/107
  • 计划学习时间:20小时
  • 实际学习时间:20小时
  • 改进情况:以后还是要更加努力地敲代码才行!!!

参考资料

原文地址:https://www.cnblogs.com/yu-kunpeng/p/8849504.html

时间: 2024-10-06 20:53:47

20172313 2017-2018-2 《程序设计与数据结构》第六周学习总结的相关文章

《程序设计与数据结构》第九周学习总结

学号 20172326 <程序设计与数据结构>第九周学习总结 教材学习内容总结 图:图(Graph)是一种复杂的非线性结构,在图结构中,每个元素都可以有零个或多个前驱,也可以有零个或多个后继,也就是说,元素之间的关系是任意的.与树的区别在于树中的一个结点只有一个前驱,也就是说只有一个父结点.但图中的顶点(结点)是没有这种限制关系的. 无向图:边为无需结点对的图.也就是说,现有两个顶点A.B.(A,B)与(B,A)效果相同.当两个顶点之间有边连接,也就是说这两个顶点是邻接的,也称作邻居.一个顶点

20172305 2017-2018-2 《程序设计与数据结构》第一周学习总结

20172305 2017-2018-2 <程序设计与数据结构>第一周学习总结 教材学习内容总结 本书的第一章简单的介绍了计算机和JAVA的历史,基础内容很多,代码的讲解还没用正式进入,本周一直在做敲代码的准备,简单敲了老师给的"Hello World!"以及书后的PP1.3.PP1.4等简单的小程序. 教材学习中的问题和解决过程 问题1:三种不同类型的错误,运行错误和逻辑错误的混淆 问题1解决方案:针对EX1.20的"希望做加法时却做里乘法"进行了网上

20172314 2017-2018-2 《程序设计与数据结构》第一周学习总结

20172314 2017-2018-2 <程序设计与数据结构>第一周学习总结 教材学习内容总结 本书第一章为计算机系统概述,前面是一些计算机相关的基础知识,让我对计算机有了一个总体的认识,不再是一片空白了,对主存储器和CPU影响深刻,主存储器用于保存程序和数据,CPU执行程序指令.在接下来的Java编程语言与程序开发部分,开始看的时候有点迷茫,不是很理解,后来先按照作业中附带的流程完成一些代码托管之后,接触了完整的简单的程序之后,再回过头来看书,看到的一些陌生的名词在脑海中就有了实际的对应,

20172317《程序设计与数据结构》第一周学习总结

20172317 2017-2018-2 <程序设计与数据结构>第一周学习总结 教材学习内容总结 重新温习了一遍计算机的基础 总算了解了局域网广域网因特网万维网这些东西之间的区别了 通过URL的例子知道了网址各个部分的含义 对Java编程语言和程序开发有了一个粗浅的了解 教材学习中的问题和解决过程 问题:练习题SR1.13出现了答案与题目不相符的情况 问题解决方案:题中有个选项是"网卡",答案中没有,反而有个题目没有的选项"调制解调器"(俗称"

20172322 2017-2018-2 《程序设计与数据结构》第二周学习总结

20172322 2017-2018-2 <程序设计与数据结构>第二周学习总结 教材学习内容总结 了解了print与println的区别 了解了字符串的拼接可以用+来完成 了解了转义字符的使用 学会了使用赋值 学会使用部分算术运算符 学会了使用Scanner来实现交互性 教材学习中的问题和解决过程 问题1:在最初接触赋值时对foalt和double的赋值范围不了解 问题1解决方案:使用万能的度娘后看到一个高赞答案后有了了解 问题2:在提前预习时看到2.7图形后敲入的代码无法执行 问题2解决方案

20172328《程序设计与数据结构》第二周学习总结

20172328李馨雨<程序设计与数据结构>第二周学习总结 又到周五,李馨雨同学要开始写博客了.让我们开始吧!(????) 教材学习内容总结 1.首先是String类定义的字符串,然后是print和println的区别.转义字符的学习.(让我印象深刻的\b[回车符]在字符串结尾不显示哈哈,及其更新的\t[换行符],还有在课堂上真正明白了什么是回车.) 2.了解变量.常量.赋值语句.变量:保存数据的内存单元.常量:坚定自己不会变的数据!除非你用java的反射(有点复杂,改权限.去修饰符等等.没实

20172327 2017-2018-2 《程序设计与数据结构》第二周学习总结

20172327 2017-2018-2 <程序设计与数据结构>第二周学习总结 教材学习内容总结 字符串的拼接和转义序列的使用 变量的声明和使用 讨论语法及表达式的处理 定义数据转换类型和实现类型转换的机制 创建Scanner类 教材学习中的问题和解决问题 暂无 代码学习中的问题和解决过程 问题1:在提交过程中,突然遇到无法上传的情况 问题2解决方案:通过上网查找,输入git pull之后弹出一个编辑框,选择关闭之后,再次用git push就成功了. 问题2:在按照例题2.10打代码时,Jav

学号20172328《程序设计与数据结构》第九周学习总结

学号20172328<程序设计与数据结构>第九周学习总结 教材学习内容总结(异常和递归) 第11章:异常 1.[异常处理]: 一个异常:是一个定义非正式情况或错误的对象,由程序或者运行时环境抛出,可以根据需要捕获和处理. 错误:错误类似于异常,但是错误代表不可恢复的问题并且必须捕获处理. 2.[处理异常的三种方法]:①根本不处理异常②当异常发生时处理异常③在程序的某个位置集中处理异常. 3.[未捕获的异常]:如果程序中不处理异常,则程序将非正常的终止运行,并产生关于描述在何处发生什么异常的信息

20172326 《程序设计与数据结构》第九周学习总结

学号 20172326 <程序设计与数据结构>第九周学习总结 教材学习内容总结 异常(exception):定义非正常情况下或错误的情况的对象,由程序或运行时环境抛出,可根据需要进行相应的捕获处理. 异常与错误的区别:错误代表不可恢复的问题并且必须捕获处理.而异常可以忽视,或者使用try语句处理,或调用更高级的方法. 可检测异常与不可检测异常:可检测异常必须由方法捕获,或者必须在可能抛出或传递异常方法的throws子句中列出来.在方法定义的声明头中追加一条throws子句.不可检测异常不需要使

20172322 2017-2018-2 《程序设计与数据结构》第九周学习总结

20172322 2017-2018-2 <程序设计与数据结构>第九周学习总结 教材学习内容总结 异常 学会了使用try-catch来实现未捕获的异常的处理.可以使得异常被捕获进而不导致程序出现错误退出.使用try写入可能产生异常的语句,使用catch来编写在捕获异常后继续执行的代码(可以为空). "未捕获的异常"指在编译过程中不会被编译软件显示异常但是在运行时会出现异常导致程序直接退出,例如:"ArithmeticException"."In