# 基础语言要素
## 注释
代码注释是编程中非常重要的环节,往往优秀的程序员,注释写的比代码都多。
> 注释是不会被程序执行的。
注释可能出现的位置:
* 类、方法、属性等上部(文档注释:通过 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'。
> 1. 在 Java 中是没有表现多个字符的基本数据类型的,但是在 Java 中提供了一个 String 类,去表现字符串。
> 2. 转义字符的使用:当你要打印无法列出的字符,比如换行符等等,要用转义字符,还有就是一些在字符串内要搞错的字符,总之是对编译器来说具有特殊意义的字符。
* 布尔型
* 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 快捷键。
**作业**:
1. 分别为如下值,找到合适的类型来定义
~~~
3.14
2.769343
365
12
'吃'
false
"不可描述"
~~~
比如3.14就使用double
`double a = 3.14;`
2. 练习-类型转换
~~~
short a = 1;
short b = 2;
~~~
那么 `a+b` 是什么类型?
- 数据库
- 数据库介绍
- MySQL的安装
- SQL
- 表基本操作
- 修改数据语句
- 数据检索操作
- 多表数据操作
- 练习题
- JAVA
- JAVA 介绍
- JAVA 运行原理
- JDK 配置
- 类和对象
- 数据类型
- 变量
- 直接量
- 运算符
- 流程控制
- 数组结构
- 面向对象
- 隐藏和封装
- 深入构造器
- 类的继承
- 多态
- 包装类
- final 修饰符
- 抽象类
- 接口
- 集合框架
- 常用类学习
- 设计模式-单例模式
- 异常处理
- JDBC
- JSP&Servlet
- Web应用
- Tomcat
- JSP
- Scriptlet
- Page 指令
- 包含指令
- 跳转指令
- 用户注册实例
- JSP练习
- 内置对象
- Servlet
- 过滤器
- Web分层思想
- EL表达式
- JSTL
- 分页实现
- AJAX&JSON
- 开发步骤
- 路径问题
- Log4j
- Mybatis框架
- 框架介绍
- Mybatis简单实现
- 表基本操作
- 优化配置文件
- 表字段名与实体类属性名不同的解决方案
- 一对一关联
- 一对多关联
- Spring框架
- IOC/DI
- 注入对象
- 注解方式 IOC/DI
- AOP
- 注解方式AOP
- 注解方式测试
- Spring MVC框架
- Hello SpringMVC
- 视图定位
- 注解方式
- 接受表单数据
- 客户端跳转
- Session
- 中文问题
- 上传文件
- SSM整合
- 整合步骤
- 分页
- PageHelper
- 连接池
- CRUD
- 事务管理
- JSON
- Maven
- 介绍
- 下载与配置MAVEN
- MAVEN仓库
- ECLIPSE中的MAVEN设置
- ECLIPSE下创建MAVEN风格的JAVA项目
- 添加JAR包
- 创建MAVEN风格的JAVA WEB项目
- 创建SSM项目
- 使用ECLIPSE导入一个MAVEN风格的SSM项目
- 教学管理
- 学员名录
- 周测统计
- 20180608
- 20180706
- 20180721
- 课堂作业
- 练习