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

学号 2016-2017-2 《Java程序设计》第三周学习总结

教材学习内容总结

1、对对象创建和对象引用变量的声明及初始化有了了解,加深了对对象和变量的了解;

2、学习了string类的服务以及string类所归属的包;

3、明白了包的概念,以及各种类有其所归属的包还有包的常见类型;

4、学会了两种类的格式输出;

5、学习了枚举型和序数值。

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

  • 问题1:对于浮点型和整数型的使用分不太清,导致在学习第三章的时候做练习时屡次出错,而且有时候错的简直一头雾水。
  • 问题1解决方案:重新学习第二章,加深对两种类型的理解认识,并在每一次遇到问题的时候都百度。举个例子,在做计算题的程序时,前期对变量定义成了整型数,而忽略了结果有可能是浮点数的情况,导致输出错误,其实只要多细心一些,考虑的再多一点也就好了。
  • 问题2:看了书,但是对一些新出现的概念不理解,感觉就是看了也不懂。
  • 问题2解决方案:再次在百度上查阅,就能获得较多的收获,有的会直接给出代码行解释的更加清楚;还有就是老师在蓝墨云上发的视频,只要认真看了就会发现新大陆。

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

  • 问题1:在做练习PP3.3还是PP3.5的时候,输出结果总是NaN。
  • 问题1解决方案:查阅之后知道NaN指的是无效数据,也可以说运算出错吧,到后来发现是运算顺序除了问题,还有搞错了加减号,没办法,只能更加细心吧。但是我对NaN的问题有了新认识:NaN表示不是一个数,例如计算0/0或者负数的平方根结果就是NaN。Java所有的浮点数值计算都遵循IEEE 754标准,用于表示溢出和出错情况的三个特殊的浮点数值:正无穷大、负无穷大、NaN。
  • 问题2:学习了强制转换之后却并不是特别会用,经常出现输出值是double但是却没有转换,导致错误。
  • 问题2解决方案:最主要的是对数的类型忽略了判断,只要在发现之后加上转换类型就OK。

