为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA创业资料:新手必备的JAVA入门教程与创业指南

标签:
Java
概述

本文全面介绍了JAVA创业所需的基础知识和技术栈,从环境搭建到核心技术学习,再到实际项目应用,帮助读者掌握JAVA编程和开发技能。文章还提供了丰富的资源推荐和社区加入方法,助力读者在JAVA创业道路上取得成功。JAVA创业资料涵盖了从入门到进阶的全方位指导,助力开发者轻松上手。

JAVA简介与环境搭建
JAVA语言简介

Java 是一种广泛使用的、功能强大的编程语言,最初由Sun Microsystems公司(现在是Oracle Corporation的一部分)在1995年发布的。Java语言具有“一次编写,到处运行”的特性,这意味着编写的Java程序可以在任何安装了Java虚拟机(JVM)的平台上运行,因此它在跨平台应用开发中非常流行。Java被广泛应用于Web应用开发、安卓应用开发、企业级应用开发以及大数据等领域。

Java的流行还在于它的简洁、面向对象的编程模型,以及丰富的类库支持。Java提供了大量的API,方便开发者进行网络编程、图形界面开发、数据库连接等。

开发环境搭建

IDE选择与安装

在开始编写Java代码之前,你需要一个集成开发环境(IDE)来帮助你进行开发。常见的Java IDE有Eclipse、IntelliJ IDEA和NetBeans。这里以Eclipse为例来介绍如何搭建开发环境。

1. 下载与安装Eclipse

  1. 访问Eclipse官方网站:https://www.eclipse.org/downloads/
  2. 选择适合你操作系统的版本下载,例如Eclipse IDE for Java Developers。
  3. 安装选择合适的安装位置,按照安装向导完成安装过程。

2. 配置JDK(Java Development Kit)

  1. 访问Oracle官方网站下载JDK:https://www.oracle.com/java/technologies/javase-downloads.html
  2. 安装JDK,安装过程中确保环境变量配置正确,例如添加JDK的bin目录到系统的PATH环境变量中。

第一个JAVA程序

编写一个简单的Java程序,输出“Hello, World!”。

步骤

  1. 打开Eclipse,创建一个新的Java项目。
  2. 在项目中创建一个新的Java类,例如名为HelloWorld
  3. 编写并保存以下Java代码:
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
  1. 运行程序:在Eclipse中,右键点击HelloWorld类,选择Run As -> Java Application

这将会在控制台输出Hello, World!,标志着你的第一个Java程序编写成功。

JAVA核心技术学习
基本语法与面向对象编程

Java是一种面向对象的语言,其核心特性包括封装、继承和多态。面向对象编程(OOP)的基本概念是通过类(class)和对象(object)来实现的。

类与对象

类是创建对象的模板,而对象是类的实例。类可以包含字段(成员变量)和方法(成员函数)。以下是一个简单的例子,定义了一个Person类。

public class Person {
    // 成员变量
    private String name;
    private int age;

    // 构造函数
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // 方法
    public void displayDetails() {
        System.out.println("Name: " + this.name);
        System.out.println("Age: " + this.age);
    }
}

使用这个类创建对象并调用方法:

public class Main {
    public static void main(String[] args) {
        Person person = new Person("张三", 25);
        person.displayDetails();
    }
}

封装

封装是指将数据(字段)和处理这些数据的方法捆绑在一起,并对外部隐藏细节,只提供公共的访问点。通过使用访问修饰符(如public, private),可以控制类成员的访问权限,实现封装。

public class Car {
    private String make;
    private String model;
    private int year;

    public Car(String make, String model, int year) {
        this.make = make;
        this.model = model;
        this.year = year;
    }

    public void setMake(String make) {
        this.make = make;
    }

