Java的一些基础语法
注释
书写注释是一个非常重要的习惯
单行注释
书写格式
//我是一个单行注释
多行注释
书写格式
/*
我是一个
多行注释
*/
文档注释
书写格式
/**
1. @Description 我是一个文档注释
2. @Author lwg
*/
标识符
定义
标识符是用于给 Java 程序中变量、类、方法等命名的符号。
规定
(1)可以由字母,数字,下划线(_),美元符($)组成,但不能包含@,%,空格等其他特殊字符,不能以数字开头。
(2)不能是java关键字
(3)区分大小写。
关键字
关键字 | 含义 |
---|---|
abstract | 表明类或者成员方法具有抽象属性 |
assert | 断言,用来进行程序调试 |
boolean | 基本数据类型之一,声明布尔类型的关键字 |
break | 提前跳出一个块 |
byte | 基本数据类型之一,字节类型 |
case | 用在switch语句之中,表示其中的一个分支 |
catch | 用在异常处理中,用来捕捉异常 |
char | 基本数据类型之一,字符类型 |
class | 声明一个类 |
const | 保留关键字,没有具体含义 |
continue | 回到一个块的开始处 |
default | 默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现 |
do | 用在do-while循环结构中 |
double | 基本数据类型之一,双精度浮点数类型 |
else | 用在条件语句中,表明当条件不成立时的分支 |
enum | 枚举 |
extends | 表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口 |
final | 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量 |
finally | 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 |
float | 基本数据类型之一,单精度浮点数类型 |
for | 一种循环结构的引导词 |
goto | 保留关键字,没有具体含义 |
if | 条件语句的引导词 |
implements | 表明一个类实现了给定的接口 |
import | 表明要访问指定的类或包 |
instanceof | 用来测试一个对象是否是指定类型的实例对象 |
int | 基本数据类型之一,整数类型 |
interface | 接口 |
long | 基本数据类型之一,长整数类型 |
native | 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 |
new | 用来创建新实例对象 |
package | 包 |
private | 一种访问控制方式:私用模式 |
protected | 一种访问控制方式:保护模式 |
public | 一种访问控制方式:共用模式 |
return | 从成员方法中返回数据 |
short | 基本数据类型之一,短整数类型 |
static | 表明具有静态属性 |
strictfp | 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范 |
super | 表明当前对象的父类型的引用或者父类型的构造方法 |
switch | 分支语句结构的引导词 |
synchronized | 表明一段代码需要同步执行 |
this | 指向当前实例对象的引用 |
throw | 抛出一个异常 |
throws | 声明在当前定义的成员方法中所有需要抛出的异常 |
transient | 声明不用序列化的成员域 |
try | 尝试一个可能抛出异常的程序块 |
void | 声明当前成员方法没有返回值 |
volatile | 表明两个或者多个变量必须同步地发生变化 |
while | 用在循环结构中 |
保留字
保留字 | 含义 |
---|---|
true | 表示为“真” |
false | 表示为“假” |
null | 表示为“空” |
数据类型
Java是一种强类型语言(要求变量的使用要严格符合规定,所有变量都必须先定义后使用)
基本类型(primitive type)
名称 | 范围 | 例子 |
---|---|---|
byte | -128~127 | byte a = 100 |
short | -32768~32767 | short s = 1000 |
int | -2,147,483,648~2,147,483,647 | int a = 100000 |
long | -9,223,372,036,854,775,808~9,223,372,036,854,775,807 | long a = 100000L |
float | 单精度 | float f1 = 234.5f |
double | 双精度 | double d1 = 7D |
boolean | true 和 false | boolean one = true |
char | \u0000~\uffff | char letter = ‘A’ |
Java的数据类型除了基本类型外都属于引用类型
整数拓展
二进制表示
int i = 0b10; //以0b开头
八进制表示
int i = 010; //以0开头
十进制表示
int i = 10;
十六进制表示
int i = 0x10;//以0x开头
浮点数拓展
最好不用浮点数进行比较,因为浮点数为有限离散的,会舍入误差,所以表示的数值为接近但是不等于。
使用:BigDecimal这个数学工具类来进行计算。
字符拓展
所有的字符本质还是数字,使用Unicode编码,占两个字节,区间范围从U0000~UFFFF。
例:
char a = 'a';
//等价于
char b = '\u0061';
转义字符
字符 | 含义 |
---|---|
\t | 制表符 |
\n | 换行符 |
类型转换
运算中,不同类型的数据先转换为同一类型,然后进行运算
由低→高分别是:
byte→short→char→int→long→float→double
从高到低,需要强制类型转换,但是注意数据范围,防止数据溢出。
从低到高,则为自动类型转换。
注意:
- 不可以对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 转换时要防止内存溢出以及精度丢失
Math
java中常用的数学公式:
函数 | 作用 |
---|---|
Math.floor(-1.8) | 取整,返回小于目标函数的最大整数,如下将会返回-2 |
Math.ceil() | 取整,返回发育目标数的最小整数 |
Math.round() | 四舍五入取整 |
Math.sqrt() | 计算平方根 |
Math.cbrt() | 计算立方根 |
Math.exp(3) | 返回欧拉数e的n次幂 |
Math.pow(3,2) | 计算乘方,计算3的2次方 |
Math.log() | 计算自然对数 |
Math.abs() | 计算绝对值 |
Math.max(2.3,4.5) | 计算最大值 |
Math.min() | 计算最小值 |
Math.random | 返回一个伪随机数,该数大于等于0.0并且小于1.0 |
IDEA生成JavaDoc文档
- 新建一个javaDoc文件夹,用于存放生成的JavaDoc文档,我的文件路径为:E:\javaDoc
- 打开IDEA,选择Tools中的Generate JavaDoc
- 第一步确定范围:是要选择整个项目(在Whole project前面选择)还是单个java文件(在File前面选择);
第二步选择文件生成路径:我的路径为刚才创建的javaDoc文件夹位置:E:\javaDoc
第三步选择文档语言版本:此处我写的是:zh_CN为中文输出。
第四步传入JavaDoc的参数,一般写 :
-encoding UTF-8 -charset UTF-8 -windowtitle “文档HTML页面标签的标题” -link http://docs.Oracle.com/javase/7/docs/api
点击OK即可开始生成
看一下效果
打开文件夹显示:
双击打开
大功告成