Skip to content

Java_Basic 开发文档

Java 第一个程序

java
public class Main {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
  • 这个就是我们的第一个小的 java 程序吧,主要的话就是一个 Hello World 的案例吧
  • 我们的一个 java 程序的话主要的的话是需要进行编译的
    • javac fileName.java ---> fileName.class
    • java fileName ---> 这个就是实现的的是运行我们的可执行的二进制的程序吧
  • 一个是我们的编译工具,一个是我们的运行工具吧
  • 主要的话还是实现的使用我们的 jvm 实现的运行原理吧

Java 中的基础数据类型

  • 整型
    • byte 字节类型 1字节
    • short 短整型 2字节
    • int 整型 4字节
    • long 长整型 8字节
  • 浮点型
    • float 浮点型 4字节
    • double 双精度浮点型 8字节
  • 字符型
    • char 字符型 1字节
    • 一个字符串型的字符型的话,占用的空间是 2 字节
    • 'a' -- 1字节 | "a" -- 2字节
  • 布尔类型
    • boolean 布尔类型,常用于我们的逻辑判断吧
java
public class Main {
  public static void main(String[] args) {
    // 开始实现定义我们的数据类型
    // 整型数据类型
    byte myByte = 127;
    short myShort = 32767;
    int myInt = 2147483647;
    long myLong = 9223372036854775807L;
    System.out.println(myByte, myShort, myInt, myLong);
    
    // 浮点型
    float myFloat = 3.1415926F;
    double myDouble = 3.1415926;
    System.out.println(myFloat, myDouble);
    
    // 字符型
    char myChar = 'a';
    System.out.println(myChar);
    
    // 布尔类型
    boolean myBoolean = true;
    System.out.println(myBoolean);
  }
}

Java 流程控制语句

  • 流程控制语句就是我们的程序中需要实现的一些逻辑判断的语句
    • if 判断
    • else 语句
    • switch 语句

Java Scanner 工具的使用

  • Scanner 工具就是一个我们的用来确定用户输出的一个语句
    • 首先我们的一个 java 程序的话,主要的就是使用的是我们的先创建实例
    • 然后实现调用内部的 api 即可
    • 该工具类属于我们的工具类中的呐
java
import java.utils.Scanner;

public class Main {
    public static void main(String[] args) {
        // 创建出实例
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("请输入你的名字");
        String name = scanner.nextLine();
        System.out.println("请输入你的年龄");
        int age = scanner.nextInt();
        System.out.println("请输入你的性别");
        char sex = scanner.next().charAt(0);
        System.out.println("请输入你的身高");
        double height = scanner.nextDouble();
        System.out.println("请输入你的体重");
        double weight = scanner.nextDouble();
        System.out.println(name, age, sex, height, weight);
    }    
}

Java 中的数组

  • 数组的定义方式
  • 二维数据的定义
java
public class Main {
  // 一位数组的定义形式: data_type[] array_name[] = new data_type[array_size];
  public static void main(String[] args) {
    // 开始实现定义我们的数组
    int[] arr_int = new int[10];
    for (int i = 0; i < arr_int.length; i++) {
      arr_int[i] = i;
    }
    
    int[] arr_int02 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    for (int i = 0; i < arr_int02.length; i++) {
      System.out.println(arr_int02[i]);
    }
    
    int[][] arr_int03 = new int[3][3];
    for (int i = 0; i < arr_int03.length; i++) {
      for (int j = 0; j < arr_int03[i].length; j++) {
        arr_int03[i][j] = i * j;
      }
    }
  }
}

Java Swing 组件

