《编程导论(Java)·附录A 使用BlueJ》

原创 2015年07月09日 21:41:33

 《编程导论(Java)·0.3.3 BlueJ与Java开发环境》

1. BlueJ

使用Java语言进行软件开发,有很多集成开发环境(IntegretedDevelopment Enviroment,IDE)可选择。本教材使用的是BlueJ。BlueJ专门针对入门级教学而设计,它的目标是给大学低年级的学生提供一个学习Java的方便、易于使用的教学环境。它是集编辑、编译、运行、调试、打包、发布等功能于一体的软件。其优点如下:

³       小巧、容易上手。商业级IDE自身的环境太复杂,而控制台涉及类路径等问题。BlueJ的基本操作见[附录A]。

³       BlueJ的主窗口显示了项目中的各个类以及类间的关系(继承和使用)。这种简易的UML类图可以使面向对象的抽象概念图形化

³       可以方便地创建对象,一旦创建了对象,右击该对象图标就可以直接调用/执行它的某个public方法。

³       它支持javadoc的生成、支持applet的生成和执行,同时支持生成可执行的jar文件。

请将其安装在D盘根目录下,例如安装路径为D:\BlueJ。(这样要求仅仅是为了讲解时方便)

 

2. 控制台

对初学者而言,另一种最常见的选择是在控制台中直接使用JDK附带的工具如Java编译器(javac.exe)、Java解释器(java.exe)、小应用程序浏览器(appletviewer.exe)等学习Java编程。可以在大多数Java入门教材中找到详细的介绍。源代码的编辑工作交给记事本或者UltraEdit、EditPlus等文本编辑器完成。

控制台方式有助于初学者了解Java程序开发的一般过程(参照图0-8),即Java程序从源文件(*.java),经过编译生成字节码文件(*.class),再由解释器运行。而Java小应用程序(applet)将字节码文件作为对象嵌入到超文本文件(*.html)中,在浏览器(或appletviewer.exe)中运行。

然而,使用这一简单工具,编程初学者常常会遭受一些小细节带来的困扰。例如要设置Java平台的路径(path)和类路径(classpath)、要了解常用的控制台命令(如cd、dir)等。特别是程序涉及到包的时候,在目录间切换令人厌烦【所以使用这种环境的教材,大量使用默认包】。尤其要注意,用java命令执行的程序A.class时,A中必须有public static void main (String [ ])方法【本教材中一般没有写main(),你要在控制台中运行的话,自己添加】,它是程序执行的起点。否则,就会出现如图0-9所示的异常。

0‑9 控制台中编译和运行Java应用程序

 

3. 大型Java IDE

当今大型商业软件开发时,程序员所使用的Java IDE,以NetBeansEclipse最为著名。Netbeans是Oracle公司开发的开源JavaIDE,使用的是纯正的Java图形用户界面(Graphical User Interface,GUI)库:Swing/AWT。Eclipse是IBM领衔开发的一个非常成功的开源项目,拥有了很多的Eclipse社区和新闻组。而JBuilder是前Borland公司开发的Java IDE,在Java语言的早期发展过程中具有重要作用。阅读稍早的Java参考书时,会发现它们常常使用JBuilder作为开发工具。

使用大型IDE是程序员走向成熟的必然选择,但不是编程初学者的最好选择。在教学中使用它们,会显得环境太复杂、会使学生聚焦于GUI的设计而忘记其主要学习任务。

练习0-39:上网查阅“Java BlueJ”的信息。能够在老师的指导下,用20分钟掌握其基本用法吗?自学附录A,需要多长时间?

练习0-40:请在操作系统中设置路径和类路径,学习常用的控制台命令。

 




《编程导论(Java)·附录A 使用BlueJ》

A.0 BlueJ与JDK

BlueJ 是一个专门为入门级教学而设计的Java集成开发环境,由位于澳大利亚墨尔本的迪金(Deakin)大学和位于英国的肯特(Kent)大学的一个联合小组开发和维护。官方网站是http://www.bluej.org/

1.安装BlueJ:必须在系统中首先安装JDK,推荐安装(或升级到)最新的 JDK 版本。而后从BlueJ的官方网站下载最新版本的BlueJ开发环境,如bluej-315.msi文件【2015.7的最新版本,支持Java8】,并双击它以安装。本书使用BlueJ version 3.0.8版本。假定安装到

D:\BlueJ

如果系统中安装了多个版本的JDK,可以从“开始”菜单中选择使用Select BlueJ VM程序重新指定BlueJ使用的JDK版本。【原来在安装目录中有D:\BlueJ\Select VM,现在不知道跑到哪里去了!!



2.Java JDK文档:单击BlueJ 的菜单Help→Java class Libraries,浏览器默认打开Java官方网站的Java JDK文档。如果不能联网或为了更快打开JDK文档,可以下载Java JDK文档并与BlueJ相关联。

