20155312 2006-2007-2 《Java程序设计》第二周学习总结
课堂内容总结
- git:版本控制
- 生活中的容灾备份
- 归纳思维、实验思维、计算思维
- 计算机:实现自动化
- 学会使用快捷键
添加C:quickpoints
到PATH中,使用win+R
。 - tree:查看目录结构
- clear:清屏
- 在项目的根目录下工作,
cd bin
再运行 javac -d bin src/Hello.java
将.class文件放入bin- 编译运行没有问题后,git(每天做)
- git add .
- git commit -m "完成..."
vi src/Hello.java
进入编辑页面vi run.sh
写一个脚本- javac -d bin src/Hello.java
- ...
- ...
chmod +x run.sh
修改可执行权限./run.sh
直接执行脚本git push
(周末做)mkdir doc
touch doc/week2.md
(下载markdown)- 推荐PicPick截图工具
git pull
把码云上的改变同步到本地
教材学习内容总结
使用IDEA技巧:
-
输入「psvm」,然后按「tab」,自动生成
public static void main(String[] args)
-
输入「sout」,然后按「tab」,自动生成
System.out.println()
-
关于快捷键:
- 显示项目视图:「Alt+1」
- 编译程序:「Alt+Shift+F10」
- 设置断点后,「Alt+Shift+F9」开始调试
- 单步运行:「F8」(优先)或「F7」
- 运行多行:「F9」
- 打开断点设置窗口:「Ctrl+Shift+F8」
- 设置临时断点:「Ctrl+Alt+Shift+F8」
类型
- 基本类型
- 整数
- short(2字节)
- int(4字节)
- long(8字节)
- 字节
- 长度为1字节
- 可表示-128~12整数
- 浮点数
- float(4字节)
- double(8字节)
- 字符
- 每个字符占2字节
- 布尔
- true与false
- 无法与其他类型运算
- 整数
- 类类型
注释
//
:单行批注/*
与*/
:多行批注
标准API
System.out.printf
System.out.println
格式化符号
%b
,%B
:输出boolean的值。%h
,%H
:使用Integer.toHexString(arg.hashCode())
来得到的输出结果。%n
换行。- 可以在输出 浮点数时指定宽度。
变量
- 声明变量同c语言,命名习惯:以小写字母开始,每个单词开始时第一个字母大写。eg:
int ageOfStudent
- 固定变量的值:在变量声明前加
final
- 整数字面常数的表示:
int number1=12; //10进制
int number2=0xC; //16进制,以0x开头
int number3=014; //8进制,以0开头
运算符
- 注意:位运算中二进制数最高位是符号位
- 区分:
>>
(补1或0)<<
(补0)>>>
(补0)
类型转换
- 浮点数:默认double型
- float PI=3.14F;
- float PI=(float) 3.14;
- 整数:默认不超过int型长度
- long number = 2147483648L;
教材学习中的问题和解决过程
- 问题1:下面的程序中为什么
count +1 > Integer.MAX_VALUE
永远不会是true?
int count = 0;
while(...) {
if(count +1 > Integer.MAX_VALUE) {
count = 0;
}
else {
count++ ;
}
...
}
-
未解决
-
问题2:无法执行
clear
,提示不是内部或外部命令 -
解决:
clear
是Linux中的清屏指令,在Windows下可以用cls
-
问题3:cmd中用
cd d:
无法进入d盘 -
解决:直接输入
d:
-
问题4:用
rm
无法删除文件 -
解决:
del (文件名)
-
问题5:没法在cmd中直接
git add
等,提示git不是内部或外部命令也不是可运行的程序 -
解决:尝试类似“d:javainjavac”的方式,注明git的位置。
-
问题6:书中用一个for循环打印九九乘法表时,
for (int i = 2; j = 1; j<10; i = (i==9)?((++j/j)+1):(i+1))
这句中(++j/j)+1
是什么意思? -
发现无论j等于几,(++j/j)+1都等于二,此句的意思是当i=9时将i 重新赋值为2;尝试了一下把
(++j/j)+1
直接换成2
结果编译没问题,但运行出错。截图如下:
-
问题7:周一到周五一直在windows环境中编写代码,只有周六在ubuntu环境中。在windows的cmd中运行statistics.sh脚本后,结果只是在另一个窗口闪现一下就消失了。
-
未解决
代码调试中的问题和解决过程
- 问题1:在
do while
循环体中声明变量为int型后,在while(...)
条件中变量出错。 - 解决:在循环体前定义变量。
代码托管
上周考试错题总结
- 填空:Linux Bash中,查找home目录中昨天创建的文件的命令是(find ~ -ctime 1)
- 出错原因:忽略“昨天创建”,误以为是“修改”
其他(感悟、思考等,可选)
- 编译代码时进入存放
.java
文件的目录后,执行"D:javainjavac" -d d:daimaoutproductiondaima Odd.java
最后的文件名前无需加src
否则无法执行 - 运行代码时,要进入
.class
文件存放的目录
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 4/0 | 1/3 | 28/80 | 下载了JDK和GIT |
第二周 | 61/4 | 1/4 | 20/108 | 在unbuntu中熟练编写程序,熟练进行文件、目录等操作 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:14小时
-
实际学习时间:20小时
-
改进情况:不像上一周一样因为时间紧而影响学习质量。这周合理安排学习时间,每天学习。