注意:访问本站需要Cookie和JavaScript支持!请设置您的浏览器! 打开购物车 查看留言付款方式联系我们
初中电子 单片机教材一 单片机教材二
搜索上次看见的商品或文章:
商品名、介绍 文章名、内容
首页 电子入门 学单片机 免费资源 下载中心 商品列表 象棋在线 在线绘图 加盟五一 加入收藏 设为首页
本站推荐:
JAVA教程 第一讲 Java语言概述(2)
文章长度[] 加入时间[2007/5/3] 更新时间[2024/10/20 10:54:53] 级别[0] [评论] [收藏]
JAVA教程 第一讲 Java语言概述(2)

1.5 java程序规范
1.5.1 java源程序结构
  一个完整的java源程序应该包括下列部分:
  package语句; //该部分至多只有一句,必须放在源程序的第一句
  import语句; /*该部分可以有若干import语句或者没有,必须放在所有的
          类定义之前*/
  public classDefinition; //公共类定义部分,至多只有一个公共类的定义
       //java语言规定该java源程序的文件名必须与该公共类名完全一致
  classDefinition; //类定义部分,可以有0个或者多个类定义
  interfaceDefinition; //接口定义部分,可以有0个或者多个接口定义
  例如一个java源程序可以是如下结构,该源程序命名为HelloWorldApp.java:
   package javawork.helloworld; /*把编译生成的所有.class文件放到包
                   javawork.helloworld中*/
   import java.awt.*;  //告诉编译器本程序中用到系统的AWT包
   import javawork.newcentury; /*告诉编译器本程序中用到用户自定义
                  的包javawork.newcentury*/
   public class HelloWorldApp{......} /*公共类HelloWorldApp的定义,
                      名字与文件名相同*/
   class TheFirstClass{......} //第一个普通类TheFirstClass的定义
   class TheSecondClass{......} //第二个普通类TheSecondClass的定义
              ...... //其它普通类的定义
   interface TheFirstInterface{......} /*第一个接口
                      TheFirstInterface的定义*/
                 ...... //其它接口定义

  package语句:由于java编译器为每个类生成一个字节码文件,且文件名与类名相同,因此同名的类有可能发生冲突。为了解决这一问题,java提供包来管理类名空间,包实际提供了一种命名机制和可见性限制机制。而在java的系统类库中,把功能相似的类放到一个包(package)中,例如所有的图形界面的类都放在java.awt这个包中,与网络功能有关的类都放到java.net这个包中。用户自己编写的类(指.class文件)也应该按照功能放在由程序员自己命名的相应的包中,例如上例中的javawork.helloworld就是一个包。包在实际的实现过程中是与文件系统相对应的,例如javawork.helloworld所对应的目录是path\javawork\helloworld,而path是在编译该源程序时指定的。比如在命令行中编译上述HelloWorldApp.java文件时,可以在命令行中敲入"javac -d f:\javaproject HelloWorldApp.java",则编译生成的HelloWorldApp.class文件将放在目录f:\javaproject\javawork\helloworld\目录下面,此时f:\javaprojcet相当于path。但是如果在编译时不指定path,则生成的.class文件将放在编译时命令行所在的当前目录下面。比如在命令行目录f:\javaproject下敲入编译命令"javac HelloWorldApp.java",则生成的HelloWorldApp.class文件将放在目录f:\javaproject下面,此时的package语句相当于没起作用。

  但是,如果程序中包含了package语句,则在运行时就必须包含包名。例如,HelloWorldApp.java程序的第一行语句是:package p1.p2;编译的时候在命令行下输入"javac -d path HelloWorldApp.java",则HelloWorldApp.class将放在目录path\p1\p2的下面,这时候运行该程序时有两种方式:
  第一种:在命令行下的path目录下输入字符"java p1.p2.HelloWorldApp"。
  第二种:在环境变量classpath中加入目录path,则运行时在任何目录下输入"java p1.p2.HelloWorldApp"即可。

  import语句:如果在源程序中用到了除java.lang这个包以外的类,无论是系统的类还是自己定义的包中的类,都必须用import语句标识,以通知编译器在编译时找到相应的类文件。例如上例中的java.awt是系统的包,而javawork.newcentury是用户自定义的包。比如程序中用到了类Button,而Button是属于包java.awt的,在编译时编译器将从目录classpath\java\awt中去寻找类Button,classpath是事先设定的环境变量,比如可以设为:classpath=.;d:\jdk1.3\lib\。 classpath也可以称为类路径,需要提醒大家注意的是,在classpath中往往包含多个路径,用分号隔开。例如classpath=.;d:\jdk1.3\lib\中的第一个分号之前的路径是一个点,表示当前目录,分号后面的路径是d:\jdk1.3\lib\,表示系统的标准类库目录。在编译过程中寻找类时,先从环境变量classpath的第一个目录开始往下找,比如先从当前目录往下找java.awt中的类Button时,编译器找不着,然后从环境变量classpath的第二个目录开始往下找,就是从系统的标准类库目录d:\jdk1.3\lib开始往下找java.awt的Button这个类,最后就找到了。如果要从一个包中引入多个类则在包名后加上".*"表示。

  如果程序中用到了用户自己定义的包中的类,假如在上面程序中要用到javawork.newcentury包中的类HelloWorldApp,而包javawork.newcentury所对应的目录是f:\javaproject\javawork\newcentury,classpath仍旧是classpath=.;d:\jdk1.3\lib\,则编译器在编译时将首先从当前目录寻找包javawork.newcentury,结果是没有找到;然后又从环境变量classpath的第二个目录d:\jdk1.3\lib\开始往下找,但是仍然没有找到。原因在于包javawork.newcentury是放在目录f:\javaproject下面。因此,需要重新设定环境变量classpath,设为classpath=.;d:\jdk1.3\lib\;f:\javaproject\ 。所以编译器从f:\javaproject开始找包javawork.newcentury就可以找到。

  源文件的命名规则:如果在源程序中包含有公共类的定义,则该源文件名必须与该公共类的名字完全一致,字母的大小写都必须一样。这是java语言的一个严格的规定,如果不遵守,在编译时就会出错。因此,在一个java源程序中至多只能有一个公共类的定义。如果源程序中不包含公共类的定义,则该文件名可以任意取名。如果在一个源程序中有多个类定义,则在编译时将为每个类生成一个.class文件。