http://www.oracle.com/technetwork/java/javase/documentation/java-se-7-doc-download-435117.html网页上有jdk-7u6-apidocs.zip(57.6MB)供下载【更换成最新的文档】。下载后将它解压到指定的地方,其下创建了一个docs的文件夹,双击…docs\api\index.html,就可以在浏览器中查看该文档。单击BlueJ 的菜单Tools→Preferences→Miscellaneous页,在JDK documentation URL文本框中填入浏览器地址栏中的地址,以后就可以通过单击BlueJ 的菜单Help→Java class Libraries,查看Java JDK文档/API规范。

如果需要,可以从网上获得一份中文版的JDK文档。如果觉得翻译的中文版文档不容易理解,请直接读原文。

 

A.1 基本操作

1.启动 BlueJ:双击D:\BlueJ\bluej.exe或者桌面快捷方式,将启动BlueJ开发环境。第一次使用BlueJ,要创建一个新项目或者打开一个现有的项目。以后,BlueJ记住了最后使用的项目,启动BlueJ时将自动打开该项目。也可以双击任一文件夹中的package.bluej,启动BlueJ开发环境。

2.BlueJ项目: BlueJ项目是一个Java默认包,也是一个包含工程文件的目录/文件夹。菜单Project→New Project,创建一个新项目;Project→Open Project打开一个选定的项目;通过Open Recent打开一个最近使用过的某个项目。

3.项目环境:类似图A-1,BlueJ的项目环境由5部分组成:菜单、工具条、项目工作区、对象区和JVM工作状态图标构成,非常简洁。

JVM工作状态图标最重要的用途是,程序陷入长久运行时可以通过该图标的右击菜单重启JVM。项目工作区、对象区中的类图标、对象图标均可右击而获得弹出菜单。

4.New Class…:创建新的Java类型,如标准类class、抽象类abstract class、接口interface、小程序applet、单元测试Unit test、枚举enum等等,可以单击工具条new class…按钮,或者菜单Edit→或项目工作区的弹出菜单中的new class…。选择类型、填写类名后,项目工作区中出现了一个黄色矩形(称类图标)。类图标上有斜条纹,表示该类需要编译。

 

图A- 1 BlueJ的项目环境

5.编辑源代码:双击Dog类图标、或右击Dog在弹出菜单→openEditor,将弹出源代码编辑器窗口。

BlueJ 的编辑器的使用如同任一其他文本编辑器,可以输入中英文字符,使用键盘上的Delete和Backspace键删除字符,用鼠标拖动或鼠标单击+Shift选择多行文本。通用的快捷键ctrl-z、ctrl-x、ctrl-c、ctrl-v对应工具条上的Undo、Cut、Copy和Paste。


图A- 2 源代码编辑器窗口

右下角的“saved”说明本源代码已经被保存,如果没有保存则提示为“changed”。源文件在编译时自动保存、在编辑器关闭时自动保存。除非在源代码中大量输入代码而且担心中途会遇到停电,一般不需要特意去保存。

 

6.编译:将源代码编译为.class文件。编辑器窗口和项目环境中,有太多地方有compile按钮或选项。如项目环境中:工具条上的compile按钮、菜单Tools中的compile选项、右击类图标后在弹出菜单中选取compile,或者ctrl-K;源代码编辑器窗口中:工具条上的compile按钮、又有Tools菜单。你可以尝试各种使用它的方式并选择自己最方便的。由于每个人的使用习惯不同,在介绍BlueJ的使用时,一般简单地说明“重新编译”这种大致步骤。

单击Compile以编译代码。在消息区会出现一条提示消息,这个类被成功编译,或者出现某某错误,这时源代码的错误行会高亮显示。

 

A.2与类、对象交互

BlueJ的一个明显特点,可以直接创建对象、直接调用该对象的方法、查看它的状态。这样可以使学生直观地看见和“感受“创建对象、调用方法、传递参数和接收返回值等操作的涵义。

1.类图标的弹出菜单

右击类图标后,弹出菜单一般有3部分,如图A-3所示。

图A- 3 类图标的弹出菜单

在类的弹出菜单中,(1)可以调用某个构造器创建该类的对象,期间会出现一个对话框,要求你输入“Nameof Instance”,在给对象(确切的说,是引用变量)命名时,采用小写;(2)可以调用该类的静态方法。(3)单击Inspect可以查看类的静态域。如果安装了JUnit,弹出菜单中添加了创建测试类的按钮。

2.对象图标的弹出菜单

右击对象图标后,弹出菜单一般有3部分,如图A-4所示。

图A- 4 对象图标的弹出菜单

3.查看消息框

类和对象图标的弹出菜单中均有“Inspect”按钮,分别查看类的静态变量和对象的实例变量。例如在对象查看器中,可以直接观察对象的所有实例变量和它们的值。对象察看器中高亮显示的(黄色部分)是当前查看项,可以使用鼠标或键盘上的上下方向键改变当前查看项。

