文章目录
一、注释
1、单行注释
只能注释一行内容
//注释内容
2、多行注释
可以注释一段文字,也可以用于注释单行中局部内容。
/*注释内容*/
3、文档注释
文档注释中可包含一些javadoc标签,用于生产API
/** */
常用的javadoc标签
标签 | 描述 | 示例 |
---|---|---|
@author | 标识一个类的作者 | @author description |
@deprecated | 指名一个过期的类或成员 | @deprecated description |
{@docRoot} | 指明当前文档根目录的路径 | Directory Path |
@exception | 标志一个类抛出的异常 | @exception exception-name explanation |
{@inheritDoc} | 从直接父类继承的注释 | Inherits a comment from the immediate surperclass. |
{@link} | 插入一个到另一个主题的链接 | {@link name text} |
{@linkplain} | 插入一个到另一个主题的链接,但是该链接显示纯文本字体 | Inserts an in-line link to another topic. |
@param | 说明一个方法的参数 | @param parameter-name explanation |
@return | 说明返回值类型 | @return explanation |
@see | 指定一个到另一个主题的链接 | @see anchor |
@serial | 说明一个序列化属性 | @serial description |
@serialData | 说明通过writeObject( ) 和 writeExternal( )方法写的数据 | @serialData description |
@serialField | 说明一个ObjectStreamField组件 | @serialField name type description |
@since | 标记当引入一个特定的变化时 | @since release |
@throws | 和 @exception标签一样. | The @throws tag has the same meaning as the @exception tag. |
{@value} | 显示常量的值,该常量必须是static属性。 | Displays the value of a constant, which must be a static field. |
@version | 指定类的版本 | @version info |
二、标识符
1、概念
在Java程序中,除了关键字以外基本上都是标识符。标识符就是名称的意思,所有的名称都统称为标识符。Java中经常要定义类、方法、变量,在定义他们时总要给它们起名字,这些名字就是标识符(用户自己定义的)。
2、规则(硬性要求)
- 标识符以字母、下划线、美元符号$开头(数字不能开头);
- 标识符其他部分可以是字母、下划线、美元符号、数字;
- java标识符大小写敏感;
- 不可以是java关键字。
3、规范(软性建议)
- 类名标识符:每个单词首字母大写
- 方法名和变量标识符:第一个单词小写,从第二个单词开始首字母大写。(驼峰原则)
- 常量标识符:全部大写,单词连接用下划线
- 包名标识符:全部小写(com.公司名.项目名.模块名)
三、运算符
1、分类
2、二元运算符注意事项
2.1 整数运算
- 如果两个操作数有一个为long, 则结果也为long。
- 没有long时,结果为int。即使操作数全为short,byte,结果也是int。
2.2 浮点运算
- 如果两个操作数有一个为double,则结果为double。
- 只有两个操作数都是float,则结果才为float。
2.3 取模运算
其操作数可以为浮点数,一般使用整数,结果是“余数”,“余数”符号和左边操作数相同。
eg:
7%3=1 -7%3=-1 7%-3=1
3、赋值扩展运算符详解
note:
a*=b+3//相当于a=a*(b+3),b不会变
4、关系运算符详解
note:
- == != 所以数据类型(基本和引用)均可使用
- <=、> < 仅数值类型和字符类型可以使用
5、逻辑运算符详解(了解阶段)
note:
&& 前面的条件如果判断为false,则立即返回false
|| 前面的条件如果判断为true,则立即返回true
6、位运算符详解(了解阶段)
6.1 按位与运算 &
运算规则:
举例:
(1)10&12
// 10&12
System.out.println(Integer.toBinaryString(10));
System.out.println(Integer.toBinaryString(12));
int x=10&12;//相当于1010和1100逐位进行&运算。
System.out.println(x);
(2)1&1&1&1&0
int x=1&1&1&1&0;
System.out.println(x);
note: 当进行多个与运算时,只需逐个拆分计算即可。
6.2 按位或运算 |
运算规则:
6.3 按位非运算 ~
运算规则:
6.4 按位异或运算 ^
运算规则:
举例:
(1)8 ^ 3 ^ 3 ^ 5 ^ 5 ^ 4 ^ 4
System.out.println(8^3^3^5^5^4^4);
note: 利用异或性质可以很方便的寻找数组中非配对元素
6.5 左位移 <<
运算规则:
符号位不变,低位补0
举例:
(1)2<<3
System.out.println(4<<3);//100->100000
note:
左移的本质其实就是原数乘以pow(2,左移的位数)。例如上例中4<<3
和4*Math.pow(2,3)
的结果就一致。
6.6 右位移 <<
运算规则:
低位溢出,符号不变
举例:
(1)2>>1
System.out.println(2>>1);//10->1
7、字符串连接符详解
“+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。
8、条件运算符详解
语法格式:
x ? y : z
其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。(简化版if-else)