20172330 2017-2018-1 《Java程序设计》第五周学习总结

20172330 2017-2018-1 《Java程序设计》第五周学习总结

教材学习内容总结

第五章

  • 首先是对各种各种运算符的了解:刚开始以为相等就是=,还有其他一些符号都挺简单的,然后在进一步学习知道了“==”与“!=”都是相等型运算符,而“!”,“&&”,“||”则分别代表非,与,或。

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

  • 其次是if语句:

    1.if语句由保留字if、紧随其后的布尔表达式及一条或一组语句构成。条件表达式包含在括号内,并且其运算结果只能是ture或者false。如为ture,执行if语句中的语句,然后执行if后的语句;如为false,则不执行if语句中的语句,然后继续执行if语句中的语句。

    2.if-else语句可以使程序在某个条件表达式的值为true时执行一段代码,其值为false时执行另一段代码。

    3.使用语句块:在Java中,可以用语句块来代替任意一条语句。语句块是由括号括起来的多条语句的集合。

    4.if语句的嵌套:a.一条if语句中嵌入另一条if语句,这种情况称为if语句的嵌套。b.在一个嵌套的if语句中,else子句和它前面最近且未匹配的if语句相匹配。

  • 还有while语句:

    1.while语句是一种循环语句,像if语句一样计算布尔表达式的值,并在其值为true时执行一条语句(称为循环体)。但while语句会在循环体执行完毕后再次计算表达式的值,这一点与if语句不同。如果此时表达式的计算结果仍然为ture,将再次执行循环体。这一循环体不进行下去,直到表达式为false时停止。|while执行相同的语句,直到它的条件变为false。|

    2.无限循环:必须精心设计程序,已避免无限循环。

    3.嵌套循环:一个循环体中可能包含另一个循环,这称为嵌套循环。外层循环每执行一次,内层循环就会执行指定次数的完成循环。

    第六章

  • 第一是switch语句

    1.Java中的另一种条件语句是switch语句,该语句可使程序从多条执行路径中选择一条来执行,这些路径的选择基于某个单一的值。使用多个if语句可以构造出同样的逻辑,但是使用switch语句可使代码更易与理解。

    2.switch语句先计算一个表达式的值,然后将该值和几个可能的case子句取值进行匹配。每种取值都有与之关联的执行语句。当计算出表达式的值后,控制会转移到与表达式值相匹配的第一条case子句执行。

  • 第二是do语句

    1.do语句和while语句很相似,do循环也重复执行循环体中的语句,直到循环控制条件变为false

  • 第三是for语句

    1.for语句通常用于已知循环次数的情况。

    2.for循环的控制头中包含由分号隔开的三部分。在循环开始前,首先执行称为初始化的第一部分;第二部分是一个布尔表达式,在执行循环体前先计算(类似while循环)。如果计算值为ture,将执行循环体,然后执行称为增量的第三部分。

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

  • 问题1:迭代器的理解
  • 问题1解决方案:在查阅资料之后了解到迭代器就是提供一种方法对一个容器对象中的各个元素进行访问,而又不暴露该对象容器的内部细节。

    https://www.cnblogs.com/zyuze/p/7726582.html

  • 问题2:for语句的使用
  • 问题2解决方案:在做过了例题64之后,书上说for语句特别适用于循环执行前已经明确知道循环次数的情况。for循环只是更便于将循环头中设置和控制循环次数的代码从循环体中分离出来,也就是更容易完成运算。

代码学习中的问题和解决过程

  • 问题1:首先是由于之前编码时没有考虑到while循环的停止,导致做pp51的时候无限运行。
  • 问题1解决方案:在检查代码时候发现在while循环时将语句块的内容强调不清,最后在改了之后成功运行下去。

  • 问题2:在做pp53的时候,程序运行的并没有问题,但是输出结果却发生了错误。
  • 问题2解决方案:在请教了蒋子行同学后发现,我在刚开始定义的时候把left设置为0,导致无论怎样输出都会包含一个0,然后第二次又发现最后读取的始终是一个末位数,最终在修改完之后成功解决了,在此也是很感谢蒋子行同学的帮助。

代码托管

