Lexx
本帖最后由 新生のabmfy 于 2015-5-2 15:27 编辑

注释是一种极为重要的内容。在编程中,程序可读性是第一位的,效率才是第二位的。如果一份源代码里一点注释都没有,那么甚至富有经验的老程序员也难以看懂它。如果一份源代码里的注释足够明了,那么就算完全不懂编程的人也可以看的懂。


事实上,有时候你在看自己以前写的没有注释的代码时,你也会混乱。

Java提供了3种注释。第一种是单行注释,以//开始,之后的内容不会尝试被编译。第二种是多行注释,以/*开始,*/结束,之间内容全部是注释。第三种是文档注释,以/**开始,*/结束,之间的内容全部会被提取到API文档中。


现在用一个例子程序来解释单行和多行注释。


  1. public class Test
  2. {
  3.         //下面这行代码被注释了,方法体会被当成初始化块
  4.         //static void test()
  5.         {
  6.                 System.out.println("此程序中此语句得不到执行");
  7.         }
  8.         public static void main(String[] args)
  9.         {
  10.                 //System.out.println("这行代码不会被执行");
  11.                 /*我是多行注释
  12.                  *我也是
  13.                  */System.out.println("我不是注释");
  14.                  System.out.println("有时必须在一行里使用有开始和结尾的注释,");/*这时候就要用多行注释了*/System.out.println("而不是");//单行注释
  15.         }
  16. }
复制代码
初始化块会在之后讲解,这里无视它

现在进入重点——文档注释。文档注释用于你的程序需要提供给别人使用时。Java就提供了完善的API文档,可以到这里查看,里面包含了所有Java类的介绍和说明。


文档注释应该放在构造器、成员变量、包、类等元素之前,这样Javadoc工具即可提取注释的内容。


由于我们的程序一般是提供给用户使用的,所以此处的介绍会比较简略。

下面用一个示例程序一笔带过文档注释:


  1. /**
  2. *[url=home.php?mod=space&uid=1231151]@author[/url] abmfy
  3. *@version alpha1.64
  4. *测试文档注释
  5. */
  6. package test;
  7. /**
  8. *这个类用于abmfy平常的测试,都被abmfy玩坏啦~~
  9. *@version Final-test
  10. */
  11. public class Student
  12. {
  13.         /**
  14.          *年龄
  15.          */
  16.         int age;
  17.         /**
  18.          *作业吨数
  19.          */
  20.         double weight;
  21.         /**
  22.          *姓名
  23.          */
  24.         String name;
  25.         /**
  26.          *注册一名新生
  27.          *@param n 需要提供姓名
  28.          *@param a 需要提供年龄
  29.          */
  30.         public Student(String n,int a)
  31.         {
  32.                 this.name=n;
  33.                 this.age=a;
  34.         }
  35.         /**
  36.          *给学生某种食物让其食用
  37.          *@param f 你需要给他食物
  38.          */
  39.         public void eat(String f)
  40.         {
  41.                 System.out.println("学生"+name+"正在享用"+f);
  42.         }
  43.         /**
  44.          *让学生学习
  45.          *@param w 你打算给他多少吨作业呢?
  46.          */
  47.         public void study(double w)
  48.         {
  49.                 System.out.println("学生"+name+"正在奋力做"+w+"吨作业");
  50.         }
  51.         /**
  52.          *打学生
  53.       *@param w 你打算用什么打他呢?
  54.       *@return学生的哭诉
  55.       */
  56.         public String attack(String w)
  57.         {
  58.                 String s="麻麻,今天有个粗壮的家伙用"+w+"打我,好痛呢……";
  59.                 return s;
  60.         }
  61.         /**
  62.          *开学日的静态初始化块
  63.          */
  64.         static
  65.         {
  66.                 System.out.println("今天是开学日呢……能赚多少学费呢?");
  67.         }
  68. }
复制代码
编写完发现不仅仅是介绍这个文档注释了……权当让大家对以后的内容提前了解下把。

接着CD到源文件而不是包目录,输入javadoc -author -version Student.java。等javadoc工具工作完成后发现目录下多了许多文件,它们就是你的API文档。打开index.html,可以看到文档注释的效果。


另外,注释也有调试的作用。如果程序编译不通过,可以尝试把看起来有问题的代码注释起来,如果程序编译通过,那么问题就出在这里了。就算仍然不行,也缩小了检查范围:这里没有错误。




完成于2015.05.02:基础内容大致结束,准备好迎接运算符、数据类型、流程控制、数组、构造器、Lambda等一大波内容把!


simon3000
然而并没有人回复
然而并没有发对版

话说应该是编程那边的吧?

252238124
额。。。。。。。

252238124
。。。。。。。。。。。。。。。。。。。。。。。。。。。

Lexx
simon3000 发表于 2015-5-11 22:24
然而并没有人回复
然而并没有发对版

哟……西蒙当斑竹啦……

发来贺电

然而此教程已经弃坑 管他错版呢

第一页 上一页 下一页 最后一页