本帖最后由 新生のabmfy 于 2015-5-2 15:27 编辑
复制代码
复制代码
注释是一种极为重要的内容。在编程中,程序可读性是第一位的,效率才是第二位的。如果一份源代码里一点注释都没有,那么甚至富有经验的老程序员也难以看懂它。如果一份源代码里的注释足够明了,那么就算完全不懂编程的人也可以看的懂。
事实上,有时候你在看自己以前写的没有注释的代码时,你也会混乱。
Java提供了3种注释。第一种是单行注释,以//开始,之后的内容不会尝试被编译。第二种是多行注释,以/*开始,*/结束,之间内容全部是注释。第三种是文档注释,以/**开始,*/结束,之间的内容全部会被提取到API文档中。
现在用一个例子程序来解释单行和多行注释。
- public class Test
- {
- //下面这行代码被注释了,方法体会被当成初始化块
- //static void test()
- {
- System.out.println("此程序中此语句得不到执行");
- }
- public static void main(String[] args)
- {
- //System.out.println("这行代码不会被执行");
- /*我是多行注释
- *我也是
- */System.out.println("我不是注释");
- System.out.println("有时必须在一行里使用有开始和结尾的注释,");/*这时候就要用多行注释了*/System.out.println("而不是");//单行注释
- }
- }
初始化块会在之后讲解,这里无视它
现在进入重点——文档注释。文档注释用于你的程序需要提供给别人使用时。Java就提供了完善的API文档,可以到这里查看,里面包含了所有Java类的介绍和说明。
文档注释应该放在构造器、成员变量、包、类等元素之前,这样Javadoc工具即可提取注释的内容。
由于我们的程序一般是提供给用户使用的,所以此处的介绍会比较简略。
下面用一个示例程序一笔带过文档注释:
- /**
- *[url=home.php?mod=space&uid=1231151]@author[/url] abmfy
- *@version alpha1.64
- *测试文档注释
- */
- package test;
- /**
- *这个类用于abmfy平常的测试,都被abmfy玩坏啦~~
- *@version Final-test
- */
- public class Student
- {
- /**
- *年龄
- */
- int age;
- /**
- *作业吨数
- */
- double weight;
- /**
- *姓名
- */
- String name;
- /**
- *注册一名新生
- *@param n 需要提供姓名
- *@param a 需要提供年龄
- */
- public Student(String n,int a)
- {
- this.name=n;
- this.age=a;
- }
- /**
- *给学生某种食物让其食用
- *@param f 你需要给他食物
- */
- public void eat(String f)
- {
- System.out.println("学生"+name+"正在享用"+f);
- }
- /**
- *让学生学习
- *@param w 你打算给他多少吨作业呢?
- */
- public void study(double w)
- {
- System.out.println("学生"+name+"正在奋力做"+w+"吨作业");
- }
- /**
- *打学生
- *@param w 你打算用什么打他呢?
- *@return学生的哭诉
- */
- public String attack(String w)
- {
- String s="麻麻,今天有个粗壮的家伙用"+w+"打我,好痛呢……";
- return s;
- }
- /**
- *开学日的静态初始化块
- */
- static
- {
- System.out.println("今天是开学日呢……能赚多少学费呢?");
- }
- }
编写完发现不仅仅是介绍这个文档注释了……权当让大家对以后的内容提前了解下把。
接着CD到源文件而不是包目录,输入javadoc -author -version Student.java。等javadoc工具工作完成后发现目录下多了许多文件,它们就是你的API文档。打开index.html,可以看到文档注释的效果。
另外,注释也有调试的作用。如果程序编译不通过,可以尝试把看起来有问题的代码注释起来,如果程序编译通过,那么问题就出在这里了。就算仍然不行,也缩小了检查范围:这里没有错误。
完成于2015.05.02:基础内容大致结束,准备好迎接运算符、数据类型、流程控制、数组、构造器、Lambda等一大波内容把!
然而并没有人回复
然而并没有发对版
话说应该是编程那边的吧?
然而并没有发对版
话说应该是编程那边的吧?
额。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。