目录
Java SE
注释
- 单行注释 解释方法内某单行代码的作用
要求:在注释语句上方
public int setFamily(){
//number表示家庭成员
int number=1;
return 0;
}
- 多行注释 解释方法内一段代码的作用,跟单行注释近似
public int setFamily(){
/*
number表示家庭成员
home表示家庭的房子数量
*/
int number=1;
int home=1;
return 0;
}
- 文档注释(javadoc 注释) 在类、字段、方法等地方,解释用处
在 Javadoc 注释中,可以使用一系列预定义标签(如 @param、@return、@throws、@author、@version 等)来丰富文档内容,这些标签会被 Javadoc 工具识别并在生成的文档中相应地呈现出来。
/**
*city类用于表示一个家庭
*/
public class Family{
/**
*family方法用于设置一个家庭的成员参数
*/
public int setFamily(){
int number = 1;
this.number = number;
return 0;
}
}
阿里Java开发手册_注释规约强调:
1.类、类属性、类方法注释必须使用Javadoc规范,即使用文档注释,在IDE中靠近类名可悬浮显示相关注释。
2.所有的抽象方法(包括接口中的方法)必须用Javadoc注释
8.谨慎注释掉代码:注释后在上方说明,无用则删除
注释要求:1.反应设计思想和代码逻辑 2.能够快速获取代码背后信息
11.特殊注释:
1).代办事宜 TODO :(标记人,标记时间,[预计处理时间])
2).错误,不能工作 FIXME :(标记人,标记时间,[预计处理时间])
https://developer.aliyun.com/ebook/386
Javadoc
命令:
javadoc ./file.java -encoding utf-8
数据类型
自动数据类型转换
往往发生在表达式中
遵循:
if 任一操作数为double类型,则其他类型操作数转化为double
else if 任意操作数为float类型,则转为float
else if 任意操作数为long类型,则转为long
else 转换为int类型
原码、反码、补码
- 原码(True Form)
-
原码是最直观的表示方法,它直接按照数值本身的正负来表示数字。
-
在原码中,最高位通常被用作符号位,0代表正数,1代表负数,其余各位则表示数值部分。
-
例如:十进制数5的原码(假设为8位)是 0000 0101,-5的原码则是 1000 0101。
[+1]原= 0000 0001
[-1]原= 1000 0001
减法不利于计算机运算,将减法转化为加上一个负数 a-b = a+(-b)
针对负数,引入反码
2. 反码(One’s Complement)
- 反码主要用于从原码到补码的转换过程中。
- 对于正数,其原码与反码相同。
- 对于负数,它的反码是除了符号位以外的所有位取反(0变1,1变0),而符号位保持不变。
- 例如:-5的反码(8位)是 1111 1010,因为它是将原码除符号位外的每一位进行求反得到的。
正数反码跟原码一样可以进行运算,但是对于负数:
- 加法不封闭:假设要计算两个负数之和,比如 -3 和 -2,它们各自的反码分别为 1111 1100 和 1111 1110,直接相加得到的结果不是 -5 的反码,因此无法得出正确的结果。
- 无法处理溢出:即使对于正数与负数的加法,例如 +3 和 -5,直接对它们的反码做加法也无法处理可能出现的溢出情况。
- 零的表示不唯一:在反码系统中,存在两种不同的编码方式来表示零,即所有位都是0的编码和所有位都是1的编码(除了最高位符号位)。这导致了零的表示不唯一,不符合计算机科学中数值表示的基本要求。
反码不能直接用于算数运算,而且存在零的表示不唯一的情况
即 0000 0000 表示0 , 1111 1111 表示-0
因此,引入补码
3. 补码(Two’s Complement)
补码是现代计算机中广泛采用的表示负数的方法。
- 对于正数,补码与原码和反码都相同。
- 对于负数,其补码是反码的基础上对最低位加1,这样可以确保任何数与自身的补码相加总是得到0(零的表示统一)。
例如:-5的补码(8位)是 1111 1011,即从反码基础上+1得出。