1.5.2 java编程规范
  软件开发是一个集体协作的过程,程序员之间的代码是经常要进行交换阅读的,因此,java源程序有一些约定成俗的命名规定,主要目的是为了提高java程序的可读性。
  包名:包名是全小写的名词,中间可以由点分隔开,例如:java.awt.event;

  类名:首字母大写,通常由多个单词合成一个类名,要求每个单词的首字母也要大写,例如class HelloWorldApp;
 
  接口名:命名规则与类名相同,例如interface Collection;

  方法名:往往由多个单词合成,第一个单词通常为动词,首字母小写,中间的每个单词的首字母都要大写,例如:balanceAccount, isButtonPressed;

  变量名:全小写,一般为名词,例如:length;

  常量名:基本数据类型的常量名为全大写,如果是由多个单词构成,可以用下划线隔开,例如:int YEAR, int WEEK_OF_MONTH;如果是对象类型的常量,则是大小写混合,由大写字母把单词隔开。

1.5.3 java帮助文档
  java中所有类库的介绍都保存在java帮助文档中,程序员在编程过程中,必须查阅该帮助文档,了解系统提供的类的功能、成员方法、成员变量等等信息以后,才能够更好的编程。同时,java开发工具包(JDK)提供了
"java"、"javac"、"javadoc"、
"appletviewer"等命令,在java帮助文档中也对此进行了详细的介绍。java帮助文档是以HTML文件的形式组织,通常是安装在JDK目录下的docs子目录中的index.html文件,所以用浏览器就可以进行查阅。例如JDK是安装在D:\jdk1.3目录下面,则用浏览器打开D:\jdk1.3\docs\index.html文件,就可以看到图1_5_1所示的帮助文档。

  如果希望查阅JDK的命令,则可以选择"Tool Documentation",如图1_5_2红字所示。

  此时浏览器就会把java、javac、javadoc、appletviewer等命令列出来,如图1_5_3。

  但是大多时时候,我们需要查阅的是类库的文档,因此需要在"D:\jdk1.3\docs\index.html"文件中选择"Java 2 Platform API Specification",如图1_5_4中红字所示。

  然后就进入了详细的类库介绍,如图1_5_5所示。
