20155314 2016-2017-2 《Java程序设计》实验一 Java开发环境的熟悉(macOS + IDEA)

20155314 2016-2017-2 《Java程序设计》实验一 Java开发环境的熟悉(macOS + IDEA)

实验内容

  1. 使用JDK编译、运行简单的Java程序;

  2. 使用IDEA 编辑、编译、运行、调试Java程序。

实验知识点

  1. JVM、JRE、JDK的安装位置与区别;

  2. 命令行运行javacjavajavac -cp; java -cp

  3. PATH,CLASSPATH,SOURCEPATH的设定方法与应用;

  4. 包管理:packageimportjavac -d

  5. IDEA管理Java项目,调试:断点、单步执行等;

  6. Java基础语法:类型与类型转换;变量;运算符;流程控制等;

  7. JDK帮助文档的使用。

实验步骤

(一)macOS终端命令行下Java程序开发

  • 步骤一:在终端中新建实验目录
    • 按快捷键contrl + alt + T打开macOS终端
    • 输入cd Code命令,发现进入Code目录失败,原因是Code目录根本不存在(什么嘛你们之前早都建好的怎么不说一声>_<)于是输入mkdir Code命令新建Code目录再cd Code一下进入就好啦~
    • 输入mkdir 20155314test建立以我学号命名的实验目录
    • 输入cd 20155314test进入实验目录
    • 输入mkdir exp1建立第一个实验目录
    • 输入cd exp1进入实验一目录
    • 输入pwd命令查看当前工作路径,如下图所示:
  • 步骤二:vim下编译、运行Java程序
    • 输入vim Hello.java编辑Hello.java,按下i并输入以下代码:

        import java.util.Scanner;
        public class Hello{
           public static void main(String[] args){
               System.out.println("Input your first name, please:");
               Scanner s = new Scanner(System.in);
               String name = s.next();
               System.out.println("Hello " + name + " !");
            }
        }
      

  • 然后按esc退出编辑模式,再按:输入wq后回车保存并退出

    注意代码第一行,我们使用到Java类库中的类时,要用import导入相关的类(可以暂时理解为C语言中include的功能),导入路径可以查看JDK帮助文档,比如我们使用到了Scanner类,路径见下图中红框:

    • 输入javac -d . Hello.java命令编译代码,输入java Hello命令运行程序。结果如下图所示:
      诶?!什么情况?居然编译错误啦(>_<)好在终端指出了错误之处:结尾处多了一个}(???)
    • 再次输入vim Hello.java回头查看刚才编写的代码,仔细一看果然少打了一个}~😂😂
      看来还是不细心啊咳咳( ̀⌄ ́)
    • 再次输入javac -d . Hello.java命令编译代码,回车后没有任何提示说明编译通过
    • 输入java Hello命令运行,这回终于成功啦~输入name:Liuzijian后回车输出Hello Liuzijian ! (>_<)

(二)IDEA下Java程序开发、调试

  • 步骤一:在IDEA中新建Java程序
    • macOS下打开IDEA:

    • 新建Java项目「CrazymosquitoJDB」:

    • 进入该项目:

    • 新建「HelloJDB」类,输入如下代码:

        public class HelloJDB {
           public static void main(String[] args) {
              int i = 5;
              int j = 6;
              int sum = add(i, j);
              System.out.println(sum);
                  
              sum = 0;
              for(i=0; i< 100; i++)
                 sum += i;
                 
              System.out.println(sum);
         }
             
           public static int add(int augend, int addend){
              int sum = augend + addend;
              return sum;
           }
        }
      

      睁大眼睛仔细瞅了很多遍,嗯,这回没毛病!😂😂

  • 步骤二:调试
    • 设置断点:在需要设置断点的一行左侧灰色区域单击鼠标,出现红色圆点,比如我想在第8行设置断点:
    • 开始调试:按ctrl + alt + R快捷键或在上方菜单栏Run里点击Debug...进行单步调试,如下图:

      调试结果在IDEA下方显示:
    • 设置条件断点:在设置好的断点(红色圆点)上右击,在Condition一框里设置条件“i==50”,如下图所示:
    • 再次Debug,得到调试结果如下:

(三)练习(通过命令行和IDEA两种方式实现,自己的学号后两位与题目总数取余的结果再加上1就是自己要完成的题号,在IDEA下练习调试程序)

  • 实现求正整数1-N之间所有质数的功能,并进行测试。
    • 代码:

        import java.util.Scanner;
        public class PrimeNumber {
            public static int[] getPrimeNumber(int n){
                int[] retArr=new int[n];
                boolean isPrime; //isPrime作为当前这个数是否为质数的标记位
                for(int i=2;i<n;i++){
                    isPrime=true;
                    for(int j=2;j<i;j++){
                        if(i%j==0){
                            isPrime=false;
                            break;
                        }
                    }
                    if(isPrime){
                        retArr[i]=i;
                    }
                }
                return retArr;
            }
            public static void main(String[] args) {
                Scanner n=new Scanner(System.in);
                System.out.print("请输入一个整数:");
                int[] retArr=getPrimeNumber(n.nextInt());
                for(int i=0;i<retArr.length;i++){
                    if(retArr[i] !=0){
                        System.out.println(retArr[i]);
                    }
                }
            }
        }
      
    • 测试:

实验过程中遇到的问题

  • 关于macOS下vim的问题


  • 关于IDEA条件断点报错(Breakpoint Condition Error)的问题

实验体会与总结

“实践是检验认识真理性的唯一标准。”

第一次实验看上去虽然比较简单,但是自己真正按要求走一遍下来还是出现不少问题的,比如对macOS下Vim使用方法不熟悉、终端命令行下使用Vim写代码由于粗心导致花括号不匹配的问题以及IDEA中单步调试设置条件断点时误将判断相等的条件==boolean型)打成了赋值号=导致错误等等,全部解决上述问题还是有很大收获的(。ì _ í。)

“自己动手,丰衣足食。”

本次Java实验让我更切身感受到动手实践的重要性,避免眼高手低勤于动手、热衷实践才是学好一切的王道。

步骤 耗时 百分比
需求分析 6min 6.5%
设计 20min 21.7%
代码实现 25min 27.2%
测试 11min 12.0%
分析总结 30min 32.6%

参考资料

posted @ 2017-04-08 15:53  20155314刘子健  阅读(162)  评论(0编辑  收藏  举报
Live2D