    public String getMake() {
        return this.make;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public String getModel() {
        return this.model;
    }

    public void setYear(int year) {
        this.year = year;
    }

    public int getYear() {
        return this.year;
    }
}

继承

继承允许一个类继承另一个类的属性和方法。子类可以扩展或覆盖父类的方法。使用关键字extends实现。

// 父类
public class Animal {
    public void eat() {
        System.out.println("This animal eats food.");
    }
}

// 子类
public class Dog extends Animal {
    public void bark() {
        System.out.println("Dog barks.");
    }
}

public class Main {
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.eat();  // 通过子类调用父类的方法
        dog.bark();
    }
}

多态

多态允许对象以不同的形式表现。子类可以覆盖父类的方法,以实现不同的行为。多态性在运行时通过对象实例的类型来决定使用哪个版本的方法。

public class Animal {
    public void sound() {
        System.out.println("Animal makes a sound.");
    }
}

public class Dog extends Animal {
    @Override
    public void sound() {
        System.out.println("Dog barks.");
    }
}

public class Cat extends Animal {
    @Override
    public void sound() {
        System.out.println("Cat meows.");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal animal1 = new Dog();
        Animal animal2 = new Cat();
        animal1.sound();  // 输出 "Dog barks."
        animal2.sound();  // 输出 "Cat meows."
    }
}
数据类型与变量

Java中的数据类型分为两种:基本数据类型(Primitive Types)和引用数据类型(Reference Types)。

基本数据类型

基本数据类型包括整型、浮点型、字符型和布尔型。

  • 整型(Integer):byte, short, int, long
  • 浮点型(Floating Point):float, double
  • 字符型(Character):char
  • 布尔型(Boolean):boolean
public class DataTypesDemo {
    public static void main(String[] args) {
        byte b = 127;
        short s = 32767;
        int i = 2147483647;
        long l = 9223372036854775807L;
        float f = 3.14f;
        double d = 3.14159;
        char c = 'A';
        boolean bool = true;

        System.out.println("byte: " + b);
        System.out.println("short: " + s);
        System.out.println("int: " + i);
        System.out.println("long: " + l);
        System.out.println("float: " + f);
        System.out.println("double: " + d);
        System.out.println("char: " + c);
        System.out.println("boolean: " + bool);
    }
}

引用数据类型

引用数据类型是指向内存地址的引用,主要包括数组、类、接口、字符串等。

public class ReferenceTypesDemo {
    public static void main(String[] args) {
        String str = "Hello, World!";
        int[] arr = {1, 2, 3, 4, 5};

        System.out.println("String: " + str);
        for (int i : arr) {
            System.out.print(i + " ");
        }
    }
}
控制流与循环

Java中的控制流结构包括条件语句(如if, else, switch)和循环语句(如for, while, do-while)。

条件语句

条件语句根据表达式的真假来决定执行不同的代码块。

public class ConditionalDemo {
    public static void main(String[] args) {
        int number = 10;
        if (number > 5) {
            System.out.println("Number is greater than 5.");
        } else if (number < 5) {
            System.out.println("Number is less than 5.");
        } else {
            System.out.println("Number is equal to 5.");
        }

        String day = "Monday";
        switch (day) {
            case "Monday":
                System.out.println("Today is Monday.");
                break;
            case "Tuesday":
                System.out.println("Today is Tuesday.");
                break;
            default:
                System.out.println("Today is neither Monday nor Tuesday.");
        }
    }
}

循环语句

循环语句允许代码块多次执行,直到满足特定条件。

public class LoopDemo {
    public static void main(String[] args) {
        // for 循环
        for (int i = 0; i < 5; i++) {
            System.out.println("For loop iteration: " + i);
        }

        // while 循环
        int count = 0;
        while (count < 5) {
            System.out.println("While loop iteration: " + count);
            count++;
        }

        // do-while 循环
        int num = 0;
        do {
            System.out.println("Do-while loop iteration: " + num);
            num++;
        } while (num < 5);
    }
}
方法与类

在Java中,方法是类的成员之一,用于实现特定的功能或操作。类可以定义方法和变量,并且可以创建类的实例(对象)来使用这些功能。

方法定义与调用

方法定义包含方法名、返回类型、参数列表以及方法体。方法通过public, private, protected等修饰符来指定访问权限。

