单行注释 ://
多行注释 :/**/
文档注释:如果编写Java源码时添加了合适的文档注释,然后通过JDK提供的javadoc工具可以直接将源码里的文档注释提取成一份系统的API文档。由于文档注释是用于生成API文档的,而API文档主要用于说明类、方法、成员变量的功能。因此,javadoc工具只 处理文档源文件在类、接口、方法、成员变量、构造器和内部类之前的注释 ,忽略其他地方的文档注释。而且javadoc工具默认只处理 以public或protected修饰的类、接口、方法、成员变量、构造器和内部类之前的文档注释。
文档注释以斜线后跟两个星号(/**)开始,以星号后紧跟一个斜线(*/)结束,中间部分全是文档注释,会被提到API文档中。
Java 9的API文档已经支持HTML 5规范,因此为了得到完全兼容HTML 5的API文档,必须保证文档注释中的内容完全兼容HTML规范。
下面编写一个Javadoc Test 类,这个类里包含了对类、方法、成员变量的文档注释。
//JavadocTest.java
package lee;
/**
* Description:
* 网站:Javadoc Test
* Copyright(C),2019-,Liu
* This program is protected by copyright laws.
* Program Name:
* Date:
* @author :
* @version 1.0
*/
public class JavadocTest
{
/**
*简单测试成员变量
*/
protected String name;
/**
*主方法,程序入口
*/
public static void main(String [] args)
{
System.out.println("Hello World!");
}
}
再编写一个Test类,这个类里包含了对类、构造器、成员变量的文档注释。
//Test.java
package yeeku;
/**
* Description:
* 网站:Javadoc Test
* Copyright(C),2019-,Liu
* This program is protected by copyright laws.
* Program Name:
* Date:
* @author :
* @version 1.0
*/
public class Test
{
/**
* 简单测试成员变量
*/
public int age;
/**
* Test 类的测试构造器
*/
public Test()
{
}
}
执行命令生成文档注释:javadoc -encoding UTF-8 -d apidoc -windowtitle 测试 -doctitle 学习 javadoc 工具的测试 API 文档 -header 我的类 *Test.java
生成的文档注释截图如下:
Java 9规定:不允许使用单独的下划线(_)作为标识符。
java一共包含50个关键字,都是小写的
abstract | continue | for | new | switch |
assert | default | if | package | synchronized |
boolean | do | goto | private | this |
break | double | implements | protected | throw |
byte | else | import | public | throws |
case | enum | instanceof | return | transient |
catch | extends | int | short | try |
char | final | interface | static | void |
class | finally | long | strictfp | volatile |
const | float | native | super | while |
其中,goto和const是保留字,也就是可能在未来版本中使用;还有三个特殊的直接量(literal):true、false、null;这三个标识符也不能使用。
Java语言是强类型(strongly typed)语言,强类型包括两方面的含义:①所有的变量必须先声明、后使用;②指定类型的变量只能接受类型与之匹配的值。
Java语言支持的类型分为两类:基本类型(Primitive Type)和引用类型(Reference Type)
Java的基本数据类型分为两大类:boolean类型和数值类型。数值类型又可分为整数类型和浮点类型,字符类型可以被单独对待。
通常说的整型,实际上指如下4中类型
字符型值必须用单引号括起来,Java使用16位的Unicode字符集作为编码方式
有三种表示方式:
Java的浮点型有两种:float和double(默认),遵循IEEE754 标准,采用二进制数据的科学计数法表示的浮点数,对于float型数值,第一位是符号位,接下来8位表示指数,再接下来23位表示尾数;对于double型数值,第一位是符号位,接下来11位表示指数,再接下来52位表示尾数.
正无穷大:POSTIVE_INFINITY
负无穷大:NEGATIVE_INFINITY
非数:NaN,NaN不与任何数值相等,甚至和NaN都不相等
布尔型只能是true和false
Java 所有的数值型变量可以相互转换,如果系统支持把某种基本类型的值直接赋给另一种基本类型的变量,则这种方式呗称为自动类型转换。当把一个表数范围小的数值或变量直接赋给另一个表数范围大的变量时,系统将可以进行自动类型转换:否则就需要强制转换。
自动类型转换图:
如果希望把上图箭头右边的类型转换成左边的类型,则必须进行强制类型转换,强制类型转换的语法格式是:(targetType(value))
当一个算术表达式中包含多个基本类型的值时,整个算术表达式的数据类型将发生自动提升。Java定义了如下的自动提升规则。
直接量是指在程序中通过源代码给出的值,例如int a=5;
这行代码中为a所分配的初始值5就是一个直接量
Java支持如下8种类型的直接量
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。Java语言使用运算符将一个或多个操作数连缀成执行性语句,可以实现特定功能。
可以分为以下几种:
+,-,*,/,%,++,–
=
,>,>=,<,<=,==,!=
&&(与),&(不短路与,作用与&& 相同),||(或),|(不短路或),!(非),^(异或)
&(与),|(或),~(非),^(按位异或),<<(左移),>>(右移),>>>(无符号右移运算符)
(expression)?if-true-statement:if -false-statement;
运算符说明 | Java运算符 |
---|---|
分隔符 | . [] () {} , ; |
单目运算符 | ++ – ~ ! |
强制类型转换运算符 | (type) |
乘法/除法/求余 | * / % |
加法/减法 | + - |
移位运算符 | << >> >>> |
关系运算符 | < <= >= > instanceof |
等价运算符 | == != |
按位与 | & |
按位异或 | ^ |
按位或 | | |
条件与 | && |
条件或 | || |
三目运算符 | ?: |
赋值 | = += -= *= /= &= |= ^= %= <<= >>= >>>= |