20145211 《Java程序设计》第2周学习总结——桃花依旧笑春风
教材学习内容总结
基本类型
- 整数 short 2字节,int 4字节,long 8字节
- 字节 byte 1字节 浮点数 float 4字节,double 8字节 字符 char 2字节(包括字母、汉字)
- 布尔boolean 不用在意它的存储空间(只有true/false)
命名规则
-
标识符:数字不可以开头,“-”和“$”也可以用来命名
-
包名:要全部小写
-
类名接口名:首字母大写,如果是多单词的情况,所有首字母大写
-
变量名函数名:第一个单词小写,第二个开始 首字母大写
-
常量:全大写
变量
-
在使用变量之前,一定要先初始化,否则后续的操作就不能对其进行重新赋值,否则编译时会报错。
-
局部变量 在方法中声明的变量,使用前一定要初始化
格式符号
-
常用格式控制符号: %d 十进制整型, %f 十进制浮点型, %c 字符型, %s 字符串型, %b 布尔型, %n 换行
-
常用忽略符号: 使用 \ ,如“\”表示“\”,“\n”表示换行,“\r”表示光标移至行首
进制与类型转换
-
不同进制常量表示:10进制表示 int number=12 ,16进制(0x)表示 int number=0xC ,8进制(0)表示 int number=014 ,2进制(0b)表示 int number=0b1100 。(都是有符号的整数)
-
默认类型:出现小数时,默认类型为 double ,要定义 float型,需在小数后加上“F”,如 float a=0.3F ;出现整数时,默认时使用不超过int类型长度,如果要用到long型的,则需要在整数后加“L”,如 long a=20000000000L
-
类型转换:进行运算时,如果表达式中包括不同类型数值,则以长度最长的类型为主;当操作数都是不大于int的整数,则自动全部提升为int型进行运算,如果非要换钟类型进行计算,则进行强制转换
-
算术运算符:+、-、*、/、% 比较、条件运算符:>、>=、<、<=、==、!=,C? A:B (C为条件,成立则为A,不成立则为B);逻辑运算:&&,||,!位运算符:&,|,^,~,<<,>>,>>>;递增、递减:i++,i--,++i,--i;赋值:=,+=, -=, *=, /=, %=,&=, |=, ^=, <<=, >>= (如“a+=b”,即“a=a+b”)
分支结构
- if...else条件式可以不加{},如果只有一条语句
- 循环for;while;do...while等,推荐用for,简单粗暴可以离开当前switch,for;while;do...while的区块,并执行区块后下一个描述句
continue可以跳过当前循环,直接执行下一次back,相当于c语言里的lable;我个人觉得最好不要用
教材学习中的问题和解决过程
说句实话,在这一章的学习中,我并没有遇到什么问题,因为这一章的内容和c语言的基础语法几乎如出一辙。而我好歹也是参加过ACM培训的人,虽然ACM没 有取得大的突破,但是这些知识我自信还是可以解决的。因此,我将分享几个我认为比较重要的知识点。
-
第一个是,一定要注意类型的转换,请注意,这里与C语言不同。如下图的代码编译是不通过的,但是c语言里将不会遇到编译和执行上的问题。左边是编译不通过的情况,右边则进行了强制格式转换,将2int型强制转换成byte型
-
第二个是,取模的的应用。虽然这和c语言里的并无二致,我还是要提一下。取模,左边小于右边,结果是左边,;左边等于右边是0,右边是1,也是0。简单运行如下图
-
第三个是,连接符“+”的运用。他可以输出一个表达式的形式,而不是最终的结果。看图很容易理解
代码调试中的问题和解决过程
- 课后操作题1
只要按照辗转相除的算法,简单编译就行了;有一点需要注意的是,我已开始想用c语言中int0和bool0都能做判断的bug,但是java并不支持,还是老老实实的好。
- 课后操作题2
实质就是三个for循环的嵌套,其他的不再赘述。
- 九九乘法表
这应该是课本这一章最复杂的问题了,需要注意的是格式的整齐美观,书上已经讲了。由于前面几条口诀乘法(3*3之前)的结果为个位数,与后面的十位数 相比差一位,为了左右能对整齐显得美观,故选择控制为%2d,使得不论结果是几位数,都使其占用2个字符的宽度。
-
其他(感悟、思考等,可选)
习惯了用一句诗来作为文章的标题,无论是在新浪博客上写的文章,还是在博客园写的java技术文章。这一次,我想用“桃花依旧笑春风”。 学习c语言的日子仿佛如在昨日,虽然教语言的老师以不同,但是那些曾经的知识烙印依旧还在。所以不管知识如何变化,那些构建知识的体系都大同小异,只要学会举一反三,触类旁通,就可以较为深刻的理解新的知识体系。 我自己在写的一篇文章中写道,世间最动情的莫过于“人面不知何处去,桃花依旧笑春风”,你是否也这样想呢?
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 100/100 | 2/2 | 15/15 | 学会搭建Java环境,学会写一些简单程序,掌握一些小技巧 |
第二周 | 100/200 | 2/2 | 22/37 | 学会使用IDEA |
第三周 | ||||
第四周 |