20172319 2018.04.01-04.11 《Java程序设计》第5周学习总结

目录


教材学习内容总结

第五章 条件判断与循环

  • 布尔表达式: (1) 控制流:语句的执行顺序,若无方法调用使其改变,会依序执行,条件及循环语句可以控制执行流程。

(2) 相等性运算符:==及!=,用于判断两个数值是否相等;关系运算符:<、<=、>、=>。优先级都低于算数运算符。

(3) 逻辑运算符:与&&、或||、非!。

  • if语句: (1) if语句:true执行,false不执行。

(2) 语句块:语句的集合。

(3) 嵌套:一个判断结束之后的另一个判断。注: else子句与其前未配对的if相匹配。适当的缩进有利于语句的理解。

  • 数据比较: (1) 浮点数比较:精确度的存在影响了其比较。较好方法: 设置误差标准,当二者差绝对值小于其时可以认为二者相等。

(2) 字符比较:Unicode字符集 定义了java中相对顺序。数字在字母前,大写在小写前。

(3) 比较对象:equals方法。a.equals(b)字符完全相同时返回true,否则返回false。

  • while语句: (1) 无限循环:逻辑错误导致无法输出false,循环一直进行。

(2) 嵌套循环:外层执行一次,内层完整循环。

(3) break和continue语句:跳出循环;再次计算控制条件,若为true,再次执行循环体。

  • 迭代器: 一个对象,提供方法来一次处理集合。

(1) 迭代器对象的基本方法: hasNext()

(2) 读取文本文件。

  • ArrayList类: 组织管理对象集。

第六章 其他条件判断和循环

  1. switch语句: 指定字符或整形值与case子句中的值匹配,若满足则执行case语句的内容,都不满足则执行default默认语句。注: break保证只有一条case被执行。
  2. 条件运算符(?:): 条件?true:false
  3. do语句: 先执行,再判断。while语句后有;。注: 至少执行一次。
  4. for语句: 知道循环次数;(初始条件;Boolean;循环体)。

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

  • 问题1: 倘若switch里面没有default呢?
  • 解决: 系统可不会有什么默认的空语句,倘若在switch中找不到适合的条件,那就像if中的任一条件都不满足一样,略过整个语句。

  • 问题2: 倘若一个case语句没有break会怎么样?
  • 解决: 一直执行下去,直到遇见break,即未满足条件的case语句也会被执行。

  • 问题3: 关于浮点数比较中谈及的精度到底是什么?
  • 解决: 有时候转换为进制数是无限循环小数,系统无法表示,只能读到某一数位,因此有可能导致数据发生些许误差,而系统又能判断他们不一样,因此,为了方便只能使用课本所描述的较好方法


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

  • 问题1: 使用循环时出现了无限循环。
  • 解决: 刚开始对循环的理解还不够,只能把原来的句子全面修改,随着练习的增多,逐渐知道怎么才能避免循环语句的出现,对循坏的使用也更加得心应手。
  • 问题2: 编写12x12时发现没有自己想要9x9式的表格
  • 解决: 当时就连switch都用上了,结果还是不行;后来想按数字的1-12一个个循环满足 这样循环的简便就失去了他的意义 ,最后把课本里里外外看了一遍,发现有的内层循环外最后都会有 System.out.println(),结果修改其中的循环调试了一波,发现这个相当于给每一次外层循环的结果建立分割线,最后加到了自己的编程里,得到了自己想要的结果。

代码托管



-------------------------------------------------------------

上周考试错题总结

  • 错题1:
  • 理解: 方法都要返回一些东西,因此必须有返回语句。当要编写一个不返回任何内容的方法时才不需要返回语句,一般在头部用“void”作为其返回类型的方法。
  • 错题2:
  • 理解: 声明一个构造函数甚至是任何类型的void都是违法的,因此会产生语法错误。
  • 错题3:
  • 理解: 只有驱动程序需要主要方法。
  • 错题4:
  • 理解: 当时还没学continue,所以不知道其有什么用,其用于退出循环的其余部分并再次测试条件。
  • 错题5:
  • 理解: 变量的声明位置影响其使用范围,如果在方法内声明与实例数据同名的变量,那么实例数据将在该方法中“隐藏”,因为引用将是局部变量。
  • 错题6:
  • 理解: Comparable类需要定义一个compareTo方法,该方法将比较两个对象并确定其中一个是否等于另一个,或者是否小于或大于另一个,并用负int,0或正int来响应。由于如果两个对象相等,compareTo以0响应,所以不需要定义等于方法。

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

  • 本周虽然敲的东西没有学习类时敲得那么多,但敲的时候需要细致的思考和理解,不然条件及循环语句在应用时会出现错误,从而导致没能输出结果或是出现无限循环。
    看到其他人的博客,自己也去找了些关于markdown语法的更多知识,关于css样式,暂时还没看,之后学了会用进去。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 202/202 1/2 15/15 积极主动敲代码
