鲸鱼的抽屉  

20155312 2006-2007-2 《Java程序设计》第二周学习总结

课堂内容总结

  1. git:版本控制
  2. 生活中的容灾备份
  3. 归纳思维、实验思维、计算思维
    • 计算机:实现自动化
  4. 学会使用快捷键
    添加C:\quickpoints到PATH中,使用win+R
  5. tree:查看目录结构
  6. clear:清屏
  7. 在项目的根目录下工作,cd bin再运行
  8. javac -d bin src/Hello.java将.class文件放入bin
  9. 编译运行没有问题后,git(每天做)
    • git add .
    • git commit -m "完成..."
  10. vi src/Hello.java进入编辑页面
  11. vi run.sh写一个脚本
    • javac -d bin src/Hello.java
    • ...
    • ...
  12. chmod +x run.sh修改可执行权限
  13. ./run.sh直接执行脚本
  14. git push(周末做)
  15. mkdir doc
  16. touch doc/week2.md(下载markdown)
  17. 推荐PicPick截图工具
  18. git pull把码云上的改变同步到本地

教材学习内容总结

使用IDEA技巧:

  1. 输入「psvm」,然后按「tab」,自动生成public static void main(String[] args)

  2. 输入「sout」,然后按「tab」,自动生成System.out.println()

  3. 关于快捷键:

    1. 显示项目视图:「Alt+1」
    2. 编译程序:「Alt+Shift+F10」
    3. 设置断点后,「Alt+Shift+F9」开始调试
    4. 单步运行:「F8」(优先)或「F7」
    5. 运行多行:「F9」
    6. 打开断点设置窗口:「Ctrl+Shift+F8」
    7. 设置临时断点:「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:\java\bin\javac”的方式,注明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:\java\bin\javac" -d d:\daima\out\production\daima 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就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

参考资料

posted on 2017-03-04 14:05  鲸鱼的抽屉  阅读(275)  评论(14编辑  收藏  举报