public class MethodDemo {
    // 方法定义
    public void displayMessage() {
        System.out.println("Hello, this is a method.");
    }

    public int addNumbers(int a, int b) {
        return a + b;
    }

    public static void main(String[] args) {
        MethodDemo demo = new MethodDemo();
        demo.displayMessage();

        int result = demo.addNumbers(10, 20);
        System.out.println("Result: " + result);
    }
}

构造函数

构造函数用于初始化新创建的对象。构造函数的名字必须和类名相同,并且没有返回类型。

public class ConstructorDemo {
    private String name;
    private int age;

    // 构造函数
    public ConstructorDemo(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public void displayDetails() {
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
    }

    public static void main(String[] args) {
        ConstructorDemo person = new ConstructorDemo("张三", 25);
        person.displayDetails();
    }
}

静态方法与静态变量

静态(static)修饰的方法和变量属于类本身,而不是类的实例。静态方法可以直接通过类名调用,而不需要创建对象实例。

public class StaticDemo {
    static int count = 0;

    public static void displayCount() {
        System.out.println("Count: " + count);
    }

    public static void incrementCount() {
        count++;
    }

    public static void main(String[] args) {
        StaticDemo.displayCount();
        StaticDemo.incrementCount();
        StaticDemo.displayCount();
    }
}

类的继承与多态

继承是面向对象编程的一个重要特性,通过继承一个类可以继承其方法和属性。多态性允许在运行时根据对象的实际类型来调用不同的方法。

public class InheritanceDemo {
    public static void main(String[] args) {
        Animal animal = new Dog("Buddy");
        animal.makeSound();  // 输出 "Dog barks."

        Dog dog = (Dog) animal;
        dog.fetch();  // 输出 "Dog fetches."
    }
}

class Animal {
    private String name;

    public Animal(String name) {
        this.name = name;
    }

    public void makeSound() {
        System.out.println("Animal makes a sound.");
    }
}

class Dog extends Animal {
    public Dog(String name) {
        super(name);
    }

    public void makeSound() {
        System.out.println("Dog barks.");
    }

    public void fetch() {
        System.out.println("Dog fetches.");
    }
}
JAVA项目实战
小型项目案例

简易计算器

简易计算器项目可以包括加、减、乘、除的基本运算功能。下面展示一个简单的Java计算器程序实现。

import java.util.Scanner;

public class SimpleCalculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("请输入第一个操作数: ");
        double num1 = scanner.nextDouble();

        System.out.print("请输入第二个操作数: ");
        double num2 = scanner.nextDouble();

        System.out.print("请输入运算符 (+, -, *, /): ");
        String operator = scanner.next();

        double result;
        switch (operator) {
            case "+":
                result = num1 + num2;
                break;
            case "-":
                result = num1 - num2;
                break;
            case "*":
                result = num1 * num2;
                break;
            case "/":
                result = num1 / num2;
                break;
            default:
                System.out.println("无效的运算符.");
                return;
        }

        System.out.println("结果是: " + result);
    }
}

To-Do List

To-Do List是一个简单的任务管理应用,允许用户添加、删除和查看任务。

import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;

public class TodoList {
    private List<String> tasks;

    public TodoList() {
        tasks = new ArrayList<>();
    }

    public void addTask(String task) {
        tasks.add(task);
    }

    public void removeTask(String task) {
        tasks.remove(task);
    }

    public void displayTasks() {
        if (tasks.isEmpty()) {
            System.out.println("没有任务。");
        } else {
            System.out.println("当前任务列表:");
            for (int i = 0; i < tasks.size(); i++) {
                System.out.println((i + 1) + ". " + tasks.get(i));
            }
        }
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        TodoList todoList = new TodoList();

        while (true) {
            System.out.println("\n待办事项管理:");
            System.out.println("1. 添加任务");
            System.out.println("2. 删除任务");
            System.out.println("3. 显示任务");
            System.out.println("4. 退出");

            System.out.print("请选择操作: ");
            int choice = scanner.nextInt();
            scanner.nextLine();  // 读取换行符

            switch (choice) {
                case 1:
                    System.out.print("请输入任务描述: ");
                    String task = scanner.nextLine();
                    todoList.addTask(task);
                    break;
                case 2:
                    System.out.print("请输入要删除的任务描述: ");
                    String taskToRemove = scanner.nextLine();
                    todoList.removeTask(taskToRemove);
                    break;
                case 3:
                    todoList.displayTasks();
                    break;
                case 4:
                    return;
                default:
                    System.out.println("无效的选择。");
            }
        }
    }
}

