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 |
| 第三周 | ||||
| 第四周 |
参考资料
参考资料
20145211 《Java程序设计》第2周学习总结——桃花依旧笑春风的更多相关文章
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
随机推荐
- 阿牛的EOF牛肉串[HDU2047]
阿牛的EOF牛肉串 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total S ...
- CodeForces Round 194 Div2
A. Candy Bagstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputs ...
- BZOJ4296 : [PA2015]Mistrzostwa
先不断将度数小于D的点都删去,再找到剩下的图里最大的连通块即可. #include<cstdio> #include<algorithm> #define N 200010 i ...
- BZOJ3808 : Neerc2012 Labyrinth of the Minotaur
左上角和右下角不四连通等价于左下角和右上角八连通 枚举正方形的左上角,先二分出最大的边长,使得里面不含障碍物 然后再二分出最小的边长,使得两部分连通,用前缀和判断 这题WA了好久…一直对拍都没问题…于 ...
- Gradle dsl method not found renderscriptSupportMode()
连接: How to use the Renderscript Support Library with Gradle Android-Studio and Renderscript support ...
- 升级到WP8必需知道的13个特性
http://www.cnblogs.com/sonic1abc/archive/2012/11/28/2792467.html Windows phone 8 SDK 已经发布一段时间了, 已经 ...
- CentOS6.4 安装LVS-RRD监控LVS
1.安装依赖包 yum install -y php httpd bc rrdtool 启动apache (我看网上的一些文档说不能用80端口,但我用80端口试了一下也好使,如果出现不好使的情况就改一 ...
- Solve error: 'class vtkImageActor' has no member named 'SetInput'
Replacement of SetInput() with SetInputData() and SetInputConnection() someFilter->SetInput(someR ...
- Oracle学习整理
用 startup 命令启动数据库,用 shutdown 命令关闭数据库 Oracle SQL 语句由如下命令组成: 数据定义语言(DDL),包括 CREATE (创建)命令.ALTER (修改) ...
- react-native 学习
官网 https://facebook.github.io/react-native/docs/getting-started.html#content 下载 npm install -g react ...