20182303 2019-2020-1 《数据结构与面向对象程序设计》第2&3周学习总结
教材学习内容总结
- 教材第二章内容
- 学习Java基本数据类型以及数据转换知识;
println
与print
的用法和区别;- 转义字符的概念及用法;
- 运算符(自增自减,赋值,加减乘除模)用法及优先级;
- 学习Scanner类,编写可输入的程序。
- 完成课后自测题,以及作业PP2.2,PP2.4,PP2.6等。
- 教材第三章内容
- 学习常用类(String类,Random类,Math类等)中的常用方法;
- 学习格式化输出的不同方式;
- 完成课后自测题,以及编程作业PP3.1,PP3.3,PP3.5。
教材学习中的问题和解决过程
- 问题1:对转义字符
\r
与\n
的功能区分不清 - 问题1解决方案:
\n
表示回车换行;\r
表示回车到当前行行首。 - 问题2:double和float数据类型定义不明确
- 问题2解决方案:float是单精度类型,精度是8位有效数字,取值范围是10的-38次方到10的38次方,占用4个字节的存储空间;
double是双精度类型,精度是17位有效数字,取值范围是10的-308次方到10的308次方,占用8个字节的存储空间。
当你不声明的时候,默认小数都用double来表示,所以如果要用float的话,则应该在其后加上f
例如:float a=1.3;
则会提示不能将double转化成float
如果要用float来修饰的话,则应该使用float a=1.3f;
注意:float是8位有效数字,第7位数字将会产生四舍五入
所以如果:float a=1.32344435;
则第7位将产生四舍五入
代码调试中的问题和解决过程
- 问题1:在输入字符时,使用nextChar方法
- 问题1解决方案:
nextChar()方法根本不存在!!当需要输入字符时,需要截取字符串的第一个字符:
- 新建类
Scanner scan = new scanner(System.in);
- 定义一个字符串变量接受键盘输入
String s = scan.next();
- 使用charAt截取第一个字符
char c = s.charAt(0);
- 问题2::在编写程序时,写错Scanner,Random等导致编译错误
- 问题2解决方案: 了解Java标识符的大小写规则,不要靠死记。
代码托管
上周考试错题总结
- Consider the following statement:
System.out.println("1 big bad wolf\t8 the 3 little pigs\n4 dinner\r2night");
This statement will output ________ lines of text (思考下面的语句,该语句将输出___行文本)
A.1 B.2 C.3 D.4 E.5
正确答案: B 我的答案:C
解析:\r
是回车,\n
是换行,前者使光标到行首,后者使光标下移一格。通常用的Enter
是两个加起来
\t
相当于键盘的Tab键,\n
换行New Line,\r
回车Carriage Return,基本的概念应该是回车表示回到最前面,换行表示换一行。 - 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 (变量存在于程序中时允许改变类型,但只能缩窄转换)
正确答案: C 我的答案: A
解析:对强类型的含义理解不清。
强类型是一种编程语言的属性,变量的类型在变量存在期间不会改变,并且存储在该变量中的任何值都是该类型的。 - A variable of type boolean will store either a 0 or a 1. (Boolean类型的变量将被存储为0或1)
A.true
B.false
正确答案: B 我的答案: A
解析:Java中用boolean定义布尔值,仅有两个值:true及false。 - When executing a program, the processor reads each program instruction from (当执行一个程序时,处理器从___读取每个程序指令)
A.secondary memory (storage) (辅助存储器(存储))
B.the Internet (互联网)
C.registers stored in the processor (储存在处理器中的寄存器)
D.main memory (主存储器)
E.could be any of these (可以是以上这些中的任何一个)
正确答案: D 我的答案: C
解析:程序在执行之前首先从辅助存储器加载到主存储器中,这样处理器就不会因为读取每条指令而减慢速度。执行存储在内存中的程序的思想被称为存储程序计算机,并在20世纪40年代由约翰·冯·诺依曼开创。(程序指令从辅存加载到主存,可以保证程序运行速度不受影响。) - The ability to directly obtain a stored item by referencing its address is known as (通过引用地址直接获得存储项的能力被称为___)
A.random access (随机存取)
B.sequential access (顺序存取)
C.read-only access (只读访问)
D.fetch access (获取访问)
E.volatility (易变性)
正确答案: A 我的答案: D
解析:随机访问:访问任何项目都同样容易,并且任何项目都可以仅基于其地址进行检索,即磁盘访问或直接访问。随机存取是RAM和ROM存储器使用的存取形式。 - Java is an example of a(n) (Java是一个___的例子)
A.machine language (机器语言)
B.assembly language (汇编语言)
C.high-level language (高级语言)
D.fourth generation language (第四代语言)
E.both C and D (C和D都是)
正确答案: E 我的答案: C
解析:高级语言易读易写,Java就是一种高级语言(课本)。Java是在第四代中创建的,它也是一种第四代语言。 - Which of the following is a legal Java identifier? (下面哪个是合法的Java标识符?)
A.i
B.class
C.ilikeclass!
D.idon'tlikeclass
E.i-like-class
正确答案: A 你的答案: B
解析:标识符“i”是完全合法的,但它不一定是一个好的标识符,因为它不描述其用途。
结对及互评
点评
- 博客中值得学习的:
- 教材学习内容简要明了;
- 针对自己的问题与错题写反思;
- 问题:
学习内容总结可以再丰富一些,着重写出自己的薄弱点和理解深刻之处。 - 基于评分标准,我给本博客打分:13
- 得分情况如下:
- 正确使用Markdown语法(加1分)
- 模板中的要素齐全(加1分)
- 教材学习中的问题和解决过程(加2分)
- 代码调试中的问题和解决过程(加2分)
- 其他加分(加7分)
- 进度条中记录学习时间与改进情况(1)
- 感想,体会不假大空(1)
- 有动手写新代码(1)
- 错题学习深入(1)
- 点评认真,能指出博客和代码中的问题(1)
- 结对学习情况真实可信(1)
- 代码实践行数够多(1)
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 10000行 | 30篇 | 400小时 | |
第一周 | 254/254 | 2/2 | 21/21 | 开始编写简单的程序 |
第二周 | 132/386 | 1/3 | 26/47 | 学会使用Scanner类 |
第三周 | 632/1018 | 2/5 | 21/68 | 学会使用部分常用类 |
计划学习时间:20小时
实际学习时间:21小时
参考资料
- Java中标识符大小写规则
20182303 2019-2020-1 《数据结构与面向对象程序设计》第2&3周学习总结的更多相关文章
- 201771010134杨其菊《面向对象程序设计java》第九周学习总结
第九周学习总结 第一部分:理论知识 异常.断言和调试.日志 1.捕获 ...
- 201871010132-张潇潇《面向对象程序设计(java)》第一周学习总结
面向对象程序设计(Java) 博文正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cn ...
- 扎西平措 201571030332《面向对象程序设计 Java 》第一周学习总结
<面向对象程序设计(java)>第一周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 ...
- 杨其菊201771010134《面向对象程序设计Java》第二周学习总结
第三章 Java基本程序设计结构 第一部分:(理论知识部分) 本章主要学习:基本内容:数据类型:变量:运算符:类型转换,字符串,输入输出,控制流程,大数值以及数组. 1.基本概念: 1)标识符:由字母 ...
- 201871010115——马北《面向对象程序设计JAVA》第二周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- 201777010217-金云馨《面向对象程序设计(Java)》第二周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- 201871010124 王生涛《面向对象程序设计JAVA》第一周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://edu.cnblogs.com/campus/xbsf/ ...
- 201871010132——张潇潇《面向对象程序设计JAVA》第二周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- 201771010123汪慧和《面向对象程序设计Java》第二周学习总结
一.理论知识部分 1.标识符由字母.下划线.美元符号和数字组成, 且第一个符号不能为数字.标识符可用作: 类名.变量名.方法名.数组名.文件名等.第二部分:理论知识学习部分 2.关键字就是Java语言 ...
- 2019面向对象程序设计(java)课程学习进度条
2019面向对象程序设计(java)课程学习进度条 周次 (阅读/编写)代码行数 发布博客量/评论他人博客数量 课余学习时间(小时) 学习收获最大的程序阅读或编程任务 1 20/10 1/0 5 九九 ...
随机推荐
- c#向指定的邮箱发送邮件
private bool SendEmail(string fileName) { MailMessage m_Mail = new MailMessage(); m_Mail.From = new ...
- java Spring boot项目简单说明
前言 一直从事.NET开发,但一直有种想去探索Java世界的冲动,今天终于有时间来尝试一下,以下是自己探索过程的简要记录. 一.开发工具 开发工具选用 IntelliJ IDEA社区版(免费),安装教 ...
- C++ STL 之 map
#include <iostream> #include <map> using namespace std; // map构造函数 // map<T1, T2> ...
- Spring Cloud(二)服务提供者 Eureka + 服务消费者(rest + Ribbon)
Ribbon是什么? Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起.Ribbon客户端组件提供一系列完善的配置项如连接超时 ...
- BootStrap【二、样式】
H5文档类型 由于使用了H5和CSS熟悉,需要在文件头引入 移动设备优先 为了对移动设备友好,需要使用标签viewport width=device-width 宽度为设备宽度 height 高度 i ...
- shiro系列三、定义Realm
自定义realm: /** * 认证和授权 */ @Component public class UserRealm extends AuthorizingRealm { @Autowired pri ...
- mount的bind选项
mount 的 bind 选项将第一个目录克隆到第二个.一个目录中的改变将会在另一个中出现 - 毕竟,它是同一磁盘上的同一个块. 使用 bind 与对同一设备进行两次挂载的区别在于:您可以挂载子目 ...
- Django:常用字段、手动自动第三张表单、元信息
一.常用字段和非常用字段 二.手动,自动创建第三张表 三.元信息 四.defer和only 一.常用字段和非常用字段 -常用字段 AutoField int自增列,必须填入参数 primary_key ...
- 2sum问题求解
什么是2sum问题呢?举个例子就明白了:对于数列:[0.1.2.3.4.5.6.7.8.9],求两数相加=9的所有两数的组合,所以结果为:[0.9],[1.8],[2.7],[3.6],[4.5].所 ...
- vue多层次组件监听动作和属性
v-bind="$attrs" v-on="$listeners" Vue 2.4 版本提供了这种方法,将父组件中不被认为 props特性绑定的属性传入子组件中 ...