后端基础Java\MYSQL

148 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第8天,点击查看活动详情

1、MySQL基础 新手手册

  1. 数据库:-----Mysql[中小型项目]阿里巴巴 Oracle[大型项目 安全性高]
  2. 创建数据库的命令:
      创建数据库:
      create database 数据库名;
      切换数据库:
      use 数据库名;
      创建表:
      create table 表名(
         字段名 数据类型 约束,
         字段名 数据类型 约束,
      );
      数据类型: varchar char int decimal小数  date datetime   
      
      varchar()char()的区别? 
      varchar可变字符串  char不可变 譬如:手机号 性别。
      
      约束: 主键约束(primary key) 外键约束(foreign key) 唯一约束(unique)  非空约束not null 默认约束default 自增约束AUTO_INCREMENT
  1. DML操作:
1. insert into 表名(列名,列名...) values(值,值...)
     
     2. delete from 表名 where 条件;  
         关系运算符 >,>=,<,<=,=,!= 
         逻辑运算符 and or not
         其他: (between 值1 and 值2)  in  exist   like[通配符_统配一个字符, %统配n个字符]
     3. update 表名 set 列名=列值,..... where 条件
     
     4. select *|指定列名  from 表名 where 条件
     
     5. select * from 表名 group by 分组的列 having 分组后的条件;
     
     6. select * from 表名 order by 列名,.... [desc,asc]
     
     7. select distinct * from 表名 limit start,size;   ----start=====(page-1)*size;
     
     8. 聚合函数: sum  avg   count max min 
     
     9. 多表联查。
         1. 内连接 inner join
         2. 左连接  left join
         3. 右连接  right join 
         4. 自连接  
     
     10. 嵌套子查询。

2、Java基础知识点总结适合新手 学习手册

1. html+css+js[省略]---

2. java

2.1 java基础.

[1].变量--- 数据类型 变量名=值;

数据类型:

    1. 基本数据类型. byte[1字节] short[2字节] int[4字节] long[8字节] float[4字节] double[8字节] boolean[1字节] char[2个字节]
    1. 引用数据类型. 类 接口 枚举 数组 变量名:----命名规则
    1. 由字母 数字 下划线_ 美元符 $ 组成
    1. 不能以数字开头
    1. 不能使用java的关键字。
    1. 习惯: 见名知意 类名接口名每个单词首字母大写。 方法 变量名第一个单词的首字母小写其他单词的首字母大写.[studentAge]常量所有字母全大写。

[2] 运算符:

    1. 算术运算符。+,-,,/, %, ++[前(先+1在运算) 后[先运算再+1]],--. 例子: int i=2; int c=++i2+1; sout(c==) sout(i==) 例子: int i=2; sout(i++);
    1. 关系运算符。>,>=,<,<=,==,!= 得到的结果一定是boolean值。
    1. 逻辑运算符。 连接多个关系运算的。 &&[这两个关系运算符得到的结果都为true是才为true] || [两个关系运算符只要有一个为true,就是true] !
    1. 赋值运算符。=,+=,-=,=,/=,%=
      例子: int a=2; int b=2; b
      =a+1; b=b*(a+1) sout(b)
    1. 位运算符【二进制】。 &,|,^,>>,<<,~ int a=1; int b=2; int c=a&b; 001 &010 sout(c); c=a|b; sout(c)
    1. 三目运算符。 条件语句?表达式1:表达式2

[3]控制语句

        a. if(条件){
        b. if(条件){}else{}
        c. if(条件){}else if(条件){} ...else{}
        d. switch(表达式){ //switch表达式的值得类型byte short char int String
		          case 值1:  break;
		          case 值2:  break;
		          case 值3:  break;
		          default:  break;
       }  
       // 每一个case得值不能重复。
       // default 找到不匹配的case时执行default的语句。
       // break执行完对应的case后 跳出switch语句。 如果没有使用break则找到匹配的case后 会把后面所有的语句都执行。
      e.  while(条件){//条件是boolean值。
        }  
       f. do{}while(条件);
      g.  for(初始值;条件;变化){ //初始值只会被执行一次. 
        }

[4]数组:

  • 数据类型[] 变量名=new 数据类型[长度];
  • 数据类型[] 变量名={值,值,值,值};
  • 排序: 冒泡排序 快速排序 选择排序【擂台排序】。

2.2 java面向对象.

1. 类和对象!

类:具有相同属性和行为的一组对象的集合。 抽象的概念。 对象: 万事万物皆为对象。 具体存在的实物。

2. 如何定义类:

    public class 类名{
         //成员变量。
         //成员方法。
    }
    //如何根据类创建对象
    类名 对象名=new 类名();
    //对象如何调用类中的成员.
    对象名.成员变量;
    对象名.成员方法(实参)

3.三大特性:

  • 封装: 把类中成员使用private进行封装,使外界无法之间调用。---安全。 一般: 封装属性。并且生成getter和setter方法。
  • 继承: 一个子类继承父类中的成员 extends ------ public class 子类名 extends 父类名{ }
  • overload重载 和 override重写?

overload:在同一个类中,出现方法名相同,参数列表不同的方法。不考虑返回类型。这些方法就是就是反复重载。

override:在父类和子类之间,子类中出现了和父类中方法名一样,参数列表一样。返回值类型一样。访问修饰符不能小于父类方法得访问修饰符。 抛出得异常不能大于父类中。 子类中出现的这种方法就是就是重写。

  • 访问修饰符: public: 同一个工程下都可以访问。 protected: 同包或者不同包下的子类访问。 默认: 同包访问 private: 同类访问。
  • 多态 : 一个对象具有多种形态。
    父类声明 对象名=new 子类对象();

//向上转型: 对象名.方法(); 调用的是子类重写的方法


子类声明 对象名=(子类)父类对象;

//向下转型。

  • 抽象类和接口:
  1. 抽象类:只能被继承,因为他不能实例化对象。 抽象类中有构造方法。抽象类中可以有非抽象方法。 抽象类中的属性可以是普通属性也可以是静态属性。
  2. 接口: 可以被多实现。 没有构造方法。 全是抽象方法【jdk8后出现了默认方法 和静态方法】。都是静态常亮。
  • 异常处理: try{}catch(异常类型 对象){} throws 抛出异常。---->throws加在方法参数的后面 谁调用该方法谁处理这个异常。

  • 集合: Collection:

  • List: 有序 可重复 ArrayList: 底层数组:查询快,缺点:前提不是尾部元素,插入和删除慢。 LinkedList: 底层链表.有点: 插入和删除快 Vector:

  • Set: 无序 不可重复。 HashSet: 底层是按照hash表执行。 先按照hashcode表比对如果hash相同【hash冲突】,则按照equals方法比对。如果equals也相同则视为同一个元素。 TreeSet: 底层树形结构 元素拍好序的。 LinkedHashSet: 排序好序得 按照添加的顺序

  • Map: HashMap:原理: map.put(key,value); map.get(key); 数组+链表【超过8】+红黑树。 TreeMap:

image.png