java基础
-
安装JDK环境。
-
变量 声明变量的语法: 数据类型 变量名=值;
数据类型:
|--基本数据类型(8个): byte short ==int== long float ==double== ==boolean char==
|--引用数据类型: 类 接口 数组等
变量名: 命名规则.
(1) 必须由字母,数字,下划线_,美元符$组成
(2) 不能以数字开头
(3) 不能使用关键字。
(4) 建议大家---见名知意 ----使用驼峰命名。---方法名 变量名 首字母小写。--类名 接口名 首字母大写。---常量 字母全大写。
运算符:
赋值运算符: =,+=,-=,*=,/=, %=
算术运算符: +,-,*,/,%, ++ [++在前先+1再运算] [++在后,先运算,再+1],--
关系运算符: >,>=,<,<=,==,!= 得到的结果一定是个boolean值。
逻辑运算符: &&,||,! 连接两个关系运算符。
三元运算符: 条件?语句1:语句2
控制语句 :
1. 条件控制语句: if(条件) {条件成立执行的代码块} else{条件不成立}
2.if(条件){} else if(条件){} .....else{}
3. 条件控制语句: switch(表达式){ case 值: 语句 ;break; case 值: 语句;break;....default:{}}
表达式: 得到的数据类型只能是 :int byte short char 字符串。
4.循环控制语句:
for(初始化; 条件; 变化){
语句;
}
while(条件){
语句;
变化;
}
do{
语句;
}while(条件);
5.OOP面向对象编程。
-
类和对象。
类的语法: public class 类名{
//成员: 属性成员和方法成员。
}
如何创建对象: 类名 对象名=new 类名();
如何调用对象中的属性和方法。 对象名.属性名=值; 对象名.方法名();
2. 封装: 使用private关键字来修饰类中的成员。属性和方法
3. 继承: 一个类继承另一个类。extends. 好处: 提供代码的复用性。只允许单继承。
4. 多态: 一个对象具有多态形态。 前提: 继承的基础。
子类对象可以上父类对象自动转型。
5. 抽象类[当爹的]和接口[当干爹的]。
public class 类名 extends 父类 implements 接口1,接口2{
}
2. 集合:
```
1. Collection: 集合的根接口。
|--List: 有序,有下标。允许重复。
|--ArrayList: 底层使用数组接口。查询速度快。不是尾部删除添加效率慢
|--LinkedList: 底层使用链表。 删除和添加速度快。 查询效率低。
|--Set: 无序,无下标。 不允许重复。
|--HashSet: 不允许重复。
|--TreeSet:
2. Map: 集合 键值对集合。
HashMap:
```
3. IO流。
IO分类: 字节流[ InputStream 和OutputStream]和字符流[Reader Writer]。
字节流: 图片,视频,压缩文件 word等
字符流: 文本操作 txt。
序列化和反序列化。
序列化: 把内存中的对象存储到磁盘的过程。要求:该对象所在的类必须实现序列化接口。
反序列化: 把磁盘中的对象读取到内存中的过程。
异常处理方式: 第一种: try{}catch(){}finally{} 第二种: 抛出异常throws.
Web开发: ------案例 servlet jsp JSTL EL表达式。
mysql数据库
-
增删改查CRUD.
-
增加的语法: insert into 表名(列名,列名....) values(值,值...);
-
删除的语法: delete from 表名 where 条件;
[条件: 关系>,<,>=,<=,=,!= 逻辑: and or
between and
in
like 模糊。 通配符。 _统配一个字符。 %统配n个字符
]
-
修改的语法: update 表名 set 列名=值,列名=值。。。 where 条件
-
单表的查询:
5.1 查询所有 select * from 表名
5.2 查询指定列: select 列名,列名.. from 表名1
5.3 去除重复项: select distinct 列名,列名.. from 表名
5.4 为查询的列起别名: select 列名 别名,列名 别名 from 表名
5.5 根据条件查询select * from 表名 where 条件
5.6 查询结果排序: select * from 表名 order by 列名,列名;
5.7 分页: select * from 表名 limit (页码-1)*条数,条数
5.8 分组查询: group by 列名 having 分组的条件。
-
联表查询: 左连接left join 右连接right join 内连接 inner join. 当查询的列不在一张表中。
例子: 查询员工信息以及该员工对应的部门名。
-
嵌套查询: 把一个查询结果作为另一个查询的条件值。
例子: 查询财务部员工的信息。
JDBC
public class Test {
public static void main(String[] args) throws Exception {
//1.加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获取连接对象
String url="jdbc:mysql://localhost:3306/day1123";
String user="root";
String password="root";
Connection connection= DriverManager.getConnection(url,user,password);
//3.获取执行sql语句的对象
String sql="select * from tb_emp where id=?";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setObject(1,18);
//4. 执行sql语句
ResultSet resultSet = preparedStatement.executeQuery();
//5. 遍历查询的结果
while (resultSet.next()){
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
System.out.println("姓名:"+name+";年龄:"+age);
}
}
}