1.5.4 java注释
  单行注释:从"//"开始到本行结束的内容都是注释,例如:
         //这是一行单行注释
         //则是另一行单行注释
  
  多行注释:在"/*"和"*/"之间的所有内容都是注释,例如:
         /*这是一段注释分布在多行之中*/

   文档注释:在注释方面java提供一种C/C++所不具有的文档注释方式。其核心思想是当程序员编完程序以后,可以通过JDK提供的javadoc命令,生成所编程序的API文档,而该文档中的内容主要就是从文档注释中提取的。该API文档以HTML文件的形式出现,与java帮助文档的风格与形式完全一致。凡是在"/**"和"*/"之间的内容都是文档注释。例如下面的DocTest.java文件:
       /** 这是一个文档注释的例子,主要介绍下面这个类 */
       public class DocTest{
          /** 变量注释,下面这个变量主要是充当整数计数 */
         public int i;
          /** 方法注释,下面这个方法的主要功能是计数 */
         public void count( ) {}
       } 
  通过在命令行下面运行"javadoc -d . DocTest.java",就生成了介绍类DocTest的index.html文件,用浏览器浏览结果如图1_5_6,注意到DocTest.java文件中的文档注释的内容都出现在该index.html文件中。

1.6 建立java开发环境
1.6.1 安装Java Develop Kit(JDK)

  Sun公司为所有的java程序员提供了一套免费的java开发和运行环境,取名为Java2 SDK,可以从http://sun.com上进行下载,也可以从同方教育网站上下载。但是最新的消息和版本必须从Sun的网站上才能够得到。安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.3目录下。通常在JDK目录下有bin、demo、lib、jre等子目录,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了java的类库文件,jre保存的是java的运行时环境。

1.6.2 安装java帮助文档

  由于JDK的安装程序中并不包含帮助文档,因此也必须从Sun的网站上下载进行安装。通常安装在JDK所在目录的docs子目录下面。用浏览器打开docs子目录下的index.html文件就可以阅读所有的帮助文档。

1.6.3 配置类路径

  在安装完JDK之后,必须配置类路径classpath和环境变量path,JDK才能够正常运行。如果是在windows98中运行,则在
  C:\autoexec.bat文件的末尾添加下列语句:
   classpath= .;d:\jdk1.3\lib;
   path=%path%;d:\jdk1.3\bin;

  如果是在windows2000中,则需要用右键单击桌面上"我的电脑",选择"属性",则弹出一个名为"系统特性"的窗口,选择"高级",然后选择"环境变量",在"环境变量"窗口中编辑classpath和path。
//java语言规定该java源程序的文件名必须与该公共类名完全一致
  classDefinition; //类定义部分,可以有0个或者多个类定义
  interfaceDefinition; //接口定义部分,可以有0个或者多个接口定义 
  例如一个java源程序可以是如下结构,该源程序命名为HelloWorldApp.java:
   package javawork.helloworld; /*把编译生成的所有.class文件放到包
                   javawork.helloworld中*/
   import java.awt.*;  //告诉编译器本程序中用到系统的AWT包
   import javawork.newcentury; /*告诉编译器本程序中用到用户自定义
                  的包javawork.newcentury*/
   public class HelloWorldApp{......} /*公共类HelloWorldApp的定义,
                      名字与文件名相同*/
   class TheFirstClass{......} //第一个普通类TheFirstClass的定义
   class TheSecondClass{......} //第二个普通类TheSecondClass的定义
              ...... //其它普通类的定义
   interface TheFirstInterface{......} /*第一个接口
                      TheFirstInterface的定义*/
                 ...... //其它接口定义