简单的Web应用

一个简单的Web应用可以是一个基于Java Servlet的Hello World应用,展示基本的Web应用开发流程。

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorldServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hello World</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Hello, World!</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}

数据库操作

一个简单的数据库操作应用可以演示如何使用Java连接到数据库,并执行一些基本的CRUD操作。

import java.sql.*;

public class DatabaseExample {
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://localhost:3306/mydb";
    static final String USER = "root";
    static final String PASS = "password";

    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;

        try {
            // 注册 JDBC 驱动
            Class.forName(JDBC_DRIVER);
            // 打开链接
            System.out.println("Connecting to database...");
            conn = DriverManager.getConnection(DB_URL, USER, PASS);
            // 执行查询
            System.out.println("Creating statement...");
            stmt = conn.createStatement();
            String sql = "SELECT id, name, address FROM Employees";
            ResultSet rs = stmt.executeQuery(sql);

            // 处理结果集
            while (rs.next()) {
                // 通过字段名获取字段值
                int id = rs.getInt("id");
                String name = rs.getString("name");
                String address = rs.getString("address");

                // 显示数据
                System.out.print("ID: " + id);
                System.out.print(", Name: " + name);
                System.out.print(", Address: " + address);
                System.out.print("\n");
            }
            rs.close();
        } catch (SQLException se) {
            se.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 关闭资源
            try {
                if (stmt != null)
                    stmt.close();
            } catch (SQLException se2) {
            }

            try {
                if (conn != null)
                    conn.close();
            } catch (SQLException se) {
                se.printStackTrace();
            }
        }
        System.out.println("Goodbye!");
    }
}
项目开发流程与管理

项目开发流程

项目开发流程包括以下步骤:

  1. 需求分析:了解项目目标和用户需求。
  2. 系统设计:确定系统架构和数据库设计。
  3. 编码实现:实现具体的程序代码。
  4. 单元测试:确保每个模块的正确性。
  5. 集成测试:确保各个模块的集成。
  6. 系统测试:测试整个系统的功能和性能。
  7. 部署上线:将应用程序部署到生产环境。
  8. 维护:修复错误和添加新功能。

项目管理

项目管理涉及规划、执行和控制项目活动。包括以下步骤:

  1. 任务分解:将项目分解为可管理的任务。
  2. 时间表:为每个任务分配时间。
  3. 人员分配:为每个任务分配合适的人员。
  4. 风险评估与应对:识别潜在风险并制定应对措施。
  5. 报告与跟踪:定期报告项目进度并进行跟踪。

示例

假设我们开发一个简单的在线商店应用,以下是开发流程的一个示例:

  1. 需求分析:定义在线商店的功能需求,例如用户注册、商品展示、购物车等。
  2. 系统设计:设计数据库模式,包括用户表、商品表、订单表等。
  3. 编码实现:开发后端API和前端界面。
  4. 单元测试:编写单元测试代码,确保每个模块的正确性。
  5. 集成测试:将各个模块集成,确保整个应用的正确性。
  6. 系统测试:测试整个系统的功能和性能。
  7. 部署上线:部署到生产环境。
  8. 维护:上线后修复出现的问题,并根据用户反馈进行改进。
JAVA在创业中的应用
JAVA技术在创业项目中的实际应用

