20169214 2016-2017-2 《移动平台开发实践》实验一报告总结
实验一 Java开发环境的熟悉(Linux + IDEA)
(一)命令行下Java程序开发
- 打开终端,进入目录yj20169214/src:
cd yj20169214/src
- 建立文件夹experiment:
mkdir experiment
- 第一次实验放入exp1:
mkdir exp1
- 编写Hello.java文件:
gedit Hello.java
- 在命令行中编译运行Hello.java:
(二)IDEA下Java程序开发、调试
- 1.设置断点,只需在左侧单击即可.
- 2.点击Debug,或直接快捷键Alt+Shift+f9,程序进入断点行。但此时,i=5;并未执行,如下:
- 3.Android Studio中,单步调试可使用Step Into(快捷捷F7)和Step Over(快捷捷F8),这两种单步运行功能在运行语句时没有区别,在执行函数调用语句时,Step Into会跳入函数实现,Step Over会直接执行完函数。实际使用中我们优先使用Step Over,只有方法执行出错了,说明程序问题在被调用方法中,这时再回来通过Step Into进入方法进行调试。
使用快捷键f8,这时查看变量i的值,会看到i等于5。如下图所示:
- 4.单步执行效率比较慢,如果我们感觉到第8行到第12行的代码没有问题了,想让程序直接运行到第13行,怎么办?首先我们要在第13行设置断点,然后单击Resume图标(快捷键F9),程序就运行到了第13行,如下图所示:
- 5.单步执行效率比较慢还导致另外一个问题,比如一个大循环中间出了问题怎么办?这时可以通过条件断点解决问题。设置条件断点,我们在第13行左边断点处单击鼠标右键,弹出断点属性框,我们设置条件“i==50”,如下图所示:
按一下F9,我们可以查看i的是50了。 - 6.临时断点,断点只中断一次,比如我们想把第12,13行的for循环一下子运行完,我们就需要在第15行设个条件断点。
我们可以在第15行设个断点,然后鼠标右击断点,,然后点「More」或按快捷键Ctrl+Shift+F8打开断点设置窗口,选中「Remove Once hit」;
也可以把光标移到第15行,两次按快捷键Ctrl+Shift+F8打开断点设置窗口,选中「Remove Once hit」;
最简单的方法是把光标移到第15行,使用菜单「Run」->「Toggle Temporary Line Breakpoint」或使用快捷键Ctrl+Alt+Shift+F8;
断点上面有个1,运行一次就消失了:
解决问题的方法也可以不使用临时断点,把光标移到第15行,使用菜单「Run」->「Run to Cursor」或使用快捷键Alt+F9. - 7.方法断点:有时候我们怀疑某个方法出错了,就可以设置方法断点。把光标移到方法中的任一行,使用菜单「Run」->「Toggle Method Breakpoint」.
(三)练习: 实现求正整数1-N之间所有质数的功能,并进行测试。
- 1.命令行实现
- 2.IDEA实现
问题和解决办法
- 1.命令行编译运行时,有包的代码进行编译的时候要交加 -d ,但运行时还有一点要注意。
- 问题:以上述实验(一)中Hello.java为例,执行命令java Hello,结果如下:
并不能显示正确结果。 - 解决办法:执行带包的代码文件一定要加上包名,上例改为:java ljp.Hello,结果正常显示。
- 2.问题:断点调试时,设置for循环语句处条件为i=50,出现以下问题: