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. iOS 内存管理之属性关键字

    你好2019!一起努力呀! 主要分三种类型: 1.原子操作相关: nonatomic.atomic nonatomic:非原子操作,对属性赋值的时候不加锁,多线程并发访问会提高访问效率 atomic: ...

  2. js 设计模式——观察者模式

    观察者模式 定义 观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状 ...

  3. 在windows上安装不同(两个)版本的Mysql数据库

    1.起因: 需要导入一个sql文件,发现死活导不进去.当执行到这一句时,就有问题.经过一番搜索,原来是我的数据库版本(原先Mysql版本5.5)低了,而支持该语句的版本应该是至少要5.7.那我索性就去 ...

  4. TI DSP 6657 SRIO 简介

    目录 TI DSP 6657 SRIO 简介 SRIO 协议介绍 RapidIO 基础 TI DSP 6657 SRIO 简介 SRIO 协议介绍 TI 的 KeyStone 系列设备中实现了 Rap ...

  5. 使用zabbix发送邮件的简易设置流程(存档用)

    1.安装邮件软件 (一般默认安装sendmail,这样apache也不用重新设置.) $sudo yum install sendmail 2.在zabbix上设置发送邮件用的本地邮箱 选择管理-&g ...

  6. hadoop--hive数据仓库

    一.hive概述 Hive是基于 Hadoop 的一个[数据仓库工具],可以将结构化的数据文件映射为一张数据库表,并提供简单的 sql 查询功能,可以将 sql 语句转换为 MapReduce 任务进 ...

  7. 7 stark组件介绍、配置、2层url

    1.django的admin配置 model.py from django.db import models # Create your models here. class UserInfo(mod ...

  8. Masonry的简单使用(一)

    Masonry的简单使用(一) 一.新建工程 二.导入Masonry,可从我的GitHub上获取"Masonry":https://github.com/sycFuture/Mas ...

  9. 用C实现单隐层神经网络的训练和预测(手写BP算法)

    实验要求:•实现10以内的非负双精度浮点数加法,例如输入4.99和5.70,能够预测输出为10.69•使用Gprof测试代码热度 代码框架•随机初始化1000对数值在0~10之间的浮点数,保存在二维数 ...

  10. 关于SDK-manager中我们需要下载哪些?

    废话少说,直接看图说话…… 图片取自博客文章——链接跳转:点击跳转