[TOC]
# 基础语言要素
## 注释
代码注释是编程中非常重要的环节,往往优秀的程序员,注释写的比代码都多。
> 注释是不会被程序执行的。
注释可能出现的位置:
* 类、方法、属性等上部(文档注释:通过 javadoc 命令生成 API 文档,方便使用的人阅读)
* 方法体内负责业务逻辑处理过程中(一般性注释)
**文档注释**
```java
/**
* 相关的注释内容,甚至可以使用 HTML 标签
*
*/
```
在 javadoc 中也提供了丰富的标记
* @author:指定程序的作者
* @version:指定源代码的版本
* @param:在方法中指定参数
* @return:在方法中指定返回值
**单行注释**
```java
// 单行注释
```
**多行注释**
```java
/*
第一行注释
第二行注释
*/
```
## JDK 帮助文档
在学习过程中,一定要经常的阅读 JDK 文档,去帮助理解相关类的定义。
看 JDK 中相关类的源码,去学习编码规范以及设计程序的思路。
## 标识符和关键字
标识符包含了 Java 中默认的关键字以及程序员自己定义的类名、方法名、变量名等等。
**标识符的命名规范:**
* 只能包含数字、字母(大小写,Unicode字符)、下划线 \_、美元符`$`
* 不能以数字开头
* demo1、~~demo-1~~、$demo、\_demo、~~1demo~~
**分隔符:**
* 花括号 `{}`:定义代码块,逻辑上是一个整体,包括类的主体、方法体、静态代码块、条件和循环语句的执行体;
* 分号 `;`:语句的结束,如果出现在一行中有几条语句,那么多条之间也要用` ; `隔开;
* 方括号`[]`:用于数组中;
* 圆括号 `()` :在方法中声明形式参数,在调用方法的时候传入实际参数,表达式优先级定义;
* 空格:单个空格、Tab 键、Enter 键,空格的出现是不会影响程序运行的,但是良好的缩进,可以提高程序的可读性;
* 圆点 `.` :用于类/对象与其成员之间的分隔,表示调用类/对象的属性或者方法。
> 在 Java 中,只要看见单词首字母是大写的,那就是类
## 数据类型
Java 是一种强数据类型的语言,就是指在变量进行定义的时候,就指定了变量的数据类型是什么。
**变量的概念:把一堆数据起了个名字。**
数据类型其实就是在内存中用不同的结构对数据进行存储和运算。
**内存:运行中的程序都会占用内存空间,因为程序在运行过程中,需要开辟包括方法栈区、变量....,广泛的理解,在程序运行结束后内存空间会被释放,但是定义的变量、方法等,都是有「生命周期」的,一旦变量销毁了,内存也是会释放的。**
在 Java 中,有垃圾自动回收机制 GC ,对于释放的或者无效的变量会自动回收,不像 C 、C++ 要手动的去释放。
**数据类型的分类**
**基本数据类型**
* 数值型
* 整数型:byte\(-128-127\)、short\(15次方\)、int\(31次方\)、long\(63次方\)
* 浮点型:float\(38次方\)、double\(308次方\)
* **在实际开发中,我们一般使用 int、double**
* 字符型
* char:用单引号表示,Java 中使用16位的 Unicode 字符集作为编码方式,
* 表示方式
* 直接通过单个字符表示:'a'、‘9' 等;
* 通过转义字符表示:'\t'、'\n'、'、r'、'\';
* 直接使用 unicode 表示:'\uxxxx'。
> 在 Java 中是没有表现多个字符的基本数据类型的,但是在 Java 中提供了一个 String 类,去表现字符串。
* 布尔型
* boolean:表示逻辑中的真和假,值只有 true / false。
> 在基本数据中,是可以进行类型之间的强制转化的,但是要注意,如果从低精度的转化为高精度时不会有问题,但是从高精度转化为低精度时,可能出现精度确实。
引用数据类型(类类型):后续讲解。
## 关于 Eclipse 开发工具
IDE (集成开发环境):可以自动编译(保存即编译)、代码提示。
**工作空间**
在 Eclipse 中可以建立多个工作空间(workspace),每个工作空间可以建立多个项目(project)
一个工作空间就是一套配置信息,在进行了工作空间切换后,之前工作空间的配置将不会生效。
程序在 project 中开发。
**使用步骤**
1. 本地创建一个文件夹作为默认的工作空间;
2. 创建 java project;
3. 在 src 中新建 class 文件;
4. 运行程序,在 class 文件中右键 「run as」-> 「java application」。
---
**自学部分**:
* 了解 Java 中哪些转义字符;
* 使用 Eclipse 将项目中的类生成 javadoc 文档;
* 收集常用的 Eclipse 快捷键。