教材内容总结

这次我们学习的是java学习笔记的第三章的内容,这一章我们主要学习java的基本语法与基础的概念。

类型

在类型的学习中和c语言大体相似,整数(short、int、long)
字节(byte)
浮点数(float/double)
字符(char):汉字、英文字符都是双字节的,Java字符编码是Unicode6.2.0,JVM编码是UTF-16 Big Endian。
唯独有一点不一样的就是布尔型,要注意的是,布尔型只有true和false。

注释

一共有三种注释
//:单行
//:多行
/
*/:javadoc文档注释

变量

Java中有一种独特的命名法也就是Camel Case命名法,这种命名法的优点是通俗易懂。然后是变量的命名有一些规则。不能使用数字开头,不可以使用一些特殊字符,变量的名称不能和Java的关键词keyword重名。

运算符

最基本的运算符就是诸如加减乘除这一类的,需要注意的一种格式就是条件运算符的使用方式也就是
条件式?成立返回值:失败返回值

位运算

与(&):全1为1,有0则0
或(|):全0为0,有1则1
非(~):书上说是补码,按我们的习惯应该是反码
异或(^):相同为0,不同为1
左移(<<):最右补0
算术右移(>>):右移后,正数最高位补0,负数最高位补1
逻辑右移(>>>):右移后,最高位总是补0

类型转换

最值得注意的一点就是:
短->长(widening)是安全的,长->短(narrowing)必须强制转换

流程控制

条件语句与循环语句与c语言并没有太大的区别。

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

在做教材中左移二次方的运算时遇到了一些问题

应该出现的结果应该是对2的次方运算。后来我在想为什么会造成实参与形参的实际长度不匹配的问题。
关于i++与++i
这个问题在c语言中也很重要。i++是先加一在返回值,++i是先返回值再加一,二者在特定的条件下很不同。

代码托管

错题解析

第一周的测验第15题:Linux Bash中,使用echo查看环境变量PATH值的命令()答案应该是echo $PATH,当初错误的原因是因为对于PATH途径没有理解好。
第二周测验第3题:德雷福斯技能学习模型把技能获取分为五个阶段:新手,高级新手,胜任者,精通者,专家,其中()不能离开详细的指令。答案应该是新手,记得当初娄老师在课上的时候跟我们说刚刚入门的菜鸟称之为新手,当时做题的时候我在想新手没有经验,别说写注释了,他连最基本的代码也不可能搞定,现在看来是我理解错了。
还有就是第二次考试中关于git的问题。
第26题
git push是用来把本地分支的更新推送到远程主机。
第28题
git log 命令来查看提交历史
经过这两次考试我学习到了很多。

考试以及平时学习的感悟

娄老师的题出的很有特色,既有书本上的知识,也有公众号文章的内容,更有拔高提升的内容,这使得我们额外能获取很多关于Java的知识。而通过两次考试之后,我也对怎么学习Java这门课有了大致的了解。相信之后我能够学好这门课。

学习进度条

第一周代码行数及学习时间 第二周代码行数及学习时间
72 123
15h 17h
计划学习时间:25小时
实际学习时间:23小时