Java技术在创业项目中的应用非常广泛,包括:

  • Web应用程序开发:Java的Spring框架和Hibernate等库非常适合开发企业级Web应用。
  • 移动应用开发:尽管Java主要用于Android开发,但也有其他框架(如Codename One)可以用来开发多平台移动应用。
  • 大数据处理:Java是Hadoop生态系统的基础,适合处理大规模数据集。
  • 游戏开发:Java适用于跨平台游戏开发。
  • 企业应用:诸如Java EE(Enterprise Edition)等技术栈非常适合企业级应用开发。
  • 金融服务:许多银行和金融机构使用Java来开发金融交易系统。

Java在Web应用开发中的应用

Java在Web应用开发中的应用主要体现在以下方面:

  • Spring Framework:提供了依赖注入、事务管理、安全控制等功能。
  • Hibernate / JPA (Java Persistence API):提供了对象关系映射(ORM),简化数据库操作。
  • Struts:用于构建Web应用的MVC架构。
  • Tomcat / Jetty:轻量级的Web服务器,用于部署Java Web应用。
  • MyBatis:提供了方法来支持持久化对象,使SQL查询与应用程序的逻辑分离。

这些技术栈和框架能够帮助开发者构建高效、可扩展的Web应用,同时保持代码的清晰和可维护性。

Java在大数据处理中的应用

Java在大数据处理领域也是不可或缺的,尤其是通过Hadoop生态系统。Hadoop是一个开源框架,为大规模数据集提供了分布式的存储和处理功能。Java在Hadoop生态系统中的应用包括以下几个方面:

  • Hadoop MapReduce:实现分布式计算任务的开发。
  • Apache Spark:一个快速、通用的大数据处理引擎,支持Java作为编程语言。
  • Apache HBase:一个基于Hadoop的开源分布式数据库,提供类似于传统数据库的实时读写性能。
  • Apache ZooKeeper:一个高可用的服务,用来维护配置信息、提供分布式锁以及协调服务。

这些技术和框架可以帮助开发者高效地处理大规模数据集,实现复杂的业务逻辑。

Java在企业应用开发中的应用

企业应用开发中,Java提供了强大的框架和工具,使得开发者能够构建高度安全、可扩展的企业级应用程序。以下是一些Java在企业应用开发中的主要应用:

  • Java EE(Enterprise Edition):提供了一套标准的API和组件模型,用于企业级应用的开发,包括Web服务、持久化、安全等方面。
  • JavaServer Faces (JSF):一个强大的Web应用框架,提供了丰富的UI组件和事件处理模型。
  • Java Message Service (JMS):提供异步消息传递服务,支持企业应用之间的通信。
  • Java Transaction API (JTA):一个企业级Java API,用于管理事务。
  • Java Database Connectivity (JDBC):用于数据库访问的API。

这些技术和框架使得企业级应用开发更加高效和可靠,从而提高了系统的整体性能和可用性。

如何选择适合自己的JAVA项目

选择适合自己的Java项目时,需要注意以下几点:

  1. 兴趣与激情:选择你感兴趣的项目,保持动力和激情。
  2. 市场需求:选择有市场需求的项目,确保项目能够成功吸引用户。
  3. 技术栈:根据自己的技术栈选择项目。例如,如果你擅长Web开发,可以选择开发一个Web应用。
  4. 项目的可行性:确保项目具有可行性,能够实际开发和部署。
  5. 团队合作:考虑是否需要团队合作,选择适合个人或团队的项目。
  6. 资源:评估完成项目所需的时间、资金和技术资源。
  7. 学习机会:选择能够帮助学习和提升技能的项目。
  8. 风险评估:评估项目的风险和不确定性。

通过综合考虑这些因素,可以更好地选择适合自己的Java项目,从而提高创业成功率。

创业资源与社区
JAVA相关的在线课程与书籍推荐

学习Java可以通过多种资源进行,以下是几门推荐的在线课程:

这些在线课程能够帮助你从基础到高级全面掌握Java编程。

书籍推荐

  • 《Effective Java》:由Joshua Bloch撰写,提供了编写高质量Java代码的建议和最佳实践。
  • 《Java核心技术》:由Cay Horstmann和Gary Cornell编写,全面介绍了Java的核心技术和高级特性。
  • 《Java编程思想》:由Bruce Eckel撰写,深入探讨了Java编程的基本概念和技术。

