20145302张薇 《Java程序设计》第二周学习总结

20145302张薇 《Java程序设计》第一周学习总结

教材学习内容总结

  • 第三章
  • 第三章讲的是基本类型,变量,运算符和基本条件语句。
  • 基本类型分为:
  1. 整数:short(2 byte),int(4 byte),long(8 byte);
  2. 字节:byte,可表示整数范围为:-128~127,在需要逐字节处理数据时(如图像处理)使用;
  3. 浮点数:float(4 byte),double(8 byte);
  4. 字符:char每个字符占两字节;
  5. 布尔:ture表示逻辑真,false表示逻辑假。
  6. 常用格式控制符号:与C语言相同,在教材的P56。注意换行符:不是“/n”,而是“%n”。
  • 注释符号:与C语言相同,///* */的使用。
  • 变量:
  1. 基本规则:变量名不可使用数字作开头,不可与关键词名称同名,不可以使用特殊字符,不可以与Java保留字同名,通常以小写字母开始,之后每个单词大写,如“jiaoCai”;
  2. 字面常量:十进制直接书写数字,十六进制以0x开头,八进制以0开头;
  3. 常用忽略符号:基本和C一样,教材P59;
  4. 数字常量表示法:为了更加清楚的表示数字,可以隔几位加一个下划线。
  • 运算符:
  1. 算术运算:+-*/%,算数规则也是先乘除后加减;
  2. 比较运算:<,>,<=,>=,==,!=.比较条件成立时布尔ture表示,不成立用布尔false表示;
  3. 条件运算符:条件式?成立返回值:失败返回值。与verilog语言相通;
  4. 逻辑运算:||,&&,!(||)
  5. 位运算:即二进制运算。&与,|或,^异或,~取反。注意不要与逻辑运算混淆;
  6. 递增递减运算:i++,i--,++i,--i;
  7. 指定运算:用于简便程序。教材P65,66。
  • 类型转换:
  • 小数的默认类型都是double,若想利用float来存储,需要在小数后面加“F”,如“float PI=3.14F;”
  • 科学计数法显示的1.25000+02,表示的是小数点向后移动多少位。
  • 条件语句:
  • if elseif(条件句){成立执行语句;} else {不成立执行语句;}
  • switchswitch(变量或表达式){case 数字等符号:执行句;case 数字等符号:执行句;……default:执行句;}
  • 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:编程看结果。
    20145302张薇 《Java程序设计》第二周学习总结
    20145302张薇 《Java程序设计》第二周学习总结

  • 果然是这样,为什么要这样计算,不明白。

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

  • 问题1:在IDEA创建程序时,我不小心没有将项目创建到专门放java程序的文件夹,结果在编译程序时,点击“Run…”后没有出现我的类名称。
  • 解决过程1:我将文件夹直接拖入专门盛放java程序的文件夹,结果IDEA中就没有代码了,而且原先文件夹仍然在,只是里面的东西少了,我用IDEA执行了一下.iml结果出现了下图
    20145302张薇 《Java程序设计》第二周学习总结

  • 最终我只能又敲了一遍代码。还有什么办法吗?
  • 问题2:教材P76的无聊游戏,看谁可以最久不撞到5这个数字,敲完教材范例代码后我觉得应该对于数字计数,这样可以更直观,对于数字多的时候会更加方便,不用一个一个的数了。
  • 解决过程2:
  • 代码1如下:
    20145302张薇 《Java程序设计》第二周学习总结

出现了如下结果:
20145302张薇 《Java程序设计》第二周学习总结

  • 我将println换成printf后,代码如下:
    20145302张薇 《Java程序设计》第二周学习总结

  • 运行结果成功了:
    20145302张薇 《Java程序设计》第二周学习总结

  • 这是为什么?

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

  • 不断实践是非常重要的,只看范例代码是发现不了问题的,我们一定要积极敲代码。
  • 在编代码的时候一定要注意细节,注意字母的大小写,还有创建程序的时候需要注意文件夹的分类。
  • 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

参考资料

上一篇:Git log和git reflog


下一篇:2018-2019-3《Java程序设计》第二周学习总结