1. 程序入口
D: Java 是面向对象编程, 没有函数调用
java程序入口是 main()方法
public static void Main(String[] args) {/* your code */}
JVM会自动搜索main()方法进行调用,否则会进行报错处理.
java 由类组成, 初步编译生成class文件
2. 面向对象编程
- 访问权限
分为
public和private。
public最常用, private基本用不到。
- 构造函数
*和方法的区别*
1. 没有返回值的类型
2. 函数名必须和className相同
3. 默认属性
根据属性数据类型的不同,构造类时没有初始化的变量默认为0、null、"等
3.一些特性
Java是静态语言,不支持类型转换
4. 变量
变量声明
int i = 100;
Java 没有变量声明关键字, 如Go语言中的var
Java不会给未经过初始化的变量赋初始值,变量必须进行初始化后才可以使用
Java 变量命名规则
1.禁止数字开头
2.禁止使用保留字
3.支持字母,数字,_,$ 四种字符,比C++ 多一个 $字符
4.普遍使用小写英文命名变量
5. 空实例和空指针(null)
Java中提供了null表示空指针,不指向任何空间
6.报错
Java 有完善的报错机制,和JavaScript的机制不同, Java对语言要求很严格。
7. 算法题
- ListNode迭代输出value
//链表定义
class ListNode {
public int val;
public ListNode next;
public ListNode (int val) {
this.val = val;
}
}
public void PrintListNode(ListNode x) {
while ( x != null ) {
System.out.Println(x.val);
x = x.next;
}
}
8. IO
输出调试信息
等同于cout和consol.log,Java使用System.out.Println()输出信息
9.大规模程序开发
文件分割
为了方便多人协作开发,每个java文件只写一个public class
包的使用
包:目录
类:.java文件
java的模块使用以package为基本单位。同目录下的java文件可以相互调用
Day 02
Java的反射机制
反射机制未知
Java的注解机制
注解(annotation),是程序的mata data(元数据,解释数据的数据)
- default注解,@Override、@Deprecated、@SuppressWarnings、@SafeVarargs、@FunctionalInterface
- 用户自定义注解(SpringBoot注解等)
- 元注解(注解的注解)
Java修饰符
| 修饰符 | 类内部 | 同个包(package) | 子类 | 其他范围 |
|---|---|---|---|---|
| public | Y | Y | Y | Y |
| protected | Y | Y | Y | N |
| 无修饰符 | Y | Y | Y或者N(见说明) | N |
| private | Y | N | N | N |
Spring Initializr
Spring官方骨架(脚手架),帮助快速创建项目,添加依赖,创建pom.xml文件
Project metadata 项目元数据
| 元数据 | 翻译 |
|---|---|
| Group | 开发者 |
| Artifact | 项目名 |
| Name | 项目名 |
| description | 注释,介绍 |
| Package name | 路径,包名 |
| Packaging | 打包方式 |
| Java | 选择版本 |
默认依赖
spring构造器创造的项目中
- Tomcat
- Spring起步依赖
Maven入门
Maven(中文翻译为专家)是 Apache 维护的包管理器
Maven的作用
- 统一项目结构: maven改变了不同IDE可生成不同的目录的弊端
- 包依赖管理: maven通过读取pom.xml来读取依赖包坐标信息
- 创建项目(暂未用到)
Controller
controller类似于router,对客户端的请求做出响应.
使用controller
@RestController
超级神奇
java使用注解来标识Controller模块,和js有很大不同
js中有一个Server.use()方法来注册router, java 只需要进行注解
PS:注解后禁止写;符号
Day03
数据库
数据库是一个以某种有组织的方式存储的数据集合
相关概念
| 概念 | 介绍 |
|---|---|
| 表 | 存储特定类型数据的结构化文件 |
| 模式 | 关于数据库和表的布局及特性的信息 |
| 列 | 表的基本单位,表的一个字段 |
| 行 | 表的一个记录 |
| 主键 |
分为关系型数据库和非关系型数据库;
Mysql
Mysql是Oracle的一款开源关系型数据库,创建于1995年.
SQL
Structed query languge, 译为结构化查询语言,语用关系型数据库对数据进行处理
常用语句
类似于excel,常用为:查找,选择,替换
SELECT查找,SELECT prod_name FROM products;从表中找出一列;
Day 04
REST规范
Representational State Transfer, 表述性状态转换
Controller & Services & DAO
SpringBoot三层模型,类似于Router,RouterHandle,DB