注释
分为// 和/* */ doc注释 /** 然后回车
根据阿里巴巴Java开发手册注释的使用规则为
doc注释
在创建一个类的时候必须使用 /** 注释 并添加创建者信息与时间信息
所有的类都必须添加创建者和创建日期。
类、类属性、类方法的注释必须使用
Javadoc
规范,使用
/**
内容
*/
格式,不得使用
//
xxx
方式。
所有的抽象方法
(
包括接口中的方法
)
必须要用
Javadoc
注释、除了返回值、参数、
异常说明外,还必须指出该方法做什么事情,实现什么功能。
单行注释与多行注释
方法内部单行注释,在被注释语句上方另起一行,使用
//
注释。方法内部多行注释
使用
/* */
注释,注意与代码对齐
与其
“
半吊子
”
英文来注释,不如用中文注释把问题说清楚。专有名词与关键字保持
英文原文即可。
代码修改的同时,注释也要进行相应的修改,尤其是参数、返回值、异常、核心逻辑
等的修改。
对于注释的要求:第一、能够准确反应设计思想和代码逻辑
;
第二、能够描述业务含
义,使别的程序员能够迅速了解到代码背后的信息。完全没有注释的大段代码对于阅读者形同
天书,注释是给自己看的,即使隔很长时间,也能清晰理解当时的思路
;
注释也是给继任者看
的,使其能够快速接替自己的工作
特殊注释标记
1
)
待办事宜
(
TODO
)
:
(
标记人,标记时间,
[
预计处理时间
]
)
表示需要实现,但目前还未实现的功能。这实际上是一个
Javadoc
的标签,目前的
Javadoc
还没有实现,但已经被广泛使用。只能应用于类,接口和方法
(
因为它是一个
Javadoc
标签
)
。
2
)
错误,不能工作
(
FIXME
)
:
(
标记人,标记时间,
[
预计处理时间
]
)
在注释中用
FIXME
标记某代码是错误的,而且不能工作,需要及时纠正的情况。
数据类型
Java
是一种
强类型语言
,每个变量都必须声明其类型
强类型语言
也称为强类型定义语言。要求变量的使用要严格符合规定,所有变量都必须先定义后才能使
用。
Java
、
.NET
、
C++
等都是强制类型定义的。也就是说,一旦一个变量被指定了某个数据类型,如果
不经过转换,那么它就永远是这个数据类型了。
弱类型语言
也称为弱类型定义语言。与强类型定义相反。像
vb
,
php
等就属于弱类型语言
·
在
VBScript
中,可以将字符串
‘12’
和整数
3
进行连接得到字符串
‘123’
,也可以把它看成整数
123
,而不需
要显示转换。是不是十分的随便,我们
Java
就不是这样的。
Java
的数据类型分为两大类:基本类型(
primitive type
)和引用类型 (
reference type
)
字符类型也是一个类,属于引用类型
大数
值:
Java.math
下面的两个有用的类:
BigInteger
和
BigDecimal
,这两个类可以处理任意长度的数
值。
BigInteger
实现了任意精度的整数运算。
BigDecimal
实现了任意精度的浮点运算。
浮点数使用总结:
1.
默认是
double
2.
浮点数存在舍入误差,很多数字不能精确表示。如果需要进行不产生舍入误差的精确数字计算,需
要使用
BigDecimal
类。
3.
避免比较中使用浮点数
转义字符
Java
语言中还允许使用转义字符
‘’
来将其后的字符转变为其它的含义,有如下常用转义字符:
类型转换
数据类型转换必须满足如下规则:
不能对
boolean
类型进行类型转换。
不能把对象类型转换成不相关类的对象。
在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
转换过程中可能导致溢出或损失精度
1
、自动类型转换
自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型。
2
、强制类型转换
强制类型转换,又被称为造型,用于显式的转换一个数值的类型
.
在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。
强制类型转换的语法格式:
(type)var
,运算符
“()”
中的
type
表示将值
var
想要转换成的目标数据类
型。 条件是转换的数据类型必须是兼容的。
变量,常量
注意事项:
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
变量名必须是合法的标识符。
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
根据阿里巴巴Java开发手册命名规范,变量的规范为
【强制】方法名、参数名、成员变量、局部变量都统一使用
lowerCamelCase
风格,必须遵从
驼峰形式。
正例:
localValue
/
getHttpMessage()
/
inputUserId
变量根据作用域可划分为三种:
类变量(静态变量:
static variable
):独立于方法之外的变量,用
static
修饰。
实例变量(成员变量:
member variable
):独立于方法之外的变量,不过没有
static
修饰。
局部变量(
lacal variable
):类的方法中的变量。
局部变量
方法或语句块内部定义的变量。生命周期是从声明位置开始到
”}”
为止。
在使用前必须先声明和初始化
(
赋初值
)
。
局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
实例变量
方法外部、类的内部定义的变量。
从属于对象,生命周期伴随对象始终。
如果不自行初始化,他会自动初始化成该类型的默认初始值
(数值型变量初始化成
0
或
0.0
,字符型变量的初始化值是
16
位的
0
,布尔型默认是
false
)
静态变量
使用
static
定义。
从属于类,生命周期伴随类始终,从类加载到卸载。
(
注:讲完内存分析后我们再深入!先放一放这个概念!
)
如果不自行初始化,他会自动初始化成该类型的默认初始值
(数值型变量初始化成
0
或
0.0
,字符型变量的初始化值是
16
位的
0
,布尔型默认是
false
)
3
、常量
常量
(Constant)
:初始化
(initialize)
后不能再改变值!不会变动的值。
【强制】常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。
正例:
MAX
_
STOCK
_
COUNT
反例:
MAX
_
COUNT
4
、变量的命名规范
1.
所有变量、方法、类名:见名知意
2.
类成员变量:首字母小写和驼峰原则
: monthSalary
3.
局部变量:首字母小写和驼峰原则
4.
常量:大写字母和下划线:
MAX_VALUE
5.
类名:首字母大写和驼峰原则
: Man, GoodMan
6.
方法名:首字母小写和驼峰原则
: run(), runRun()
运算符
Java
语言支持如下运算符:
算术运算符
: +
,
-
,
*
,
/
,
%
,
++
,
--
赋值运算符
=
关系运算符
: >
,
<
,
>=
,
<=
,
==
,
!= instanceof
逻辑运算符
: &&
,
||
,
!
位运算符
: &
,
|
,
^
,
~
,
>>
,
<<
,
>>> (
了解!!!
)
条件运算符 ?:
扩展赋值运算符
:+=
,
-=
,
*=
,
/=
、位运算符
Java
定义了位运算符,应用于整数类型
(int)
,长整型
(long)
,短整型
(short)
,字符型
(char)
,和字节型
(byte)
等类型。位运算符作用在所有的位上,并且按位运算。
右移一位相当于除2取商
左移一位相当于乘2
三目运算符
x
?
y
:
z
【强制】任何二目、三目运算符的左右两边都需要加一个空格。
说明:
运算符包括赋值运算符
=
、逻辑运算符&&、加减乘除符号等