上周考试错题总结

  • Which of the sets of statements below will add 1 to x if x is positive and subtract 1 from x if x is negative but leave x alone if x is 0?

    A .if (x > 0) x++;else x--;

    B .if (x > 0) x++;else if (x <0)x--;

    C .if (x > 0) x++;if (x < 0) x--;else x = 0;

    D .if (x == 0) x = 0;else x++;x--;

    E .x++;x--;

    如果 x 为正数, 则在 x 为负 x 的情况下执行 x++, 否则, 不会发生任何情况, 或者 x 不受影响。 在 A、C、D 和 E 中, 逻辑不正确。 在 A, x-是做如果 x 是不积极的, 因此, 如果 x 是 0, x 成为-1, 这是错误的答案。 在 C 中, 如果 x 为正数, 则执行 x++。 在任一情况下, 将执行下一语句, 如果 x 不是负数, 则执行 else 子句, 将 x 设置为0。 因此, 如果 x 是正数, 则在这组代码之后变为0。 在 D, x + + 和 x-都执行如果 x 不是0。 在 E 中, 此代码不尝试确定 x 是正数还是负数, 它只添加一个, 然后从 x 中减去 1, 使 x 相同。

  • 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

    因为计数是 0, (计数! = 0) 是假的。 因为条件的左手边是假的, 所以条件是短路的, 所以右手边是不计算的。 因此, 避免了潜在的除法错误。 由于条件为 false, 语句最大 = 总计/计数未执行, 再次避免潜在除法为零错误。

  • Which of the following are true statements about check boxes?

    A .they may be checked or unchecked

    B .radio buttons are a special kind of check boxes

    C .they are Java components

    D .you can control whether or not they will be visible

    E .all of the above

    有关复选框的四个语句中的每一个都是 true。

  • Each case in a switch statement must terminate with a break statement.

    A .true

    B .false

    如果中断语句不存在, 控制流就会继续进入下一个案例。

  • A switch statement must have a default clause.

    A .true

    B .false

    默认子句是可选的。

-The statement if (x < 0) y = x; else y = 0; can be rewritten using a conditional operator as

A .y = (x < 0) ? x : 0;

B .x = (x < 0) ? y : 0;

C .(x < 0) ? y = x : y = 0;

D .y = (x < 0);

E .y = if (x < 0) x : 0;

Java 的条件运算符在这种情况下测试一个条件 (x 0), 如果为 true, 则返回 "?" 之后的值。(在本例中为 x), 如果为 false, 则返回以下值: (在本例中为 0)。 原始 if 语句是将 y 指定为 x (如果为 x 0), 否则为0。 这将通过将 y 指定为 x 或0基于 (x 0) 来完成, 如中所示。 在 B 中, x 被指定为向后的 y 或0的值。 在 C 中, 条件运算符在语法上无效。 在 D 中, y 将被设置为 true 或 false, 具体取决于 (x 0), 而 E 中的语句在语法上无效。

  • Which of the following are true statements about check boxes?

    A . they may be checked or unchecked

    B . radio buttons are a special kind of check boxes

    C . they are Java components

    D . you can control whether or not they will be visible

    E . all of the above

    翻阅课本后发现所有方面都是正确的。

  • In Java, it is possible to create an infinite loop out of while and do loops, but not for-loops.

    A . true

    B . false

    while和do循环可以是无限循环,但for循环可以是无限循环。这在许多其他编程语言中都不是真的,因为for-loops有一个集的起点和结束点,但是java for-loops比大多数其他语言的for-loops灵活得多。

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

继续努力加油敲代码。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 180/180 2/2 20/25
第二周 312/414 2/4 20/45
第三周 557/971 2/6 25/70
第四周 1217/2242 2/8 44/114
第五周 734/2976 2/10 24/138
  • 计划学习时间:24小时
  • 实际学习时间:24小时

参考资料

[《Java程序设计与数据结构教程(第二版)》]

[《Java程序设计与数据结构教程(第二版)》学习指导]

原文地址:https://www.cnblogs.com/linanlalala/p/8780200.html

时间: 2024-11-10 22:55:56

20172330 2017-2018-1 《Java程序设计》第五周学习总结的相关文章

20145311 《Java程序设计》第九周学习总结

20145311 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 16.1JDBC 16.1.1JDBC简介 JDBC(Java DataBase Connectivity)是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作,开发人员无须接触底层数据库驱动程序的差异性. 厂商在操作JDBC驱动程序时,依方式可将驱动程序分为4种类型: ·Type 1:JDBC-ODBC Bridge Driver·Type 2:Native API

20165324《Java程序设计》第一周学习总结