package语句:由于java编译器为每个类生成一个字节码文件,且文件名与类名相同,因此同名的类有可能发生冲突。为了解决这一问题,java提供包来管理类名空间,包实际提供了一种命名机制和可见性限制机制。而在java的系统类库中,把功能相似的类放到一个包(package)中,例如所有的图形界面的类都放在java.awt这个包中,与网络功能有关的类都放到java.net这个包中。用户自己编写的类(指.class文件)也应该按照功能放在由程序员自己命名的相应的包中,例如上例中的javawork.helloworld就是一个包。包在实际的实现过程中是与文件系统相对应的,例如javawork.helloworld所对应的目录是path\javawork\helloworld,而path是在编译该源程序时指定的。比如在命令行中编译上述HelloWorldApp.java文件时,可以在命令行中敲入"javac -d f:\javaproject HelloWorldApp.java",则编译生成的HelloWorldApp.class文件将放在目录f:\javaproject\javawork\helloworld\目录下面,此时f:\javaprojcet相当于path。但是如果在编译时不指定path,则生成的.class文件将放在编译时命令行所在的当前目录下面。比如在命令行目录f:\javaproject下敲入编译命令"javac HelloWorldApp.java",则生成的HelloWorldApp.class文件将放在目录f:\javaproject下面,此时的package语句相当于没起作用。

  但是,如果程序中包含了package语句,则在运行时就必须包含包名。例如,HelloWorldApp.java程序的第一行语句是:package p1.p2;编译的时候在命令行下输入"javac -d path HelloWorldApp.java",则HelloWorldApp.class将放在目录path\p1\p2的下面,这时候运行该程序时有两种方式:
  第一种:在命令行下的path目录下输入字符"java p1.p2.HelloWorldApp"。
  第二种:在环境变量classpath中加入目录path,则运行时在任何目录下输入"java p1.p2.HelloWorldApp"即可。

  import语句:如果在源程序中用到了除java.lang这个包以外的类,无论是系统的类还是自己定义的包中的类,都必须用import语句标识,以通知编译器在编译时找到相应的类文件。例如上例中的java.awt是系统的包,而javawork.newcentury是用户自定义的包。比如程序中用到了类Button,而Button是属于包java.awt的,在编译时编译器将从目录classpath\java\awt中去寻找类Button,classpath是事先设定的环境变量,比如可以设为:classpath=.;d:\jdk1.3\lib\。 classpath也可以称为类路径,需要提醒大家注意的是,在classpath中往往包含多个路径,用分号隔开。例如classpath=.;d:\jdk1.3\lib\中的第一个分号之前的路径是一个点,表示当前目录,分号后面的路径是d:\jdk1.3\lib\,表示系统的标准类库目录。在编译过程中寻找类时,先从环境变量classpath的第一个目录开始往下找,比如先从当前目录往下找java.awt中的类Button时,编译器找不着,然后从环境变量classpath的第二个目录开始往下找,就是从系统的标准类库目录d:\jdk1.3\lib开始往下找java.awt的Button这个类,最后就找到了。如果要从一个包中引入多个类则在包名后加上".*"表示。

  如果程序中用到了用户自己定义的包中的类,假如在上面程序中要用到javawork.newcentury包中的类HelloWorldApp,而包javawork.newcentury所对应的目录是f:\javaproject\javawork\newcentury,classpath仍旧是classpath=.;d:\jdk1.3\lib\,则编译器在编译时将首先从当前目录寻找包javawork.newcentury,结果是没有找到;然后又从环境变量classpath的第二个目录d:\jdk1.3\lib\开始往下找,但是仍然没有找到。原因在于包javawork.newcentury是放在目录f:\javaproject下面。因此,需要重新设定环境变量classpath,设为classpath=.;d:\jdk1.3\lib\;f:\javaproject\ 。所以编译器从f:\javaproject开始找包javawork.newcentury就可以找到。

  源文件的命名规则:如果在源程序中包含有公共类的定义,则该源文件名必须与该公共类的名字完全一致,字母的大小写都必须一样。这是java语言的一个严格的规定,如果不遵守,在编译时就会出错。因此,在一个java源程序中至多只能有一个公共类的定义。如果源程序中不包含公共类的定义,则该文件名可以任意取名。如果在一个源程序中有多个类定义,则在编译时将为每个类生成一个.class文件。
