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

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

教材学习内容总结

学的有些晕的第八章数组

  • 1.类似于一个列表的数组中所包含的元素被称为数组元素。
  • 2.数组是对象,使用前必须声明数组。(声明时需要定义数据的类型。)
  • 3.边界检查:数组的长度是不变的,若是超出会抛出ArrayIndexOutOfBoundsException异常。最容易产生的就是差1错误。(因为索引是从0开始)
  • 4.数组的两种声明方式:①int[] grades; ②int grades[]; (第一种方式常用)
  • 5.数组初始值表:只能在数组的第一次声明时使用,初始化实质上与声明基本类型变量的初始化概念相同。
  • 6.整个数组可以作为参数传递给一个方法。一个数组元素也可以传递给方法。
  • 7.数组也可以将对象引用作为元素保存。
  • 8.给程序提供输入信息的方式命令行实参。(String[]参数(通常称为args))
  • 9.可变长度参数表(每次调用方法时需要处理的数据量不同)(数据类型 ... 形参)
  • 10.二维数组([][]第一个是行,第二个是列)
  • 11多维数组:java并不能直接支持多维数组,多维数组表示为保存数组对象引用的数组,也就是把数组保存在数组中,从而形成多维数组。

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

  • 问题1:数组索引的[]运算符的优先级是什么
  • 问题1解决方案:有最高优先级,意思就是多个运算在一起时,它是最先进行的。
  • 问题2:例8.3下图语句的意思

  • 问题2解决方案:算的是字符current与字符A的差值作为索引值,找到该数组的位置,加一,算该字符出现的次数。
  • 问题3:怎么样把数组中的每个数据输出出来。
  • 问题3解决方案:举个例子,声明数组为int[] primeNums;,想把数组中的数都输出出来要用for循环,比如for (int prime: primeNums) System.out.println(prime);
  • 问题4:命令行实参的作用
  • 问题4解决方案:String[] args是main函数的形式参数,可以用来获取命令行用户输入进去的参数。声明main函数的时候一定要在括号里写上它,否则会报错。
  • 问题5:例8.14这两行代码的意思

  • 问题5解决方案:第一行的意思是算scores这个数组最外层的长度,所以是4。第二行的意思是算scores这个数组最内层也就是第二个大括号中的数组长度,所以是10。(注意第二行代码加了[0]

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

  • 问题1:算数组长度时用的变量名.length而不是变量名.length()
  • 问题1解决方案:因为用的是属性而不是方法。
  • 问题2:pp8.1输50超出长度了。

  • 问题2解决方案:图一改为图二,长度差了1,就是所谓的差一问题。

  • 问题3:结果把判断结束输入数字的最后一个0.2也算了一次次数。

  • 问题3解决方案:图一改为图二

  • 问题4:pp8.6题目都看不懂,一点都无从下手,错误多的都不知道怎么说。(悲伤(〒︿〒))
  • 问题4解决方案:这题具体就看码云吧,因为从头到尾都是改过无数遍的,错误具体也没记住。

代码托管

上周考试错题总结

1.Assume that count is 0, total is 20 and max is 1. The following statement will do which of the following? if (count != 0 && total / count > max) max = total / count;

  • A . The condition short circuits and the assignment statement is not executed
  • B . The condition short circuits and the assignment statement is executed without problem
  • C . The condition does not short circuit causing a division by zero error
  • D . The condition short circuits so that there is no division by zero error when evaluating the condition, but the assignment statement causes a division by zero error
  • E . The condition will not compile because it uses improper syntax
  • 答案:A ;我选的:D
  • 分析:左边的条件是错误的,因此该条件语句直接是不执行的。又因为条件语句是错的,所以该条件语句下的赋值语句也不执行。
  • 单词:1.short circuits:条件语句。2.assignment statement:赋值语句。3.division:分开。4.improper:不合适的。

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

3.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
  • 答案:E ;我选的:B
  • 分析:写这样的switch语句是不寻常的,但它完全是合法的。它会一次执行每一条case语句。
  • 单词:1.appropriate:适当的。2.**generated*:生成。3.encountered:冲突。4.equivalent:对等的。

4.How many times will the following loop iterate?

  • int x = 10;
  • do {
  • System.out.println(x);
  • x--;
  • } while (x > 0);
  • A . 0 times
  • B . 1 times
  • C . 9 times
  • D . 10 times
  • E . 11 times
  • 答案:E ;我选的:D
  • 分析:忘记了Do循环先不判断条件,不管满不满足条件,都会运行一次。Do循环是先运行才判断,while循环是先判断再运行
  • 单词:1.loop:循环。2.iterate:迭代。

5.The following for-loop is an infinite loop.

  • for (int j = 0; j < 1000; ) i++;

    A . true

    B . false

  • 答案:A ; 我选的:B
  • 分析:每次迭代的是i,与j无关所以一直是无限循环。
  • 单词:1.infinite:无限。

点评模板:

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

    • xxx
    • xxx
    • ...
  • 代码中值得学习的或问题:
    • xxx
    • xxx
    • ...

点评过的同学博客和代码

  • 本周结对学习情况

    • 20172326
    • 结对学习内容
      • 第八章数组

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

  • 1.很明显!这个数组一章,看着貌似很简单,但是实际做起来题一点都不简单!
  • 2.还是得多做点题,深入了解数组这个小妖精ヽ(#`Д′)?。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 182/182 1/1 10/10
第二周 458/640 1/2 15/25
第三周 469/1109 2/4 18/43 学会IDEA的使用和调试,学会jdb调试。
第四周 1536/2645 1/5 24/67
第五周 980/3625 1/6 25/92
第六周 870/4495 1/7 16/108
  • 计划学习时间:20小时
  • 实际学习时间:16小时
  • 改进情况:这周因为种种原因,所以拖到了周五才开始学Java,然后一个周末努力奋斗,坚持不懈的与java做斗争,终于还是完成了这周的任务!但是学习的时间并不长!

参考资料

原文地址:https://www.cnblogs.com/yu757503836/p/8783042.html

时间: 2024-10-09 17:18:44

20172332 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