20165324<Java程序设计>第一周学习总结 教材学习内容总结 第一章:Java入门 重点一.编写Java程序 第一步编写源文件,(注:第一步中Java严格区分大小写:Java源文件的扩展名是*.java一般Java源文件名与类名一样.保存类型为所有文件.) 第二步编译,(注:第二步中使用Javac命令来编译源文件如: javac Hello.java 编译之后会生成一个字节码文件,字节码文件的文件名和类名相同,字节码文件的扩展名是*.class). 第三步运行,(注:第三步中使用jav

20165203 2017-2018-2 《Java程序设计》第一周学习总结

20165203 2017-2018-2<Java程序设计>第一周学习总结 教材学习内容总结 (一)Java的地位 Java是面向对象编程,并涉及网络.多线程等重要的基础知识,是一门很好的面向对象的语言. (二)Java的特点 简单 面向对象 平台无关 多线程 动态 (三)Java三大平台 Java SE Java EE Java ME (四)Java SE的四个组成部分 JVM: Java虚拟机,包含在JRE中 JRE:Java执行环境,运行Java程序必需 JDK: 包括JRK及开发过程中

20165208 2017-2018-2 《Java程序设计》第九周学习总结

20165208 2017-2018-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十三章 URL类 URL对象包含三部分信息:协议.地址和资源 创建URL对象两种方法: public URL (String spec) throws MalformedURLException public URL(String protocol,String host,String file) throws MalformedURLException 使用字符串初始化一个URL对象URL ur

20165235 祁瑛 2018-4 《Java程序设计》第九周学习总结

20165235 祁瑛 2018-4 <Java程序设计>第九周学习总结 教材学习内容总结 URL类 UR类是java.net包中的一个重要类,使用URL创建的对象的应用程序称作称作客户端程序. 一个URL类用如下的构造方法来创建一个类: public URL(String spec) throws MalformedURLException URL创建的对象是http协议,所包含的资源是默认的资源(主页) URL对象可以通过调用InputStream openStream()方法可以返回一个

20155336 2016-2017-2《JAVA程序设计》第二周学习总结

20155336 2016-2017-2 <JAVA 程序设计>第二周学习总结 教材学习内容 1: GIT版本检测 2: JAVA中基本类型 整数 字节 浮点数 字符 布尔(▲) 通过API可以得知各个类型可存储的数值范围 public class Range {public static void main(String[] args){ //byte.short.int.long的范围 System.out.printf("%d~%d%n", Byte.MIN_VALU

20145201 《Java程序设计》第一周学习总结

# 20145201 <Java程序设计>第一周学习总结 ## 教材学习内容总结 万事开头难,终于开始学习了Java.寒假的时候看到老师的要求确实有点慌,但是这周翻开书,从书本知识第一行学起,发现并不是自己想想中那么难,只要一步一个脚印,每周有自己的计划,并按照计划按部就班的完成,最后一定会拥有自己的小成果的. 1.1Java不只是语言 Java经过多年的版本更新后,最新的版本是Java SE8. 在java发展的过程中,它的应用领域越来越广,根据不同级别的应用开发区分了不同的应用版本,最终j

20145326蔡馨熠《Java程序设计》第一周学习总结

20145326蔡馨熠 <Java程序设计>第一周学习总结 教材学习内容总结 转眼间新的一学期终于开始了!为什么我这么期待呢?因为这学期可以上娄嘉鹏老师的java程序设计课,我不是什么电脑天才,之前c语言学得也不是特别好.可我就是对hdl和java特别感兴趣(之前在我的问卷调查报告里面提到过),并且寒假的时候在家里也预习了一部分java知识.第一周要求学习两个章节并作心得体会,虽然我早已看过前两章的知识,不过为了进一步巩固,我还是用了星期六一天的时间把第一章和第二章的知识从头到尾仔仔细细的看了

20145224-陈颢文 《Java程序设计》第一周学习总结

20145224 <Java程序设计>第一周学习总结 教材学习内容总结 通过第一周的学习让我对Java有了个初步的了解,知道了Java分为Java SE.Java EE.Java ME三大平台,其中Java SE是基础.Java的一大特点是它可以跨平台,而JVM对Java的跨平台提供了支持,它就类似于一个虚拟机,只要在当前平台安装了相应的JVM,Java程序就有了可以在此平台上运行的基础啦.JRE是Java的执行环境,在安装了JRE的计算机上就可以运行Java的程序了,当然光是可以跑代码对于程

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

学号 2016-2017-2 <Java程序设计>第九周学习总结 ##JDBC入门 在正式介绍JDBC前,已知JDBC是用来执行SQL的解决方案,开发人员使用JDBC的标准接口,开发人员不需接触底层数据库驱动程序的差异性. 本章,我们需要了解JDBC与API使用和概念,我们先要认识应用程序如何与数据库进行沟通,数据库本身是一种独立运行的应用程旭,程序员撰写的应用程序是利用通信协议对数据库进行指令交换,以进行数据的增加删除以及查找. 通常应用程序会利用一组专门与数据库进行通信协议的链接库,以简化