[https://gitee.com/CS-IMIS-23/dky20172325dyk.git]

抱歉脚本的问题并没有解决,但是我的练习的作业绝对都按质量完成。

上周考试错题总结

  • 1.What value will z have if we execute the following assignment statement? float z = 5 / 10; (如果我们执行下面的赋值语句,得到的z将会是什么值?)

    A . z will equal 0.0 (z将等于0.0)

    B . z will equal 0.5 (z将等于0.5)

    C . z will equal 5.0 (z将等于5.0)

    D . z will equal 0.05 (z将等于0.05)

    E . none of the above, a run-time error arises because z is a float and 5 / 10 is an int (以上都不对,因为z是float类型,5 / 10是int类型,所以会发生运行时错误)

    答案:A

    在float z=5/10的赋值语句中,5和10都是int类型的数值,所以5/10得到的结果是0,这个结果0再赋给float类型的z,因此z将等于0.0

  • 2.Of the following types, which one cannot store a numeric value? (在下列数据类型中,哪一个不能存储一个数值型数据?)

    A . int

    B . byte

    C . float

    D . char

    E . all of these can store numeric values (以上所有类型都可以存储数值型数据)

    int和byte用于存储整数(整数)和浮点数,用于存储一个实数或浮点值(带小数点的值)。字符存储一个字符,包括字母、标点和数字。然而,存储数字“5”与存储数字5不一样。

  • 3.If you want to store into the String name the value "George Bush", you would do which statement? (如果你想把"George Bush"这个值存储为字符串类型的名字,你会执行那条语句?)D .String name = new String("George" + " " + "Bush");

    E .Any of the above would work (上述都可以完成)

    答案:E

    有两种方法可以将字符串存储为字符串变量,通过使用“new string (string value)”构造一个新字符串,或者使用赋值语句,因此A或B都可以工作。在C和D中,字符串连接操作符+的变体。所以这四种方法都行得通。

  • 4.如果a、b和c是int类型的变量,a=5,b=7,c=12,那么语句int z = (a * b - c) / a;得出的z等于4。

    不需要四舍五入,只有扩展类型转换时因为有可能损失最低位有效数字,才应该按照IEEE754浮点数标准的舍入。

  • 5.If x is an int and y is a float, all of the following are legal except which assignment statement? (如果x是一个int类型的数,y是一个float类型的数,下面所有赋值语句中哪个不合法?)

    A . y = x;

    B . x = y;

    C . y = (float) x;

    D . x = (int) y;

    E . all of the above are legal (以上全部合法)

    因为x是int,不能只是一个浮点数,除非浮动是扮演一个int。没有明确在b的赋值语句,没有必要因为一个浮动(y)可以接受一个int值(x),C和D,明确投存在法律。

  • 6.Which of the following is true regarding the mod operator, %? (关于求余运算符%,下面哪项是正确的?)

    A .It can only be performed on int values and its result is a double (它只能执行int类型的数值,其结果是double类型的数)

    B .It can only be performed on int values and its result is an int (它只能执行int类型的数值,其结果也是int类型的数)

    C .It can only be performed on float or double values and its result is an int (它只能执行float或者double类型的数值,其结果是int类型的数)

    D .It can only be performed on float or double values and its result is a double (它只能执行float或者double类型的数值,其结果是double类型的数)

    E .It can be performed on any numeric values, and the result always is numeric (它可以执行任何类型的数值,其结果始终是数值)

    Mod,或modulo,返回由一个分区产生的剩余部分。

    其余的总是数值型的。

    尽管通常使用整数值,但%运算符可用于所有类型的数值数据。

  • 7.Java is a strongly typed language. What is meant by "strongly typed"? (Java是一种强类型语言。“强类型”指的是什么?)

    A . Every variable must have an associated type before you can use it (在使用变量之前,每个变量一定都有一个与之关联的类型)

    B . Variables can be used without declaring their type (变量可以在不声明其类型的情况下使用)

    C . Every variable has a single type associated with it throughout its existence in the program, and the variable can only store values of that type (在程序中,每个变量都有一个与之关联的类型,而变量只能存储该类型的值)

    D . Variables are allowed to change type during their existence in the program as long as the value it currently stores is of the type it is currently declared to be (变量存在于程序中时允许改变类型,只要它当前存储的值是当前声明的类型)

    E . Variables are allowed to change types during their existence in the program but only if the change is to a narrower type (变量存在于程序中时允许改变类型,但只能缩窄转换)

  • 8.A variable of type boolean will store either a 0 or a 1. (Boolean类型的变量将被存储为0或1)

    A .true

    B .false

    布尔变量只能存储两个值中的一个,但这些值是保留字true和false。

    在C语言中,c++和c#布尔值被实现为只存储0或1的int变量,但是在Java中,语言的作者选择了真实和错误的布尔文字,因为这被认为是语义上更容易理解的(而且更安全)。

  • 9.You cannot cast a String to be a char and you cannot cast a String which stores a number to be an int, float or double. (你不能将字符串强制转换为char类型,也不能将一个字符串强制转换为int、float或double类型。)

    A . true

    B . false

    对char类型不熟悉。char类型在Java语言中,代表一个字符,且只能表示一个!

  • 10.A cast is required in which of the following situations? (下列哪种情况需要强制转换?)

    A . using charAt to take an element of a String and store it in a char (使用charAt来获取字符串元素并将其存储为char类型)

    B . storing an int in a float (将一个int类型的数存储为float类型)

    C . storing a float in a double (将一个float类型的数存储为double类型)

    D . storing a float in an int (将一个float类型的数存储为int类型)

    E . all of the above require casts (以上所有情况都需要强制转换)

    数据类型转换时double>float>long>int>char>shart>byte.逆向转换需声明

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
  • 计划学习时间:20小时
  • 实际学习时间:20小时
  • 改进情况:更加努力学习

参考资料

原文地址:https://www.cnblogs.com/20172325DYK/p/8647667.html

时间: 2024-10-10 17:06:23

20172325 2017-2018-2 《程序设计与数据结构》第三周学习总结的相关文章

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

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

20172311 2017-2018-2 <程序设计与数据结构>第九周学习总结 教材学习内容总结 本周对异常和递归进行了学习 异常的处理方式有两种:一种是直接抛出,并从异常处终止程序:另一种是捕获并处理异常,从而使程序继续运行. 捕获和处理异常主要运用try-catch语句. 通过继承Exception类可以自定义一个新的异常 处理IO异常的常用方法是抛出异常. 对于某些问题,递归是最精炼和适当的解法,但对于其他问题,递归则不如迭代方法直接. 教材学习中的问题和解决过程 问题:什么是IO操作