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 换行

  • 常用忽略符号: 使用 ,如“”表示“”,“ ”表示换行,“ ”表示光标移至行首

进制与类型转换

  • 不同进制常量表示: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 
第三周        
第四周        

参考资料

参考资料

原文地址:https://www.cnblogs.com/nostalgia-/p/5274166.html