javaWEB基础知识

前言


IO(绝对重点)、 集合(ArrayList 和 HashMap)、多线程(回顾概念即可)、数据库(JDBC、 DAO)和前端(HTML、jQuery)


一、IO是什么?

I表示input O表示output

1、流的分类
读取流:InputStream Reader
写出流:OutPutStream Writer

字节流:InputStream OutputStream
字符流:Reader Writer

字节流代码如下(示例):

FileOutputStream fos = new FileOutputStream("D://xxx.xxx");
  fos.write("dsfdsf".getBytes());//写入字节数组
  fos.close();           //用完后需要关闭流,释放资源。字节流不需要Flush
  FileInputStream fis = new FileInputStream("D://xxx.xxx");
  fis.read();       //读取一个字节
  fis.close();

字符流代码如下(示例):

FileWriter fw = new FileWriter("D:\\xxx.txt");
  fw.write("sdfsdfsdf");//可以直接写入字符串
  fw.flush();         //写完后需要Flush,才能真正写道输出设备
  fw.close();         //close()时也会Flush。
  FileReader fr = new FileReader("D:\\xxx.txt");
  fr.read(char[] ch);//可以读取一个字符数组的内容
  fr.close();

二、集合

集合和数组的区别:

(1)数组长度的是固定的,集合的长度是可变的。

(2)数组中存储的都是同一类型的元素。集合存储的都是对象,对象的类型可以不一致。

1.collection

单列集合类的根接口

在这里插入图片描述

(1)List常用子类(ArrayList)

ArrayList List = new ArrayList;

1.删除方法 list.remove();

2.添加方法 list.add();

3.清空ArrayList list.clear();

4.修改方法 list.set(2,“B”);

5.查询方法
//获取第二个元素
String element = list.get(2);

2.Map

在这里插入图片描述

(1)Map接口常用的实现类之一:HashMap

HashMap是Map接口使用频率最高的实现类。允许使用null键和null值,与HashSet一样,不保证映射的顺序。

所有的key构成的集合是Set:无序的、不可重复的。所以,key所在的类要重写:equals()和hashCode()

所有的value构成的集合是Collection:无序的、可以重复的。所以,value所在的类要重写:equals()

HashMap判断两个key相等的标准是:两个key通过equals() 方法返回true, hashCode值也相等。

HashMap判断两个value相等的标准是:两个value通过equals()方法返回true。

HashMap可以使用null值为key或value

三、多线程

1.线程与进程

进程

是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间

线程

是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行. 一个进程最少有一个线程

线程实际上是在进程基础之上的进一步划分,一个进程启动之后,里面的若干执行路径又可以划分成若干个线程

2.同步与异步

同步

排队执行 , 效率低但是安全。

异步

同时执行 , 效率高但是数据不安全.

3.并发和并行

并发

指两个或多个事件在同一个时间段内发生。

并行

指两个或多个事件在同一时刻发生(同时发生)。
在这里插入图片描述

四、数据库

1.创建数据库

代码如下(示例):

-- 创建用户表
create table user(
name varchar(20),
age int,
sex char(1)
)engine=innodb default charset=utf8;
-- Query OK, 0 rows affected (0.16 sec)

2.增删改查

(1)增

insert into user(name,sex,age)  value("张三", "男",18 );

(2) 删

delete from user where age=18;

(3)改

update user set sex="man" where id =2; 

(4)查询

select * from user where age=18;

[group by 分组字段 [having 分组条件]]
[order by 排序字段 排序规则]
Asc升序排列(默认)
desc降序排列


1.Like

-- 查询name字段中最后一个字符 为 五的
select * from users where name like '%五';
-- 查询name字段中第一个字符 为 王 的
select * from users where name like '王%';
-- 使用 _ 单个的下划线。表示一个任意字符,使用和%类似
-- 查询表中 name 字段为两个字符的数据
select * from users where name like '__';
-- 查询 name 字段最后为五,的两个字符的数据
select * from users where name like '_五';

2.mysql中常用的统计函数

max(),min(),count(),sum(),avg()

JDBC

基础操作

package com.java.demom;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class demo01 {
    public static void createTable() throws ClassNotFoundException, SQLException {
        //加载数据库驱动
        Class.forName("com.jdbc.mysql.Driver");
        //连接JDBC
        Connection conn = DriverManager.getConnection("","","");
        // mysql的连接地址: jdbc:mysql://localhost:3306/java35

        //通过statement创建SQL执行对象
        Statement state = conn.createStatement();
        //创建SQL语句
        state.execute("create table person(id int,nickname varchar )");
        //释放连接
        conn.close();
        state.close();
        System.out.println("执行完毕");
    }
    public static void insertData(){

    }
}

五、HTML与JQuery

一、前端

点名器实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>随机点名器</title>
    <style>
        #kk{
            background-color: burlywood;
            border-radius:20px;
            height: 500px;
            width: 500px;
            position: absolute;
        }
        #a{
            text-align: center;
            border:1px black solid;
            height: 60px;
            width: 100px;
            position: relative;
            top:40%;
            left:40%;
        }
        #b{
            text-align: center;
            height: 20px;
            width: 50px;
            position: relative;
            top:60%;
            left:45%;
        }
        #c{
            background-color: red;
            }
    </style>
</head>
<body>
    <div id="kk">
        <div id="a">
            <p>随机点名器</p>
        </div> 
        <div  id="b">
            <button id="c" onclick="pickName()">开始</button>
        </div>
    </div>
</body>
<script>
    var interval;
    function pickName(){
        var btn=document.getElementById("c");
        var btn_text = btn.innerText;
        if(btn_text==="开始"){
            start();
            btn.innerText="停止";
        }
        if(btn_text==="停止"){
            stop();
            btn.innerText="开始";
        }
       }
    function start(){
            interval = setInterval(setName,200);
            
        } 
    function stop(){
        clearInterval(interval);
        }
    function setName(){
        let text = document.getElementById("a");
        var array=["张三","李四","王五","二麻子","赵柳","杨过","罗勇"];
        var index = parseInt(Math.random()*array.length);
        text.innerText=array[index];
    }
</script>
</html>

二、JQuery

jq的使用

$(function () {
    var index = 0;
    showDot(0);
    start();

    function showPic(index) {
        $("#pics").css("margin-left", -index * 590 + "px");
    }

    function showDot(index) {
        $(".dot").each(function () {
            $(this).css("background-color", "red");
            $(this).css("color", "white");
        })
        $(".dot").eq(index).css("background-color", "blue");
        $(".dot").eq(index).css("color", "pink");
    }

    //上一张图片
    function last_pic() {
        index--;
        if (index < 0) {
            index = 5;
        }
        showPic(index);
        showDot(index);
    }


    function next_pic() {
        index++;
        if (index > 5) {
            index = 0;
        }
        showPic(index);
        showDot(index);
    }

    $(".btn_left").click(function () {
        last_pic();
    });


    $(".btn_right").click(function () {
        next_pic();
    });

    function start() {
        $("body").everyTime("1s", "lbt", function () {
            next_pic();
        })
    }

    $(".wrapper").mouseover(function () {
        $("body").stopTime("lbt");
    });


    $(".wrapper").mouseleave(function () {
        start();
    });

    $(".dot").hover(function () {
        index = $(this).index();
        showPic(index);
        showDot(index);
    })
})

总结

本文仅仅简单介绍了javaWEB的基础,后续会不断更新完善。新手上路,求多指教。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值