20145320 《Java程序设计》第2周学习总结
教材学习内容总结
3.1 类型、变量与运算符
基本类型
整数(short、int、long) 、字节(byte) 、浮点数(float/double) 、字符(char):汉字、英文字符都是双字节的
布尔(boolean):boolean类型中的true/false不能与其他类型进行运算
注释
三种注释 //:单行、/** /:多行、/** */:javadoc文档注释
常量
整数可以用二进制(0bdddd),八进制(0ddd)、十进制(dddd)、十六进制(0Xdddd),Java中都是有符号下整数,没有unsigned int之类
浮点数科学计数法
小数(如1.4)默认类型是double,1.4f或1.4F的类型才是float
字符可以用Unicode 字符编码(Code Point)来表示。
运算符
算术运算 +、-、*、/、%
关系运算: !=>、>=、<、<=、==
条件表达式 ? 成立时返回值:失败时返回值
逻辑运算:运算结果是boolean值:true Or false, 与(&&) 、或(||) 、非(!)
位运算 :运算结果为位串(位向量)
与(&):全1为1,有0则0 ;或(|):全0为0,有1则1 ;非(~):反码形势表示 ;异或(^):相同为0,不同为1 ;左移(<<):最右补0 ;算术右移(>>):右移后,正数最高位补0,负数最高位补1 ;逻辑右移(>>>):右移后,最高位总是补0 ;递增、递减: i++,i-- ++i,--i
赋值
+=,=,-=, *=, /=, %=,&=, |=, ^=, <<=, >>=
类型转换
短->长是安全的,长->短必须强制转换
表达式中含不同类型,以长度最长的为准,其他的会进行类型提升(Promote)
3.2流程控制
结构化程序设计
包含三种语句
顺序:计算机结构决定语句是顺序执行的,正常情况下都是顺序执行的
分支:分支用来处理异常情况的
循环:执行最常用的语句
分支
类型 if、 if...else、 if...else if、 switch...case, switch可用于整数、字符、字符串等
default 分支的各种情况要满足不重复,不遗漏的原则
循环
类型 for、 while、 do...while, break/continue 配合标签可以实现goto的效果, goto可用于从多重循环是跳出来
教材学习中的问题和解决过程
有时我们在赋值时会遇到,所赋的值超过定义的范围,例如假如我们在定义为byte时就很容易超过其上限127;或者精度不对,例如利用float在定义时我们所赋的值会超过其精度,从而出错
代码调试中的问题和解决过程
易知 i =8,但是 j呢?8?还是8.8?
结果
出错了!为什么,难道是不能强制把int 型的 i 转化为double型 的 j?
学习进度条
代码行数(新增/累积) |
博客量(新增/累积) |
学习时间(新增/累积) |
重要成长 |
|
目标 |
3500行 |
28篇 |
300小时 |
|
第一周 |
300/300 |
1/1 |
20/20 |
|
第二周 |
500/500 |
2/2 |
40/40 |
|
第三周 |
||||
第四周 |