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