20145302张薇 《Java程序设计》第二周学习总结
20145302张薇 《Java程序设计》第一周学习总结
教材学习内容总结
- 第三章
- 第三章讲的是基本类型,变量,运算符和基本条件语句。
- 基本类型分为:
- 整数:
short
(2 byte),int
(4 byte),long
(8 byte); - 字节:
byte
,可表示整数范围为:-128~127,在需要逐字节处理数据时(如图像处理)使用; - 浮点数:
float
(4 byte),double
(8 byte); - 字符:
char
每个字符占两字节; - 布尔:ture表示逻辑真,false表示逻辑假。
- 常用格式控制符号:与C语言相同,在教材的P56。注意换行符:不是“/n”,而是“%n”。
- 注释符号:与C语言相同,
//
与/* */
的使用。 - 变量:
- 基本规则:变量名不可使用数字作开头,不可与关键词名称同名,不可以使用特殊字符,不可以与Java保留字同名,通常以小写字母开始,之后每个单词大写,如“jiaoCai”;
- 字面常量:十进制直接书写数字,十六进制以0x开头,八进制以0开头;
- 常用忽略符号:基本和C一样,教材P59;
- 数字常量表示法:为了更加清楚的表示数字,可以隔几位加一个下划线。
- 运算符:
- 算术运算:
+
,-
,*
,/
,%
,算数规则也是先乘除后加减; - 比较运算:
<
,>
,<=
,>=
,==
,!=
.比较条件成立时布尔ture表示,不成立用布尔false表示; - 条件运算符:条件式?成立返回值:失败返回值。与verilog语言相通;
- 逻辑运算:
||
,&&
,!(||)
; - 位运算:即二进制运算。
&
与,|
或,^
异或,~
取反。注意不要与逻辑运算混淆; - 递增递减运算:
i++
,i--
,++i
,--i
; - 指定运算:用于简便程序。教材P65,66。
- 类型转换:
- 小数的默认类型都是
double
,若想利用float
来存储,需要在小数后面加“F”,如“float PI=3.14F;”
; - 科学计数法显示的1.25000+02,表示的是小数点向后移动多少位。
- 条件语句:
if else
if(条件句){成立执行语句;} elseswitch
switch(变量或表达式)for循环
for(初始化;循环条件;重复式)while循环
while(条件语句)break
用于跳出循环,continue
用于革除那一句。
教材学习中的问题和解决过程
-
问题1:教材P54关于Unicode 6.2.0编码和UTF-16 Big Endian的概念不明白是什么含义。
-
解决过程1:百度其概念,发现了一篇介绍这个的博客,对于为什么每个字符占两个字节有些懂了。
-
问题2:在看P60代码时发现换行符号不是
\n
,而是%n
。 -
解决过程2:教材P56表明windows系统会自行转换,但是P59的常用忽略符号里面的换行符是
\n
,这里还是不太明白。 -
问题3:看教材时不明白java保留字是什么意思。
-
解决过程3:百度一下,明白Java保留字是指现有Java版本尚未使用,但以后版本可能会作为关键字使用的字。
有byValue, cast, false, future, generic, inner, operator, outer, rest, true,var ,goto ,const,null 。 -
问题4:不明白为什么当count达到最大值后,再加一就会变成负数,那加count_max+2是-2147483647吗?
-
解决过程4:编程看结果。
-
果然是这样,为什么要这样计算,不明白。
代码调试中的问题和解决过程
-
问题1:在IDEA创建程序时,我不小心没有将项目创建到专门放java程序的文件夹,结果在编译程序时,点击“Run…”后没有出现我的类名称。
-
解决过程1:我将文件夹直接拖入专门盛放java程序的文件夹,结果IDEA中就没有代码了,而且原先文件夹仍然在,只是里面的东西少了,我用IDEA执行了一下
.iml
结果出现了下图
-
最终我只能又敲了一遍代码。还有什么办法吗?
-
问题2:教材P76的无聊游戏,看谁可以最久不撞到5这个数字,敲完教材范例代码后我觉得应该对于数字计数,这样可以更直观,对于数字多的时候会更加方便,不用一个一个的数了。
-
解决过程2:
-
代码1如下:
出现了如下结果:
-
我将
println
换成printf
后,代码如下:
-
运行结果成功了:
-
这是为什么?
其他(感悟、思考等,可选)
- 不断实践是非常重要的,只看范例代码是发现不了问题的,我们一定要积极敲代码。
- 在编代码的时候一定要注意细节,注意字母的大小写,还有创建程序的时候需要注意文件夹的分类。
- java和C语言还是有一些不同的,但是是相通的,学习方法是一样的,学习java对本学期的数据结构与算法课程也有帮助。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 1500行 | 15篇 | 400小时 | |
第一周 | 10/10 | 2/2 | 10/10 | 基础知识 |
第二周 | 100/100 | 3/3 | 35/35 | 语法知识 |
第三周 | 100/300 | 3/4 | 35/60 | |
第四周 | 100/500 | 3/5 | 35/90 |