学号 20175212 《Java程序设计》第2周学习总结
教材学习内容总结
1.数据类型
此节介绍的数据类型与C中常用的相比仅多了Boolean(逻辑类型)、byte(取值范围:[-128,127])。
对于char类型的数据而言,Java的编码类似于C中的ASCII码,各种语言常用字符有其相对应的位置,并且可以通过强转将字符和顺序位置相互转化。
特别的,Java中的char必定无符号。
2.输入输出数据
对于输入而言,Java中的输入方法和我之前接触的C的方法不甚类似,因此我简述自己进行类比记忆的方法,若出现理解错误还希望老师同学指出。
以书上例2-3为例:
其中的核心语句即,使用Scanner创建对象:
Scanner reader = Scanner(System.in);
以我理解类似于C中的定义结构体,reader即为定义后的新对象。
对于输出而言,书中的例子基本都以System.out.println(“”+ +“” )
为例,这种输出格式个人认为比 printf("格式控制部分",表达式) 方便
不少,不需要再次检查变量的类型,也减少了出错的可能性。
3.数组
数组的使用,基本就创建数组int mytwo[][] = new int[3][4]
其他与C中区别不大。
4.第三章内容基本都与C中相同,都是一些基本得到语句,其中就按位运算符接触的不多,以及在for循环语句中:的遍历作用,其余的都是老东西不再赘述。
教材学习中的问题和解决过程
- 问题1:输入基本型数据,使用Scanner有些记忆与理解困难
- 问题1解决方案:回忆上学期C语言学习中的结构体定义方法,用类比的形式进行记忆并练习。
- 问题2:对于某几例中
import java.util.Scanner
不甚理解 - 问题2解决方案:通过搜索得知,就是导入 java.util 包下的 Scanner 类,导入后才能使用它。import java.util.Scanner的作用:用来构建Scanner对象。其中import的作用:加载已定义好的类或包导入支持类(可以是JDK基础类或者自己编写的类),可以供本类调用方法和属性。
代码调试中的问题和解决过程
本周的作业都以实现类为主,也不难理解,不易出错,因此并未出现调试问题。
代码托管
上周考试错题总结
- 如果在Main.java中撰写以下的程序代码:
public class Main {
public static void main() {
System.out.println("Hello World");
}
}
以下描述何者正确?
A 执行时显示Hello World
B 执行时出现NoClassDefFoundError
C 执行时出现出现找不到主要方法的错误
D 编译失败
正解为C,原因是不能理解题目选项的意思,经查证得知缺少了参数String[] args(一个字符串数组,用以接收来自程序执行时传进来的参数。)
其他(感悟、思考等,可选)
同为程序设计,在学习Java时可以多与我们之前学习的C进行类比学习,感觉在在之后更深入的学习中会有不错的效果。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 6/6行 | 1/1 | 20/20 | |
第二周 | 245/251 | 1/2 | 18/38 | 掌握输入格式 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
- 改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)