• 实验一 Java开发环境的熟悉


    北京电子科技学院(BESTI)

                 

    课程:Java程序设计                         班级:1353            姓名:陈巧然      学号:20135310

    成绩:             指导教师:娄佳鹏              实验日期:2015.4.13

    实验密级:         预习程度:             实验时间:18:30~21:00

    仪器组次:10          必修/选修:                  实验序号:1

    实验名称:    Java开发环境的熟悉                                                        

    实验目的与要求:1.使用JDK编译、运行简单的Java程序                                       

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

     3.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程  

     4.实验报告中统计自己的PSP(Personal Software Process)时间                           

     

    实验仪器:

    名称

    型号

    数量

    PC 

    MacBook(win7) 

    虚拟Linux系统

    实验楼虚拟机 

     1

     

     

     

     

     

     

    说明:在实验楼的实际操作过程中未截图,此报告中过程为二次在win7系统的cmd和eclipse中操作完成。

     

    一、实验步骤

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

     

        1.双击桌面上的Xface终端图标,打开终端(类似Windows下的cmd),之后会自动运行shell程序 

          (win7系统中打开开始菜单,点击命令提示符,运行cmd)

        2.输入【cd Code】命令进入Code目录,输入【mkdir 20135310】 命令建立实验目录,可以使用【ls】命令或【dir】命令查看建立的目录情况

           (win7中输入【cd Code】命令进入Code目录,输入【mkdir 20135310】 或【md 20135310】命令建立实验目录,用【dir】命令查看建立的目录情况)

                              

        3.输入【cd 20135310】命令进入实验目录,再输入类似【mkdir exp1】建立第一个实验目录,然后输入【cd exp1】进入实验一目录,可以输入【pwd】命令查看当前工作路径

          (win7下建立目录的指令同上,当前工作路径已显示)

            

        4.输入【gedit Hello.java】注意把代码保存到exp1目录中)或【vim Hello.java】(建议大家花点时间学习一下Vim)编辑Hello.java,并输入以下代码:    

          package cqr;
          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 + " !");
             }
          }     
    (win7下在命令行中输入【echo>Hello.java】创建java文件,输入【Hello.java】打开java文件进行编辑,代码同上)
    注意代码的第一行,这会影响到我们使用javac编译代码的方式。
    注意代码第二行,我们使用到Java类库中的类时,要用import导入相关的类(C语言中的include),导入路径可以查看JDK帮助文档,比如我们使用到了Scanner类,路径为
    java.util.Scanner
     5.输入【javac -d . Hello.java】命令编译代码,输入【java cqr.Hello命令运行程序。


    注意:代码中有package时,使用javac编译代码时一定要加-d参数,运行代码时一定要加包名前缀

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

     

        1.在命令行中输入【eclipse】命令并回车或单击桌面上的Eclipse EE图标打开Eclipse

         (win7中进入eclipse.exe所在目录,输入【eclipse.exe】打开eclipse)

        2.在Eclipse中单击【File->New-> Java Project】新建Java项目

        3.输入项目名称【HelloWorld】,并单击【Finish】按钮完成新建项目

        4.在Eclipse中单击【File->New->Class】新建Java类

        5.根据Java代码规范输入包名【cqr(小写),类名【HelloWorld】(单词首字母大写),并勾选上自动产生main函数选项,最后单击Finish按钮

           

        6.输入如下代码,单击运行按钮(或使用【Ctrl+F11】快捷键),就可以在控制台(Console)中看到运行结果

     package cqr;
    public class HelloWorld {
    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;
    }
    }

              

        7.调试程序,首先通过单击【Window->Open Perspective->Debug】打开调试视图

        8.设置断点,在第四行左边右键,点击【Toggle Breakpoint】,然后单击调试按钮(或使用【F11】快捷键)开始调试Java程序,我们可以看到程序停留在了第4行

           

          注意,此时第4行代码并没有执行,我们可以把鼠标放到变量名上来查看变量的值,此时i的值并不是5,我们通过单步运行让程序运行到第5行,单步运行有两种:【Step Into】(快捷捷F5)和【Step Over】(快捷捷F6),这两种单步运行功能在运行语句时没有区别,在执行函数调用语句时,【Step Into】会跳入函数实现,【Step Over】会直接执行完函数,实际使用中我们优先使用【Step Over】,只有函数执行出错了,说明程序问题在被调用函数中,这时再回来通过【Step Into】进入函数进行调试。单击一下【Step Over】图标(或【F6】),程序停在了第5行,这时查看变量i的值,会看到i等于5。

           

        

        9.单步执行效率较慢,要想让程序直接运行到第11行,可以在第11行设置断点,然后单击【Resume】图标(快捷键【F8】),程序就运行到了第11行

             

     

        10.设置条件断点:在第11行左边单击鼠标右键,选择【Breakpoint Properties...】,设置条件【i==50】

           

        按一下【F8】,我们可以查看i的值是50

           

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

          题目:实现凯撒密码,并进行测试。代码如下:  

    import java.io.*;
    import java.util.Scanner;
    class kaisa
    {
    public static void main(String[] args)
    {
    System.out.println("Please input the key:");
    Scanner s=new Scanner(System.in);
    int a =s.nextInt();
    C(a);
    }
    public static void C(int k)
    {
    try
    {
    char b[];
    BufferedReader br2=new BufferedReader(new InputStreamReader(System.in));
    System.out.println("Please input the plain:");
    String str2=br2.readLine();
    b=str2.toCharArray();
    System.out.println("The cipher:");
    for (int i=0;i<str2.length() ;i++ )
    {
    char ch =(char)((b[i]-'a'+k)%26+'a');
    System.out.print(ch);
    }
    System.out.println();
    }
    catch (IOException e)
    {
    System.out.println(e.getMessage());
    }
    System.out.println("key="+k);
    }
    }

        运行:

           

     

    二、总结

    (一)PSP时间 

    步骤耗时百分比
    需求分析 5 6.25% 
    设计 5 6.25% 
    代码实现 40 50% 
    测试 20 25% 
    分析总结 10  12.5% 

     

     

     

     

     

     

    (二)遇到的问题和解决方法

        1.命令行常用指令不熟练,Linux和Windows下的命令行指令大致相同,但很多细节方面不太一样,如windows下不能用【ls】查看目录、不需要输入【pwd】直接可显示当前工作路径等

        2.Eclipse中,当打出前括号时会自动生成后括号,一开始因为不知道总是多出很多后括号,导致编译失败

        3.实验楼虚拟机运行慢、反应迟钝,且很容易卡死挂住,加上学校内网速普遍偏慢,浪费太多时间。

    (三)收获和感想

        1.学到一些新的常见命令行指令,如 编译一个.java文件 :javac -d . 类名.java;在命令行中运行.class文件:java 包名.类名等

        2.初次体验Linux和虚拟机,不知道是实验楼还是网速或者别的原因,总之感觉很不好……实验内容步骤都很基础,本可以很快完成,但实际却耗费我两晚的自由学习时间。个人觉得实验楼是前景不错的技术学习、交流平台,但尚未发展成熟。后面的实验若还是这种将大把时间用在等虚拟机反应上,我更愿意对照步骤在Windows系统中完成;另一方面,打算有空时多接触Linux环境,感受java的跨平台性并且学习处理不同平台间的差异和联系。

            

          

     

            

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    单个 js 文件禁用 ESLint 语法校验
    meta标签整合
    安装es6编译babel
    JSON.parse()和JSON.stringify()的区别
    preventDefault()、stopPropagation()、return false 的区别
    excel 表格内容读取
    redis 小例
    多文件打包下载
    随笔
    js数组删除元素
  • 原文地址:https://www.cnblogs.com/20135310cqr/p/4430714.html
Copyright © 2020-2023  润新知