20172319 2018.04.01-04.11 《Java程序设计》第5周学习总结
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类: 组织管理对象集。
第六章 其他条件判断和循环
- switch语句: 指定字符或整形值与case子句中的值匹配,若满足则执行case语句的内容,都不满足则执行default默认语句。注: break保证只有一条case被执行。
- 条件运算符(?:): 条件?true:false
- do语句: 先执行,再判断。while语句后有;。注: 至少执行一次。
- 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周学习总结的更多相关文章
- 20172319 2018.03.27-04.05 《Java程序设计》第4周学习总结
20172319 2018.03.27-04.05 <Java程序设计>第4周学习总结 教材学习内容总结 第四章 编写类 类与对象的回顾:对象是有状态的,状态由对象的属性值确定.属性由类中 ...
- 20155335 俞昆 2016-2017-2 《Java程序设计》第九周学习总结
学号 2016-2017-2 <Java程序设计>第九周学习总结 ##JDBC入门 在正式介绍JDBC前,已知JDBC是用来执行SQL的解决方案,开发人员使用JDBC的标准接口,开发人员不 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 2018-2019 2 20175230《Java程序设计》第九周学习总结
<Java程序设计>第九周学习总结 主要内容 MySQL数据库管理系统 1.下载 2.安装 启动MySQL数据库服务器 1.启动 2.root用户 MySQL客户端管理工具 建立连接 建立 ...
- 20175209 《Java程序设计》第九周学习总结
20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...
- 20175208 《Java程序设计》第九周学习总结
20175208 2018-2019-2 <Java程序设计>第九周学习总结 一.教材学习内容总结: 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系 ...
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 20175202 《Java程序设计》第九周学习总结
20175202 2018-2019-2 <Java程序设计>第九周学习总结 教材知识点总结 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系统,简称 ...
- 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结
20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...
- 20175126《Java程序设计》第九周学习总结
# 20175126 2016-2017-2 <Java程序设计>第九周学习总结 ## 教材学习内容总结 - 本周学习方式主要为手动敲代码并理解内容学习. - 学习内容为教材第十一章,本章 ...
随机推荐
- [图解tensorflow源码] TF系统概述篇
Rendezvous 1. 定义在core/framework/rendezvous.h 2. A Rendezvous is an abstraction for passing a Tensor ...
- CANOPEN开发问题
我是一名研二的学生,现在教研室要开发canopen,我已经看了几个月了,在网上找了canopen的开源代码CANfestival,现在想做移植,有几个问题想要请教:1,开发主站,只买beckhoff的 ...
- IOS马甲包(诚招大量开发)
马甲包的字面意思给产品穿马甲,但是我认为马甲包更像是产品的一种分身,一种和产品一样拥有灵魂,拥有肉身的一种分身.它能为产品带来同样的功能效果. 一.什么是马甲包通过技术手段,多次上架同一款产品的方法. ...
- muduo 网络库学习之路(一)
前提介绍: 本人是一名大三学生,主要使用C++开发,兴趣是高性能的服务器方面. 网络开发离不开网络库,所以今天开始学一个新的网络库,陈老师的muduo库 我参考的书籍就是陈老师自己关于muduo而编著 ...
- MySQL 卸载
第一步:先查看 mysql 服务是否停止 没有停止就停止 第二步:用 管理员身份 运行 命令提示符 查看mysql 服务是否停止 : net stop mysql 卸载 : mysqld remo ...
- scala集合与java集合的转换应用
今天在业务开发中遇到需要Scala集合转为Java集合的场景: 因为业务全部是由Scala开发,但是也避免不了调用Java方法的场景,所以将此记录下来加深记忆: import scala.collec ...
- vb6 使用msxml2.serverxmlhttp 请求HTTP
Private Sub Command1_Click() Command1.Enabled = False GetHtmlStr Text1 End Sub Private Sub GetHtmlSt ...
- 安装OpenLDAP步骤
磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL杂记页 回到顶级页面:PostgreSQL索引页 [作者 高健@博客园 luckyjackgao@gmail. ...
- Noip前的大抱佛脚----考场配置
(global-linum-mode t) (global-set-key (kbd "RET") 'newline-and-indent) (setq default-tab-w ...
- 15-[mysql内置功能]--函数,流程控制 (未完成)
1.MySQL中提供了许多内置函数 一.数学函数 ROUND(x,y) 返回参数x的四舍五入的有y位小数的值 RAND() 返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器 ...