【JavaSE 第一天】
一、 框架
①项目 > ②子系统 > ③多个模块 > ④包(组件类包,实体类包,工具类包…) > ⑤类(Servlet组件类,Service组件类,Dao组件类…) > ⑥代码(变量,常量,方法,流程控制,异常处理,IO,反射,枚举,泛型…)
(这六层结构属于包含关系(大包含小))
1. 单一架构
浏览器——>Serviet——>JavaSE ——>JDBC——>数据库
——————SpringMVC—————— Mybatis
————————————管理组件——>Spring
单一架构(靠 SpringBoot 微服务 + SpringCloud 联系) 组合成 分布式架构
2. 中间件
Redis 、ElesticSearch 、Nginx 、RabbitMQ…
3. 辅助工具
Maven 、Git 、Docker…
大多数放在Linux系统中
4. Java语言的特点
①完全面对对象 高内聚,低耦合
②支持分布式
③健壮性
④安全
⑤跨平台性
5. JVM、JRE、JDK
JRE = JVM + JavaSE 标准类库
JDK = JRE + 开发者工具集(例如 Javac 编译工具等)
二、常用的DOS命令(了解)
- 进入目录命令:
cd
- 回到根目录:
cd\
- 回到上一级:
cd..
- 切换盘符:
盘符:
- 查看当前目录下有什么命令:
dir
- 新建目录命令:
md
(make directory) - 清屏:
cls
- 新建空文件命令:
type null
type null > 文件名.扩展名
- 追加内容到文件命令:
echo
echo 内容 > 文件名.扩展名
- 复制(copy)或移动(move)文件
copy 源文件 目标目录\新文件名.扩展名
move 源文件 目标目录
- 删除文件命令:
del
del 文件名.扩展名
del 目标目录\文件名.扩展名
①删除所有文件并询问
del *.*
②删除所有文件不询问
del /Q *.*
- 删除目录命令:
rd
(remove directory)
①删除空目录
rd 空目录名
②删除目录以及下面的子目录和文件,带询问
rd /S 非空目录名
③删除目录以及下面的子目录和文件,不带询问
rd /S/Q 非空目录名
- 查看某个目录的下一级目录结构:
tree
tree 目录
tree /F 目录
/F
显示每一个文件夹中文件的名称 - 退出命令:
exit
三、 配置环境变量
①有配置 path 可以在任意目录运行 Java 命令
②没有配置 path 必须在sava.exe
所在目录运 Java 命令
- 在配置过程中:
%..%
: 起引用作用
很多程序都需要配置PATH
或XXX_HOME
,小诀窍为: - PATH 通常指向这个程序的 bin 目录
- XXX_HOME 通常指向bin目录的上一级
一般 bin 目录就是在根目录下边
四、 第一个 Java 程序
/**
这是一个文档注释
*/
public class HelloWorld{
/* main 函数是整个程序的入口
main 函数的声明格式是固定的
每一个类中最多有一个main 函数
多行注释不能嵌套 */
public static void main (String[] args){ //小括号里参数的类型 参数的名字
System.out.println("HelloWorld!!!");
// 对象调用才能用 ln 是个函数或者方法 out 看作输出器
}
}
1. 编译与运行问题
- 在 cmd 命令窗口:
- 编译是
javac HelloWorld.java
- 运行时是
java HelloWorld
(类名 不加.class
)
Java 严格区分大小写
- 编译是
2. 乱码问题
-
字符集编码
- UTF-8
- GBK(繁体字)
- GB2312(简体字)
- ISO8859-1
- ASCII
- Latin-1 …
-
字符转换为二进制机器语言是编码反过来是解码
- 编码的过程:字符转换为二进制的数值
- 解码的过程:二进制的数值转换为字符
- 乱码就是编码和解码不一致
-
解决:编译时:
javac -encoding UTF-8
等类似加入-encoding UTF-8
的操作-d
参数表示指定存放文档的目录( javadoc 命令可以自动创建这个目录)-encoding
参数可以指定编码字符集
3. 文件问题
.java
源文件 不区分大小写 但建议区分 可以有好多个类.class
字节码文件 在 JVM 运行的就是它 区分大小写 只可以有一个类
4. 源文件与类名一致问题
- 如果是 public 类的,源文件名与类名保持一致
- 如果不是 public 类的,源文件可以与类名不一致
- 但是建议一致,而且一个源文件尽量只写一个类,便于维护
5. 源文件可以有多个类
- 一个源文件可以有多个类,编译后生成多个
.class
字节码文件 - 一个源文件只能有一个 public 的类
五、 Java 的基础知识
1. 注释(comment)
- 文档注释以
/**
开头 以*/
结束
Javadoc 命令可以抽取文档注释生成 API 文档
2. 关键词
- 关键字全部都是小写字母
goto
是保留字
3.标识符(identifier)
自己命名的部分
- 命名规则:
- 只能使用26个字母 0~9 的数字 下划线 美元符号 $
- 不能使用 Java 的关键字(包含保留字)和特殊值
- 数字不能开头
- 不能包含空格
- 严格区分大小写
- 一般都使用驼峰命名法
(1) 类名,接口名,等 每个单词的首字母都大写形式XxxYyyZzz
(2) 变量,方法名,等 从第二个单词首字母开始大写,其余字母小写,形式xxxYyyZzz
(3) 包(package 是用来区分各种不同的类,相同或者类似作用的类放在同一个包中)名等 每一个单词都小写,单词之间使用点分割,形式xxx.yyy.zzz
包的命名规则还包括:域名倒序.项目名称.模块名称.当前包自己的具体名称
。
(4) 常量名等 每一个单词都大写,单词之间使用下划线_分割 形式XXX_YYY_ZZZ
4.记忆解剖
- 数据(整数,小数,字符串,字符,布尔…)
类比于自然界原有的食材 - 标识符(类名,包名,方法名,变量名…)
类比于人为命名的食材名字 - 关键字(public,class,void,static…)
类比于厨具 - 流程(顺序执行,分支执行,循环执行)
类比于做菜的流程