20155334 2016-2017-2 《Java程序设计》第二周学习总结
20155334 2016-2017-2 《Java程序设计》第二周学习总结
教材学习内容总结
java中的基本类型
- 整数:有
short
、int
、long
三种 - 字节:
byte
- 字符:
char
,汉字、英文字符都是双字节的 - 布尔:
boolean
,表示逻辑的真与假
变量(数据暂存位置在程序语言中称为变量)
- 变量的作用:用来暂时存储资料。
- 变量命名时不可以使用数字作为开头,也不可以使用一些特殊字符同时不能与JAVA的关键字与保留字同名。
- 可以运用驼峰式命名法。
运算符
- 加(+)、减(-)、乘(*)、除(/)以及取余(%)。
- 比较、条件运算,当比较条件不成立的时候以boolean类型false表示,反之用该类型的true表示.
- 逻辑运算,“且” &&、“或” ||、“反相” !
- 位运算,&
and
、|or
、^xor
、~(补码)、<<(左移)、>>(右移) - 递增递减运算,与C语言的表示方式基本一致
- 指定运算,目前只有=这个运算符
类型转换
流程控制
if...else
条件式
课本示例代码如下
用if...else
条件式实现等级划分:
public class Level {
public static void main(String[] args) {
int score = 88;
char level;
if(score >= 90) {
level = 'A';
}
else if(score >= 80 && score < 90) {
level = 'B';
}
else if(score >= 70 && score < 80) {
level = 'C';
}
else if(score >= 60 && score < 70) {
level = 'D';
}
else {
level = 'E';
}
System.out.printf("得分等級:%c%n", level);
}
}
程序运行结果:
switch
条件式
用switch
条件式实现等级划分:
public class level2 {
public static void main(String[] args) {
int score = 88;
int quotient = score / 10;
char level;
switch(quotient) {
case 10:
case 9:
level = 'A';
break;
case 8:
level = 'B';
break;
case 7:
level = 'C';
break;
case 6:
level = 'D';
break;
default:
level = 'E';
}
System.out.printf("得分等級:%c%n", level);
}
}
程序运行结果:
for
循环
1到10程序:
public class OneToTen {
public static void main(String[] args) {
for(int i = 1; i <= 10; i++) {
System.out.println(i);
}
}
}
程序运行结果:
使用for
循环实现九九乘法表程序:
public class NineNineTable {
public static void main(String[] args) {
for(int j = 1; j < 10; j++) {
for(int i = 2; i < 10; i++) {
System.out.printf("%d*%d=%2d ",i, j, i * j);
}
System.out.println();
}
}
}
程序运行结果:
课本上另外一种实现九九乘法表的程序:
public class NineNineTable2 {
public static void main(String[] args) {
for (int i = 2, j = 1; j < 10; i = (i==9)?((++j/j)+1):(i+1)) {
System.out.printf("%d*%d=%2d%c", i, j, i * j, (i==9 ? '\n' : ' '));
}
}
}
程序运行结果:
提示:
for
循环圆括号中的第二个复合描述块如果没有撰写,默认就是true。故有
for(;;) {
...
}
表示无穷循环。
while
循环
使用while
循环实现随机停止
public class RandomStop {
public static void main(String[] args) {
while(true) { //直接执行循环
int number = (int) (Math.random() * 10); //随机产生0-9的书
System.out.println(number);
if(number == 5) {
break; //如果遇到5就离开循环
}
}
System.out.println("I hit 5....Orz");
}
}
程序运行结果:
课本上另外一种实现随机停止的程序代码:
public class RandomStop2 {
public static void main(String[] args) {
int number;
do {
number = (int) (Math.random() * 10); //先随机产生0-9的数
System.out.println(number);
} while(number != 5); //再判断要不要重复执行
System.out.println("I hit 5....Orz");
}
}
程序运行结果:
这两段代码的最主要区别在于随机数产生和判断步骤的先后顺序
break
、continue
break可以离开当前switch
、for
、while
、do...while
的区块,并执行区块后下一个描述句。在switch
中主要用来中断下一个case
比较,在for
、while
与do...while
中,主要用于中断当前循环。
教材学习中的问题和解决过程
遇到的大部分问题经过类比C语言可以得到解决。
代码调试中的问题和解决过程
在代码调试过程中遇到在git中tree命令找不到,经过查询百度后应当下载文件。
其余的代码照搬课本,没有遇到大问题。
代码托管
代码上传截图:
代码量截图:
上周考试错题总结
- 错题 填空:知识分为三类元知识、硬知识、软知识,需要通过实践获得的是(软知识)。真理,一定牢记。
- 填空:德雷福斯技能学习模型把技能获取分为五个阶段:新手、高级新手、胜任者、精通者、专家,其中( 新手 )不能离开详细的指令。真理,一定牢记。
- 填空:(git push)将本地分支的更新,推送到远程主机。基本问题应当牢记。
- 填空:git log 命令来查看(提交历史)。基本问题,应当牢记。
感悟
在学习过程中愈发体会到认真的重要性。其次发现Java与C语言有极大的相似之处,可以通过C语言的学习过程得到触类旁通的效果。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 5/5 | 1/1 | 10/10 | |
第二周 | 98/103 | 1/2 | 15/25 | |
参考: |
-
计划学习时间:10小时
-
实际学习时间:15小时