zoukankan      html  css  js  c++  java
  • java 学习汇总

    java高价进阶架构

    -------java概述-----------------------------------------------------------------------------------------
    1.Java 语言概述
    jdk=java development kit 1.0---jdk14
    2.java语言平台版本
    J2SE:桌面程序
    J2ME:嵌入式设备程序
    J2EE:servlet,jsp开发web程序
    3.java语言特点:
    简单,解释性,面向对象,高性能,分布式处理,多线程,安全性,开源,
    跨平台(.class 安装java jvm 虚拟机);
    安装java jvm 虚拟机==JRE
    安装win jvm 虚拟机
    安装mac jvm 虚拟机

    JRE(JAVA Runtime ev java 运行环境):包含Java虚拟机和java程序所需的核心类库等
    JDK:JAVA开发工具包:包含JRE和开发工具(编译工具javac.exe,打包工具jar.exe)等

    4.JDK,JRE,JVM三者关系:
    4.1 JKD开发工具包 ---------------------JAVA编写的开发工具包,是面向开发人员的提供API帮助开发功能
    4.2 JRE运行环境----------------------JAVA程序运行环境,有就JRE就可以运行程序不需要JDK
    4.3 JVM虚拟机----------------------JVM运行字节码文件.class代码,将代码翻译给对应的操作系统执行实现跨平台的代码
    4.4 OS操作系统--------------------运行JVM翻译之后的代码

    5.为什么要学java
    - 23年独立开发的历史
    - 83次荣获ITOBE排行榜第一
    - 90%的服务器使用Java
    - 45.5%的开源项目使用Java
    - Java语言易学易用还跨平台
    - Java市场需求大,就业岗位多,岗位薪资水平高

    6. 环境安装
    https://www.oracle.com/index.html
    https://developer.oracle.com/ Java Se Development kit 14


    -----变量定义语言规范------------------------------------------------------------------
    1.数据类型:
    基本数据类型:
    四种整型:
    byte:8位=一个字节= - 2~7
    short:16
    int :32
    long:64
    二种浮点型:
    float 4字节
    double 8字节
    字符型:char 2字节
    布尔型:boolean 不能确定
    原始数据类型:8大基本数据类型+void

    2.变量定义:定义语法:数据类型,变量名称=变量的值, double price=45.3
    变量名定义规则:变量名不能包含 & _;不能以数字开头,变量要有意义,变量以小写字母开头,不用中文命名;

    3.变量运算:
    四则运行:+,-,*,%
    比较运算:>, < ,>=,<=,==, !=
    逻辑运算: &&,|| ,!
    位运算:<<,>>,<<<,&,|~,
    4.变量转换:
    自动转换
    强制转换
    byte b=120;
    shor st=320;
    int age=30;
    long height=3000;
    float price=3.2f;
    double price2=34.3
    char ch='a';
    boolean flag=true;
    int a=3;
    System.out.println(a++);//3 递增,递减【递增在前,先计算后输出,递增在后,先输出,在计算】
    System.out.println(++a); //5

    shor s1=1;
    shor s2=s1+1;
    shor s2=(short)(s1+1);
    s2+=1;//s2=s2+1;//不能提示结果类型;

    5.流程控制:
    if else;
    switch case; switch(变量) { case 变量值1 语句;bread;case 2 语句;bread;default;}//语句接收的类型是:整型,字符型,字符穿类型(JDK1.7)
    for:for(int i=1;i<10;i++){System.out.println("a"); a++;}
    while, while(a<10) {System.out.println("a"); a++;}
    do--while, do{ System.out.println("a"); a++;}while(a<10);
    a>b?a:b
    6.跳转语句:
    continue:跳出当次循环
    break:退出当前循环体,外层循环继续执行
    return: 退出当前方法体程序

    7.数组:存储相同类型的一组值
    int[] a=new int[5]; a[0];a.lenght;
    int[] nubmers=new int[4];
    int[] nums=new int[]{1,2,3,4};
    int[] ages={1,2,3};

    int[][] table= new int[3][3];
    int[][] tables={{1,2,3},{2,3,4},{2,2}};

    8. 数组分配的内存空间
    栈区:局部变量 int ages[] =oxff110 内存地址;程序计数器;
    堆区:存储对象 new int[4]; ages[0]=oxff110 内存地址

    9.IDEA IDE 工具的使用
    IDEA 2020.1.3
    https://www.jetbrains.com/idea/download/#section=windows Ultimate

    psvm //快捷生成main方法
    numbs.fori //快捷生成for循环
    numbs.for //快捷生成foreach循环
    sout // 快捷生成System.out.println();
    变量名称.sout//快捷生成System.out.println(b.name);
    new 对象().var //快捷补全变量名称 B b=new B();
    alt + insert //快捷生成setter,getter属性
    ctrl +d // 向下复制快捷键
    ctrl +alt + m //提取方法


    -------OOP---------------------------------------------------
    1.面向过程:自己是参与者;

    2.面向对象:自己是领导者,做事之前都想有没有什么人能帮助我完成(那些对象)
    2.1找对象:大象,冰箱,人
    2.2给对象定功能:
    冰箱:开门,关门,装大象
    人:打开冰箱们,关闭冰箱门,把大象放进冰箱
    大象:属性,
    2.3 找对象帮我完成功能(依赖关系):

    3.对象和类的关系
    类是对象模板,对象是类实例
    类:物以类聚,具有相同特征和行为的一类事物的抽象;
    对象通过new关键字创建

    4.面向对象的特征
    封装:隐藏类实现的细节,提高代码复用性
    支付:
    类的属性私有化:提供需要给外部访问和设置的权限,属性对应setter,getter方法组;
    提供外部调用方法接口;
    setter 现有属性的合法性
    继承:
    子类继承父类的非私有的全部方法,属性;继承了不可见
    extends 关键字来完成继承;
    覆写:重写:子类中定义了和父类中一样的属性和方法,则调用的是子类的属性和方法
    用父类引用了子类的方法,调用的还是子类的方法;
    supper.hello()
    supper();//调用父类的构造函数
    那些方法和类不能被继承:
    static final 方法不能被继承=密封类
    final修改的方法不能重写;
    一个类只能继承一个类:单继承
    具体类继承抽象类,必须实现方法;override
    抽象类继承抽象类,不用实现抽象方法;

    多态:
    重写:子类重写父类的方法;
    重载:在用一个类中存在不同参数列表(参数类型,参数个数,参数顺序)的方法;
    与方法的返回值无关,与方法的参数名称无关

    5.抽象类:abstact 关键字修饰,具有某种对象的特征,但不完整;
    抽象方法必须是抽象类,抽象类不能实例化
    抽象类里,可以有具体的方法;

    6.接口:约定,能力,implements
    定义在接口中的方法都是公共的抽象的;
    接口中不能有具体的实现方法,jdk8之后可以有具体的方法;default void hello(){println("");}
    在接口中定义的属性都是常量;public static final String name="a";


    7.集合:
    Float.class
    collection
    list:元素可以重复,保证顺序性
    arrayList.asList()

    LinkedList
    list.add()
    set接口特点:元素不能重复,不保证顺序
    hashset
    treeset.get(1);
    hasmap.put("key","value");
    hasmap.keyset();
    hasmap.values();
    masmap.get(11);
    Set keyset=hasmap.keyset()

    Collections.reverse(list).
    Collections.shuffle(list);
    Collections.println(list);

    8.JDBC
    8.1.下载驱动
    8.2 加载驱动
    8.3 根据驱动对象获取链接数据库的对象connection
    8.4 根据connection对象创建编译对象statement
    8.5根据Statement对象设置执行的sql语句和参数
    8.6使用statement对象执行sql语句并处理返回结果;
    private static void genericMethod1() {
    try {
    // 加载驱动
    Class.forName("com.mysql.cj.jdbc.Driver");
    // 通过驱动管理类DriverManager获取连接对象
    String url = "jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=GMT%2B8";
    Connection connection = DriverManager.getConnection(url, "root", "123");
    String sql = "select * from t_user where user_name like ? and user_gender=?";

    // 创建编译对象
    PreparedStatement pst = connection.prepareStatement(sql);
    // 设置参数
    pst.setString(1, "%han%");
    pst.setString(2, "女");
    // 执行SQL语句并处理返回结果
    ResultSet resultSet = pst.executeQuery();
    // 把获取结果输出到控制台
    while (resultSet.next()) {
    System.out.println(resultSet.getString("user_name")+","
    +resultSet.getString("user_gender"));
    }

    // 释放操作资源
    resultSet.close();
    pst.close();
    connection.close();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }

    private static void genericMethod() {
    try {
    // 加载驱动
    Class.forName("com.mysql.cj.jdbc.Driver");
    // 通过驱动管理类DriverManager获取连接对象
    String url = "jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=GMT%2B8";
    Connection connection = DriverManager.getConnection(url, "root", "123");
    // 创建编译对象
    Statement statement = connection.createStatement();
    String name = "han";
    // String sql = "select * from t_user where user_name like '%"+name+"%'";
    // SQL注入问题
    String sql = String.format("select * from t_user where user_name like '%s' and user_gender=%s","%hanmei%' -- ","女");
    // 执行SQL语句并处理返回结果
    ResultSet resultSet = statement.executeQuery(sql);
    // 把获取结果输出到控制台
    while (resultSet.next()) {
    System.out.println(resultSet.getString("user_name")+","
    +resultSet.getString("user_gender"));
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    }

    -------------------- idea 安装及简单介绍和简单项目部署---------------

    下载:idea https://www.jetbrains.com/idea/download/download-thanks.html?platform=windows

    下载:jdk1.8

    配置tomcat
    创建javaweb项目

    file--new project--empty project //创建解决方案
    file -new module
    发布:add config

    -------------------Javeweb-tomcat---------------------------------
    1.web服务器: tomacat:
    静态服务器:nginx(只能发布.html页面访问
    动态服务器:apache tomat,jetty,weblogic,自带动态页面编译位静态页面;

    2.下载tomcat服务器:https://tomcat.apache.org
    https://tomcat.apache.org/download-80.cgi 8.5

    3.直接解压

    4.验证tomacat是否可用:C:java_05_lessonapache-tomcat-8.5.70instartup.bat
    http://localhost:8080

    ----------------javeweb - servlet------------------------------------
    servlet:运行在服务端的java应用程序 =iis/tomcat
    定义:在创建web项目中引用tomcat里面提供的servlet-api.jar类库;
    创建一个servlet
    public class MyServlet extends HttpServlet{

    }

    serlet生命周期:
    实例化--初始化(init()--调用分发请求service---destroy销毁

    jsp
    el表达式
    Filter
    listener
    mvc


    java面试题:
    16773/00085814
    1.四种整型:
    byte:8位=一个字节= - 2~7
    short:16
    int :32
    long:64

    2. int a=1;
    System.out.println(a++);
    System.out.println(++a);
    3.接口可以被实例化吗? 不能,没有构造函数,接口可以多实现,接口和接口间可以继承,接口和类之间只能实现,不能继承;

    Java基础
    https://ke.qq.com/course/2770403?taid=9894973292561891&tuin=65d16efb

  • 相关阅读:
    有点忙啊
    什么是协程
    HDU 1110 Equipment Box (判断一个大矩形里面能不能放小矩形)
    HDU 1155 Bungee Jumping(物理题,动能公式,弹性势能公式,重力势能公式)
    HDU 1210 Eddy's 洗牌问题(找规律,数学)
    HDU1214 圆桌会议(找规律,数学)
    HDU1215 七夕节(模拟 数学)
    HDU 1216 Assistance Required(暴力打表)
    HDU 1220 Cube(数学,找规律)
    HDU 1221 Rectangle and Circle(判断圆和矩形是不是相交)
  • 原文地址:https://www.cnblogs.com/csj007523/p/15168621.html
Copyright © 2011-2022 走看看