1.5.2 java编程规范
  软件开发是一个集体协作的过程,程序员之间的代码是经常要进行交换阅读的,因此,java源程序有一些约定成俗的命名规定,主要目的是为了提高java程序的可读性。
  包名:包名是全小写的名词,中间可以由点分隔开,例如:java.awt.event;

  类名:首字母大写,通常由多个单词合成一个类名,要求每个单词的首字母也要大写,例如class HelloWorldApp;
 
  接口名:命名规则与类名相同,例如interface Collection;

  方法名:往往由多个单词合成,第一个单词通常为动词,首字母小写,中间的每个单词的首字母都要大写,例如:balanceAccount, isButtonPressed;

  变量名:全小写,一般为名词,例如:length;

  常量名:基本数据类型的常量名为全大写,如果是由多个单词构成,可以用下划线隔开,例如:int YEAR, int WEEK_OF_MONTH;如果是对象类型的常量,则是大小写混合,由大写字母把单词隔开。

1.5.3 java帮助文档
  java中所有类库的介绍都保存在java帮助文档中,程序员在编程过程中,必须查阅该帮助文档,了解系统提供的类的功能、成员方法、成员变量等等信息以后,才能够更好的编程。同时,java开发工具包(JDK)提供了
"java"、"javac"、"javadoc"、
"appletviewer"等命令,在java帮助文档中也对此进行了详细的介绍。java帮助文档是以HTML文件的形式组织,通常是安装在JDK目录下的docs子目录中的index.html文件,所以用浏览器就可以进行查阅。例如JDK是安装在D:\jdk1.3目录下面,则用浏览器打开D:\jdk1.3\docs\index.html文件,就可以看到图1_5_1所示的帮助文档。

  如果希望查阅JDK的命令,则可以选择"Tool Documentation",如图1_5_2红字所示。

  此时浏览器就会把java、javac、javadoc、appletviewer等命令列出来,如图1_5_3。

  但是大多时时候,我们需要查阅的是类库的文档,因此需要在"D:\jdk1.3\docs\index.html"文件中选择"Java 2 Platform API Specification",如图1_5_4中红字所示。

  然后就进入了详细的类库介绍,如图1_5_5所示。
1.5.4 java注释
  单行注释:从"//"开始到本行结束的内容都是注释,例如:
         //这是一行单行注释
         //则是另一行单行注释
  
  多行注释:在"/*"和"*/"之间的所有内容都是注释,例如:
         /*这是一段注释分布在多行之中*/

   文档注释:在注释方面java提供一种C/C++所不具有的文档注释方式。其核心思想是当程序员编完程序以后,可以通过JDK提供的javadoc命令,生成所编程序的API文档,而该文档中的内容主要就是从文档注释中提取的。该API文档以HTML文件的形式出现,与java帮助文档的风格与形式完全一致。凡是在"/**"和"*/"之间的内容都是文档注释。例如下面的DocTest.java文件:
       /** 这是一个文档注释的例子,主要介绍下面这个类 */
       public class DocTest{
          /** 变量注释,下面这个变量主要是充当整数计数 */
         public int i;
          /** 方法注释,下面这个方法的主要功能是计数 */
         public void count( ) {}
       } 
  通过在命令行下面运行"javadoc -d . DocTest.java",就生成了介绍类DocTest的index.html文件,用浏览器浏览结果如图1_5_6,注意到DocTest.java文件中的文档注释的内容都出现在该index.html文件中。

1.6 建立java开发环境
1.6.1 安装Java Develop Kit(JDK)

  Sun公司为所有的java程序员提供了一套免费的java开发和运行环境,取名为Java2 SDK,可以从http://sun.com上进行下载,也可以从同方教育网站上下载。但是最新的消息和版本必须从Sun的网站上才能够得到。安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.3目录下。通常在JDK目录下有bin、demo、lib、jre等子目录,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了java的类库文件,jre保存的是java的运行时环境。

1.6.2 安装java帮助文档

  由于JDK的安装程序中并不包含帮助文档,因此也必须从Sun的网站上下载进行安装。通常安装在JDK所在目录的docs子目录下面。用浏览器打开docs子目录下的index.html文件就可以阅读所有的帮助文档。

