thinking in java知识小记(一)
知识点一(javadoc):
使用javadoc时特别注意选择encoding和charset为utf-8,要不然生成的javadoc会是乱码,命令:javadoc -encoding utf-8 -charset utf-8 *.java
附录(javadoc标记)
@author 作者标识
@version 版本号
@param 参数
@return 描述
@deprecated 过期
@throws 异常
@see 引用
@since 描述(API在什么程序的什么版本后开发支持)
@link 链接到某个特定的成员对应的文档中(用法为)
@value 对常量进行注释时,将常量的值包含在标签中
此外还有@serial、@serialField、@serialData、{@docRoot}、{@inheritDoc}、{@literal}、{@code} {@value arg}不常用标签
示例程序:
* @author rjh
* @version v1.0
* @param args The<code>args</code>will be print
* @deprecated 从下一个版本过期
* @exception Exception a exception will{@link Test4} be throw
* @see #toString()
* @serialData 2016/6/02
参考地址:http://baike.baidu.com/view/975838.htm
知识点二(按位运算符):
需知道 1101=(1*2^0)+(0*2^1)+(1*2^2)+(1*2^3)=13,抽象出数学表达式如下:
n为第x位上的数字(默认都是从低位到高位),则每一位上对应的十进制数通用表达式为n*2^x,最后求和即是答案
& 按位与,若两位中有一位是0则为0否则为1,例子:
1101 13(Decimal)
0110 6(Decimal)
按位与为 00100 4(Decimal)
| 按位或,若两个输入位都是0的情况下才会产生一个0,例子:
1101 13(Decimal)
0110 6(Decimal)
按位或为 1111 15(Decimal)
^ 按位XOR(异或)若两个输入位相反则为1,例子:
1101 13(Decimal)
0110 6(Decimal)
按位异或为 1011 11(Decimal)
~ 按位非,是一元运算符,只针对一个二进制数据起作用,取相应进制位上边,例子:
1101 13(Decimal)
按位非为 0010 2(Decimal)
知识点三(equals)
默认的equals方法比较的是引用的句柄,而其它一些类比较的是对象内容,是因为实现了equals方法。
Object中的equals方法为:
public boolean equals(Object obj) { return (this == obj); }
可以很直观的看出来这是使用==号判断是否相等,即比较的是值。
补充例子:char c = (char)(Math.random() * 26 + 'a');输出的c是一个a-z中间任意英文字母,此时+号计算的是double和int值(a所对应的ACII)