  • 该组件主要是用来实现的是绘制一些移动端界面的api 工具
  • 该组件主要使用的是 javax.swing 包下的一些组件
    • 主要包含的组件含有我们的
      • JLabel 标签组件
      • JButton 按钮组件
      • JTextField 文本框组件
      • JTextArea 文本域组件
      • JCheckBox 复选框组件
      • JRadioButton 单选框组件
      • JComboBox 下拉框组件
      • JList 列表组件
      • JScrollPane 滚动条组件
      • JPanel 面板组件
      • JFrame 窗口组件
    • toolkit 工具的集成
      • 该工具就是实现的是对我们的获取屏幕的 width 和 height
    • 布局设置
      • 可以使用我们的今典的边框布局: BorderLayout
      • 还可以使用我们的网格布局格式: GridLayout
    • 实现绘制我们的移动端界面的方法
      • 首先先创建我们的界面
      • 然后生成一个一个的画板
      • 在画板上面布置我们的画布
      • 最后就是实现我们的绘制方法
      • 最后就是实现的是我们的向视图中添加对应的事件即可
  • 主要使用到的依赖包含有
    • java.awt.*
      • 主要实现的是提供给我们对应的事件的
    • java.swing.*
      • 主要的是为我们提供对应的组件进行使用的呐
java
package com.item.view;

import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

// 开始实现构建我们的画布
public class MyView extends JFrame {
    public MyView() {
        // 开始实现获取屏幕宽度和高度
        int width = 800;
        int height = 600;
        int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;
        int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;
        int centerWidth = (screenWidth - width) / 2;
        int centerHeight = (screenHeight - height) / 2;


        // 开始实现获取图片资源
        Image iocImg = Toolkit.getDefaultToolkit().getImage("images/img.png");
        // 设置窗口标题
        this.setTitle("欢迎Swing-Demo案例");
        // 设置窗口显示位置
        // 设置窗口大小
        // x 是横坐标,y 是纵坐标
        // width 宽度,height 高度
        this.setBounds(centerWidth, centerHeight, width, height);
        // 设置方位布局
        this.setLayout(new BorderLayout());


        // 创建画布和创建 swing 组件
        JLabel label = new JLabel("服务端界面");
        Font font = new Font("楷体", Font.BOLD, 20);
        label.setFont(font);
        label.setForeground(Color.RED);
        JPanel jp1 = new JPanel();
        jp1.setBackground(Color.GRAY);
        jp1.add(label);


        JTextArea textArea = new JTextArea(25, 25);
        Font tfont = new Font("微软雅黑", Font.BOLD, 20);
        textArea.setFont(tfont);
        textArea.setForeground(Color.blue);
        textArea.setBackground(Color.PINK);
        textArea.setEditable(false);
        JScrollPane jp2 = new JScrollPane(textArea);  // 滚动条面板
        jp2.setBackground(Color.pink);
        jp2.setHorizontalScrollBar(null);


        JTextField textField = new JTextField(25);
        JButton button = new JButton("OK");
        button.setForeground(Color.black);
        button.setBackground(Color.white);
        StringBuilder sb = new StringBuilder();
        button.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                super.mouseClicked(e);
                System.out.println("用户进行了点击");
                // 开始获取元素输入框的内容
                String content ="juwenzhang: " + textField.getText().trim() + "\n";
                sb.append(content);
                textArea.setText(sb.toString());
                textField.setText("");
            }
        });
        JPanel jp3 = new JPanel();
        jp3.setBackground(Color.GRAY);
        jp3.add(textField);
        jp3.add(button);


        // 开始实现贴纸于画板上,并且指定其在布局中的什么位置
        this.add(jp1, BorderLayout.NORTH);
        this.add(jp2, BorderLayout.CENTER);
        this.add(jp3, BorderLayout.SOUTH);


        // 设置界面图标
        this.setIconImage(iocImg);
        // 设置窗口可见
        this.setVisible(true);
        // 设置关闭窗口默认事件,关闭窗口的时候关闭资源
        this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    }
}

Java 中的其他重要数据类型

  • collection 包
    • ArrayList
    • LinkedList
    • Vector
    • Stack
    • HashMap
    • TreeMap
    • HashSet
    • TreeSet
    • EnumMap
    • EnumSet
    • ConcurrentHashMap
    • ConcurrentLinkedQueue
    • ConcurrentLinkedDeque
    • LinkedHashMap
    • LinkedHashSet
    • WeakHashMap
    • IdentityHashMap
  • 这些数据类型都是可以使用的呐,只是一些 api 调用即可

Java_Web 的开始

  • 就是一个我们的当代的网络的开发的框架吧
  • JDBC 的准备 + Mysql 操作的准备 + http 的准备