第二周 490/692 1/3 18/33 善于思考
第三周 581/1273 1/4 15/48 善于完善
第四周 1857/3130 1/6 33/81
第五周 655/3787 1/7 22/103

参考资料

20172319 2018.04.01-04.11 《Java程序设计》第5周学习总结的更多相关文章

  1. 20172319 2018.03.27-04.05 《Java程序设计》第4周学习总结

    20172319 2018.03.27-04.05 <Java程序设计>第4周学习总结 教材学习内容总结 第四章 编写类 类与对象的回顾:对象是有状态的,状态由对象的属性值确定.属性由类中 ...

  2. 20155335 俞昆 2016-2017-2 《Java程序设计》第九周学习总结

    学号 2016-2017-2 <Java程序设计>第九周学习总结 ##JDBC入门 在正式介绍JDBC前,已知JDBC是用来执行SQL的解决方案,开发人员使用JDBC的标准接口,开发人员不 ...

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

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  4. 2018-2019 2 20175230《Java程序设计》第九周学习总结

    <Java程序设计>第九周学习总结 主要内容 MySQL数据库管理系统 1.下载 2.安装 启动MySQL数据库服务器 1.启动 2.root用户 MySQL客户端管理工具 建立连接 建立 ...

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

    20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...

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

    20175208 2018-2019-2 <Java程序设计>第九周学习总结 一.教材学习内容总结: 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系 ...

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

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

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

    20175202 2018-2019-2 <Java程序设计>第九周学习总结 教材知识点总结 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系统,简称 ...

  9. 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...

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

    # 20175126 2016-2017-2 <Java程序设计>第九周学习总结 ## 教材学习内容总结 - 本周学习方式主要为手动敲代码并理解内容学习. - 学习内容为教材第十一章,本章 ...

随机推荐

  1. python为什么叫胶水语言?python为什么是系统脚本?

    python为什么叫胶水语言?python为什么是系统脚本?   特点是什么? python现在最广为闻名的形容大概有这些: 他是很好的胶水语言.什么是胶水语言?反正当时的我不知道. 他是新一代的系统 ...

  2. HBase的简单java操作

    官方文档:http://hbase.apache.org/book.html java简单操作hbase的表 import org.apache.hadoop.conf.Configuration; ...

  3. mysql where语句多条件查询是and和or联合使用bug

    公司项目中有段功能是全局搜索框和下拉列表的联合查询,在联调开发中发现单独用下拉查询是正确的,单独用全局搜索框也是正确的,测试发现是sql语法有问题. 问题截图: 出现问题的核心还是在于搜索框是用于多个 ...

  4. PHP+Ajax+plupload无刷新上传头像代码

    很简单的一款PHP+Ajax+plupload无刷新上传头像代码,兼容性很好,可以直接拿来用.你可以自定义各种类型的文件.本实例中只能上传"jpg", "png" ...

  5. GATK --- wdl 语言

    GATK的pipeline使用WDL进行编写 WDL是一种流程管理语言,内置的支持并行,适合编写pipeline 运行wdl脚本需要两步:第一步编辑参数列表对应的json文件,第二步直接运行Cromw ...

  6. 学习笔记一:I2C协议学习和Verilog实现

    ////////////////////////////////////////////////// //clk = 20 MHz ,一个周期50ns //sck = 100 kHz (scl) ,一 ...

  7. lua函数定义

    FuncState proto结构数组保存函数原型信息;prev保存父函数体指针:actvar保存定义的局部变量:upvalues保存upvalue Lua源码中,专门有一个结构体FuncState用 ...

  8. 使用promis串行化异步操作

    该代码可在chrome下运行,对于低版本浏览器可以引入Q库 function async1() { var defer = Promise.defer() setTimeout(function(){ ...

  9. 从OEL5中启动简单的dns服务

    在OEL5中,有一个 dnsmasq,可以适合小型的实验性的dns设置. 如果可以看到类似如下的内容,说明dnsmasq已经设置好了. [root@dnssvr ~]# rpm -qa dnsmasq ...

  10. switch...case 语句

    var a = 6;switch(a){ case 1:   alert("1111");   break; case 2:   alert("2222");  ...