如果当前查看项是boolean或int等基本类型,察看器上的Inspect按钮为不可单击的失效状态(因为当前查看项不是对象)。如果当前查看项是引用类型如String,对象察看器面板上的Inspect按钮可以单击,进一步查看baby指向的对象;

单击Show static fields按钮将查看对象的静态域,相当于在类图标的弹出菜单中选择“Inspect”。

图A- 5 查看器

4.输入方法的参数

只要是可以求得值的东西,都可以作为方法的实际参数,如文字、表达式、有返回值的方法调用等。

²       如果形参是对象的引用,你最好先创建一个对象,在要求输入实参时,单击该对象;

²       如果形参是字符串文字,注意用双引号包围它。

²       如果形参是数组如int[],则输入的参数形如{1,2,3},如同“int[] i ={1,2,3};”的写法;或者按照标准的Java用法输入new int[]{1,2,3}。

 

5.在终端窗口中输出

System.out.println(Object)语句将在一个终端窗口(Terminal Window)中显示输出信息。println输出一行(line)信息后,下一次打印位置的指示光标移到下一行;print则在输出若干信息后,指示光标移到刚才打印信息的尾部。

如果一个方法中调用了类似println()的语句,方法执行到该语句将弹出一个终端窗口。

如果没有看见终端窗口,请在项目环境中单击菜单View→Show Terminal。

 

6.在“Method Result”窗口中输出

如果一个方法有返回值,其返回值将出现在“Method Result”窗口中。如果返回的是一个对象的引用,可以在“Method Result”窗口做更多的操作,如Inspect该对象,get该对象——将在对象区出现一个可用的对象。

图A- 6 方法结果窗口

 

7.void方法

没有返回值的方法如setter方法,在方法执行后,似乎没有直观的反馈。既然目的是改变对象的某个属性,可以察看对象的状态以了解改变后的结果。

 

 

A.3断点与调试器

在一些章节的源代码中,使用Ö表示断点。断点(breakpoint)是在一行源代码旁设定的标识,程序执行到断点就会停止运行。开发环境中弹出调试器和编辑器窗口,以便观察源代码当前的状态。

1.设置断点

在源代码编辑器窗口的行号条(见图A- 2)上单击、或者光标在源代码某行时选择Tool→Set Breakpoint(设置断点),如果该行有可执行语句,则在行号条出现一个停止的标志。重复执行刚才的操作,为切换。

2.调试器窗口

图A- 7 调试器窗口

³       单步

程序停在一个断点后,按下Step(单步)按钮,程序将仅仅执行一行代码,并再次停下来,源代码行旁边的小箭头表示当前中断的位置。如果单步执行的语句中包含方法调用,则将执行完整个方法,或者遇到(被调方法中设定的) 断点而停止。

Step Into则在遇到单步执行的语句的方法调用时,仅仅执行被调方法的第一条语句。

³       继续按钮

Continue按钮恢复程序运行,直到下一个断点、程序被Halt按钮中断或正常运行结束。在循环语句中,通过设置两个断点,可以使用Continue按钮快速在两个断点间切换。

³       终止按钮

Terminate按钮终止整个程序运行。单纯地关闭调试器窗口不会终止整个程序运行,可以通过View→ShowDebugger重新打开调试器窗口。

3.方法调用栈

在学习消息传递机制和递归时,可以在方法调用栈窗格中选取不同的栈帧,观察各栈中局部变量的当前值。变量窗格分3部分,分别列举了当前栈帧对应的静态域(线程共享)、实例域和局部变量。

 



相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

bluej 改为中文界面

     BlueJ(http://www.bluej.org/download/download.html)是一个专门为入门级教学设计的JavaTM 开发环境,它是由澳大利亚墨尔本Monash大学B...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Eclipse各个版本的区别以及选择标准

Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会。 ...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

《编程导论(Java)》学习导航

学习《编程导论(Java)》时,可以查阅的在本博客中相关博文的链接。
  • yqj2065
  • yqj2065
  • 2012年12月09日 02:05
  • 3014

《编程导论(Java)·9.2.3 案例:M集》

分形理论(fractal theory)的奠基人曼德布罗特(Mandelbrot)发现了著名的Mandelbrot set,简称M集。M集可能是最复杂的数学对象,是分形、混沌领域的一种国际标志。 上传...
  • yqj2065
  • yqj2065
  • 2016年06月12日 23:03
  • 404

《编程导论(Java)·2.1.3改写(override)》

收集Java override内容.
  • yqj2065
  • yqj2065
  • 2014年09月19日 16:40
  • 1159
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《编程导论(Java)·附录A 使用BlueJ》
举报原因:
原因补充:

(最多只允许输入30个字)