1.6.3 配置类路径

  在安装完JDK之后,必须配置类路径classpath和环境变量path,JDK才能够正常运行。如果是在windows98中运行,则在
  C:\autoexec.bat文件的末尾添加下列语句:
   classpath= .;d:\jdk1.3\lib;
   path=%path%;d:\jdk1.3\bin;

  如果是在windows2000中,则需要用右键单击桌面上"我的电脑",选择"属性",则弹出一个名为"系统特性"的窗口,选择"高级",然后选择"环境变量",在"环境变量"窗口中编辑classpath和path。
械膉ava程序员提供了一套免费的java开发和运行环境,取名为Java2 SDK,可以从http://sun.com上进行下载,也可以从同方教育网站上下载。但是最新的消息和版本必须从Sun的网站上才能够得到。安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.3目录下。通常在JDK目录下有bin、demo、lib、jre等子目录,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了java的类库文件,jre保存的是java的运行时环境。

1.6.2 安装java帮助文档

  由于JDK的安装程序中并不包含帮助文档,因此也必须从Sun的网站上下载进行安装。通常安装在JDK所在目录的docs子目录下面。用浏览器打开docs子目录下的index.html文件就可以阅读所有的帮助文档。

1.6.3 配置类路径

  在安装完JDK之后,必须配置类路径classpath和环境变量path,JDK才能够正常运行。如果是在windows98中运行,则在
  C:\autoexec.bat文件的末尾添加下列语句:
   classpath= .;d:\jdk1.3\lib;
   path=%path%;d:\jdk1.3\bin;

  如果是在windows2000中,则需要用右键单击桌面上"我的电脑",选择"属性",则弹出一个名为"系统特性"的窗口,选择"高级",然后选择"环境变量",在"环境变量"窗口中编辑classpath和path。
【本讲小结】

  java语言的产生起源于Sun Microsystems公司为消费电子产品上应用程序的开发寻找一门编程语言的过程中,而随着互联网时代的到来,原有的Oak软件就顺理成章的改造成java语言推向了市场,其跨平台、面相对象、安全等特点使其得到广泛的应用。通过在不同的软硬件上实现的java虚拟机,java的字节码文件就可以跨平台的进行运行,无用内存自动回收器也给程序员带来了极大的方便。java程序以两种方式进行运行,一种是通过java虚拟机进行直接运行的java application,另一种是通过浏览器进行运行的java applet,但是无论是何种方式,java都是一门纯粹的面向对象的编程语言。面向对象编程的思路认为程序都是对象的组合,因此要克服面向过程编程的思路,直接按照对象和类的思想去组织程序,面向对象所具有的封装性、继承性、多态性等特点使其具有强大的生命力。Sun公司为全世界java开发人员提供了一套免费的软件开发包Java2 SDK,也称为JDK,它不仅是java的开发平台,还是java的运行平台。java源程序存放在.java文件中,可以通过任意一个文本编辑器编辑产生,源程序经过"javac"命令编译过后,就生成了相应的.class文件,而用"java"命令就可以运行.class文件。作为面向对象编程人员来说,大体可以分为两种:类创建者和应用程序员,应用程序员是类的使用者。所以对程序的可读性和API帮助文档就有要求,java语言本身有一套约定成俗的编程规范,同时程序员首先要学会阅读系统API帮助文档,还要学会生成自己编写的程序的API帮助文档。
1、 本站不保证以上观点正确,就算是本站原创作品,本站也不保证内容正确。
2、如果您拥有本文版权,并且不想在本站转载,请书面通知本站立即删除并且向您公开道歉! 以上可能是本站收集或者转载的文章,本站可能没有文章中的元件或产品,如果您需要类似的商品请 点这里查看商品列表!
本站协议 | 版权信息 |  关于我们 |  本站地图 |  营业执照 |  发票说明 |  付款方式 |  联系方式
深圳市宝安区西乡五壹电子商行——粤ICP备16073394号-1;地址:深圳西乡河西四坊183号;邮编:518102
E-mail:51dz$163.com($改为@);Tel:(0755)27947428
工作时间:9:30-12:00和13:30-17:30和18:30-20:30,无人接听时可以再打手机13537585389