本篇篇幅较长~~~~~~
注释
// 单行注释
/* */ 多行注释
/** */ 文档注释
注意:
- 被注释掉的代码在程序运行时不会执行。
- 文档注释可以通过javadoc命令生成注释文档。
- 注释是一个Java开发人员的良好开发习惯,便于自己日后的代码维护,和方便别人理解你的代码。注释写的好坏可以从侧边体现出一个开发人员的技术水平。
标识符
标识符用来表示某个实体的符号。简单来说就是对Java开发中自己起名字的地方就叫做标识符。如:对类,方法或者是变量的命名就是标识符。
标识符命名规则:
- 由字母数字下划线及美元符$组成。
- 不能是纯数字或者数字开头。
- 不能是关键字命名。
- 严格区分大小写,没有长度限制,但不宜过长。
不同的部分命名规则:
- 包名:全部小写,使用连接com.dj.demo。
- 类名/接口名:大驼峰式,UserInfo。
- 变量名/方法名:小驼峰式,userInfo。
- 常量名:纯大写,多个单词用'_'区分,USER_INFO;
关键字
关键字就是Java中预先定义好的,有特别意义的标识符,也叫保留字。Java的关键字对Java的程序运行有特殊的含义,它们常用来表示Java的数据类型,或程序的结构等。所以我们不能使用Java的关键字来定义变量名、方法名、类名、包名、参数名等,否则会对Java的程序运行或开发造成一定不利影响。
关键字 | 含义 |
abstract | 表明类或者成员方法具有抽象属性 |
assert | 用来进行程序调试 |
boolean | 基本数据类型之一,布尔类型 |
break | 提前跳出一个块 |
byte | 基本数据类型之一,字节类型 |
case | 用在switch语句之中,表示其中的一个分支 |
catch | 用在异常处理中,用来捕捉异常 |
char | 基本数据类型之一,字符类型 |
class | 类 |
const | 保留关键字,没有具体含义 |
continue | 回到一个块的开始处 |
default | 默认,例如,用在switch语句中,表明一个默认的分支 |
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 | 用在循环结构中 |
数据类型
编写Java程序需要注意:
- 大小写敏感。
- 类名首字母大写且类名必须和文件名保持一致。
- 方法名、变量名和类名应遵守驼峰命名法,并见名识意。
- 每一行代码以封号结尾。
基础数据类型
Java两大数据类型:基本数据类型(内置数据类型)和引用数据类型。
基本数据类型(8种)
byte
byte数据类型是8位、有符号的整数。是Java数据类型中占用空间最小的数据类型。
最小值/最大值:-128/127。
默认值为0。
short
short数据类型是16位、有符号的整数。
最小值/最大值:-32768/32767
默认值为0。
int
int 数据类型是32位、有符号的整数。
最小值/最大值:-2^31/2^31-1
默认值为0。
long
long数据类型是64位、有符号的整数。
最小值/最大值:-2^64/2^64-1。
默认值:0L。
一般用与需要比较大整数系统上。
float
float数据类型是32位、单精度(有效数字只到小数点后6位)的浮点数(小数)。
默认值:0.0f。
浮点数不可以用来存储需要很精确的数字,例如在钱的计算上。
double
double数据类型是64位、双精度(有效数字只到小数点后15位)的浮点数。
默认值:0.0d。
同样不可以用来存储在很精确的数字上。
boolean
boolean数据类型是Java中一个比较特殊的数据类型。
只有2个值,true/false。
默认值为false。
char
char类型是16位、单一的Unicode字符。
最小值/最大值:0/6553、\u0000/\uffff
char 可以存储任何字符。
位数
基本数据类型的位数都是2进制的位数。
例如:
int a = 5 的2进制表示为 0000 0000 0000 0000 0000 0000 0000 0101
数字类型的转换
数字类型的数据之间可以进行相互转换,但需要遵守一定的规则。
规则:
- 小类型转大类型可以直接转。例如int转float。
- 大类型转小类型需要强制转换。例如 long转int。
- 大类型转小类型时,数据的长度不能超过小类型的最大限制。
分类:
自动转换适用于规则1。
强制类型转换适用于规则2、3。
基本数据类型的范围排序
byte < short/char < int < long < float < double < boolean
引用类型
- 类、数组都是引用类型。
- 引用类型的默认值都是null。
- 一个引用类型变量可以引用任何与它类型兼容的类型。
String
String是一个类用来创建字符串。它的长度几乎是无限的根据当前程序运行的内存大小决定的。
数据类型的分类
整数:byte、short、int、long。
浮点数/小数:float、double。
布尔:boolean。
字符:char。
字符串:String。
输出
Java可以将一些信息输出到控制台。
System.out.print(); // 输出内容在一行
System.out.println(); // 输出内容并换行
转义字符
Java支持一些特殊字符的输出。
转义符:\
符号 | 含义 |
\n | 换行 |
\r | 回车 |
\f | 换页符 |
\b | 退格 |
\s | 空格 |
\t | 制表符 |
\" | 双引号 |
\' | 单引号 |
\\ | 反斜杠 |
\ddd | 八进制字符 |
\uxxxx | 16进制Unicode字符 |
变量
变量就是用来存取数据的容器,是一种值会变化的量。在程序的运行中变量的值可以被改变。
语法
数据类型 变量名 = 变量值;
说明:
- 变量类型:在Java中定义变量必须指定变量的变量类型,应为Java是强类型语言,不同的数据类型会有不同的存储方式,所以必须指定变量类型。
- 变量名:给你要操作的数据起了一个别名,方便操作。
- 变量值:变量对应真正的数据,数据格式必须与变量的类型保持一致。
例如:
声明一个int类型的变量:int num = 0;
常量
常量也是用来存取数据的容器,常量一旦被赋值,它的值就永久不可以被改变。
语法
final 数据类型 常量名 = 常量值;