maven 工具的集成

  • maven 是一个我们的一个java 的包管理工具吧
    • 用来实现的是我们的统一的管理我们的项目的一个工具吧
  • 以前的开发模式是在我们的项目中进行创建 lib 里面引入我们的 jar 包实现的开发
  • 但是我们的 maven 就是实现的是使用我们的配置实现的管理项目的操作了
  • 对于我们的大型项目的话就是实现的是使用我们的统一管理吧
  • maven 为我们实现了一个统一的开发的目录,实现了开发的统一性吧
  • 后期实现我们的导入其他的 maven 的项目,主要的就是导入对应的 pom.xml 即可
    • 方式很多种,但是最终还是想尽办法实现导入 pom.xml 为最终的实现目的吧

maven 的安装使用

  • https://maven.apache.org/
    • 方便的依赖管理
    • 标准化的项目管理
    • 统一的项目目录划分
    • maven 实现的是使用我们的插件化开发的
  • pom.xml --> 项目对象模型pom --> 项目依赖管理模型
    • 依赖包的查找流程
      • 本地仓库 --》 私服 --》 中央仓库
  • 流程
    • 解压 apache-maven
    • 配置本地仓库: conf/settings.yml localRepository
    • 配置镜像源: 使用阿里的私服镜像源
    • 配置环境变量 MAVEN_PATH 和 %MAVEN_PATH%\bin\
xml
<localRepository>E:\maven\apache-maven-3.9.9\maven_local_repo</localRepository>
xml
<mirror>
  <id>aliyun-maven</id>
  <mirrorOf>central</mirrorOf>
  <url>https://maven.aliyun.com/repository/public</url>
  <blocked>false</blocked>
</mirror>

idea 的配置

  • 首先实现的是在我们的全局配置中修改我们的 buildTool 构建工具吧
  • 然后就是修改我们的 maven 的配置
  • java compiler --> 也是需要进行修改的
  • runner 同样进行修改吧
  • 最后我们使用 idea 创建的项目就可以使用我们的 maven 进行创建了

maven 坐标

  • groupId 定义的是当前的maven 项目隶属的组织名称(域名反写即可 com.juwenzhang)
  • artifactId 定义的是当前的maven 项目的名称(包名)
  • version 定义的是当前的maven 项目的版本号(版本号)
    • SNAPSHOT 快照版本,项目处于我们的快照版本,还不稳定
    • RELEASE 正式版本,项目处于我们的正式版本,趋于稳定,因为后面可能还会更新和维护吧

maven 中的依赖管理

  • 就是我们的一个项目中实现使用的我们的 java 依赖包吧
    • pom.xml 配置 dependencies 配置多个 dependency 的依赖即可
      • 任然需要配置的是我们的三个字段吧
        • groupId
        • artifactId
        • version
      • 依赖官网: https://mvnrepository.com/ 直接进行搜索配置即可
xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.example</groupId>
        <artifactId>java_web_practice</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <groupId>com.juwenzhang</groupId>
    <artifactId>java_web_module01</artifactId>

    <properties>
        <maven.compiler.source>22</maven.compiler.source>
        <maven.compiler.target>22</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <!-- 依赖项的配置 -->
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>6.1.4</version>

            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-context</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
</project>

maven 的生命周期

  • maven 的生命周期就是我们的一个项目创建的时候,会按照我们的生命周期进行创建我们的项目
    • clean 清理我们的项目
    • install 安装我们的项目
    • package 打包我们的项目
    • test 测试我们的项目
    • validate 验证我们的项目
    • compile 编译我们的项目
    • test-compile 编译我们的测试项目

现在的开发模式

  • 静态资源: 服务端上存储不会改变的数据,就是前端书写的一些东西吧
  • 动态资源: 服务端上存储会改变的数据,就是前端书写的一些东西吧,spring
  • B/S 架构: 浏览器和服务器进行交互,浏览器进行请求,服务器进行响应
  • C/S 架构: 客户端和服务器进行交互,客户端进行请求,服务器进行响应,开发维护极其困难吧

Released under the MIT License.