开源社区与论坛

开源社区

参与开源项目可以提高自身的编程技能,获得同行的认可。以下是一些知名的Java开源社区:

论坛

加入活跃的论坛可以更直接地与开发者交流,获取技术支持和经验分享。以下是一些Java相关的在线论坛:

这些社区和论坛提供了丰富的资源和信息,对于初学者和有经验的开发者都非常有帮助。

加入JAVA创业社区的方法

社区活动

  1. 参加线下活动:加入当地的编程俱乐部或参加技术会议,例如Java开发者大会。
  2. 在线社区:加入在线开发者社区,如Stack Overflow、Reddit等。
  3. 行业交流:加入行业相关的论坛和邮件列表,与其他开发者交流。
  4. 社交媒体:关注技术博客、YouTube频道、Twitter等社交媒体上的Java开发者。

加入方法

  1. 注册账号:注册并登录到社区网站或论坛。
  2. 参与讨论:积极回答问题,分享自己的经验和见解。
  3. 提交项目:将你的项目提交到GitHub等开源平台,吸引其他开发者的注意。
  4. 建立联系:通过加入邮件列表、参加技术聚会等方式,与社区成员建立联系。
  5. 提供帮助:帮助其他开发者解决问题。
  6. 持续贡献:持续参与社区活动,贡献代码和知识。

通过这些方法,你可以逐渐融入Java创业社区,获得更多的机会和支持。

常见问题解答与进阶方向
常见问题解答

Java是否适合初学者学习?

Java语言因其简单易学、易于阅读和理解的特点,非常适合初学者学习。Java提供了大量的学习资源和社区支持,帮助初学者快速掌握编程技巧。

Java和JavaScript有什么区别?

Java和JavaScript虽然名字相似,但它们是两种完全不同的编程语言。Java是一种面向对象的编程语言,主要用于开发企业级应用和安卓应用。JavaScript是一种脚本语言,主要用于Web前端开发。

Java代码是否可以在任何操作系统上运行?

由于Java虚拟机(JVM)的存在,Java代码可以在任何安装了JVM的操作系统上运行。这使得Java具有很好的跨平台特性。

Java程序员的就业前景如何?

Java程序员在IT行业中拥有良好的就业前景,许多公司都使用Java技术进行开发。Java程序员的职位包括软件开发工程师、安卓开发者、系统分析师等。

Java与Python的区别?

Java和Python都是流行的编程语言,但它们在设计目标和使用场景上有很大区别。Python语法简洁,适合快速开发,而Java则更适合大型企业级应用开发。

进阶学习方向与资源推荐

进阶学习方向

  1. 深入学习Java核心API:深入理解Java标准库提供的各种工具和类。
  2. 学习设计模式:掌握面向对象设计模式,提高代码的可维护性和可扩展性。
  3. 企业级应用开发:学习Java EE、Spring、Hibernate等框架,掌握企业级应用开发。
  4. 性能调优:学习如何优化Java应用的性能,包括内存管理、垃圾回收等。
  5. 并发编程:掌握多线程和并发编程,解决高并发问题。
  6. 分布式系统:学习分布式系统的设计和实现,掌握微服务架构。
  7. 大数据处理:学习Java在Hadoop、Spark等大数据框架中的应用。
  8. 移动应用开发:学习Android开发,掌握Java在移动应用中的应用。

资源推荐

  • 官方文档:Java官方文档是学习Java的权威资料,提供了详细的API说明和教程。
  • 在线课程:如慕课网、Coursera、Udemy等平台提供了丰富的Java课程。
  • 书籍:推荐《Effective Java》、《Java核心技术》、《Java编程思想》等经典教材。
  • 开源项目:参与GitHub等平台上的开源项目,实际动手练习。
  • 论坛和社区:加入Stack Overflow、Reddit等社区,与其他开发者交流。
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消