2023年之我拿起“java“

持续更新中…………

文章目录

java

java基础

java是一门面向对象的语言

了解 j a v a 的语法,从 H e l l o W o r l d 开始 \color{red}{了解java的语法,从HelloWorld开始} 了解java的语法,从HelloWorld开始

//此处写类体
public class Test {//此处是主函数public static void main(String[] args) {//输出语句System.out.println("HelloWorld");}
}

j a v a 语言的注释 \color{red}{java语言的注释} java语言的注释

单行注释 //

//这是单行注释

多行注释 /* */

注意:多行注释本可以嵌套使用

/*
这是多行注释
*/

一个类中的 p u b l i c c l a s s 和 c l a s s 的区别 \color{red}{一个类中的public class 和 class的区别} 一个类中的publicclassclass的区别

  1. 一个 java 源文件中可以定义多个 class。
  2. 一个 java 源文件中 public 的 class 不是必须的。
  3.一个 class 会定义生成一个class字节码文件。
  4.一个 java 源文件中定义公开的类的话,只能有一个,并且该类名必须和 java 源文件名称一致。
  5.每一个 class 当中都可以设定程序的入口。

j a v a 中的标识符 \color{red}{java中的标识符} java中的标识符

什么是标识符

  1.在 Java 源文件中凡是程序员有权利自己命名的单词都是标识符。

标识符可以标识什么元素

  1.类名
  2.方法名
  3.变量名
  4.接口名
  5.常量名

这些名称我们在下面的知识中会介绍到的。

标识符的命名规则

  1.一个合法的标识符只能由 数字、下划线、字母、美元符号组成,无其他符号。
  2.不能数字开头。
  3.严格区分大小写.
  4.关键字不能做标识符.
5.理论上不能太长,但是 java 无长度限制。

标识符的命名规范

  1.最好见名知意。
  2.遵守驼峰命名方式。
    例如:UserService;SystemService;
  3.类名、接口名:首字母大写,后面每个单词首字母大写。
  4.变量名、方法名:首字母小写,后面每个单词首字母大写。
  5.变量名:全部大写。

j a v a 中的关键字 \color{red}{java中的关键字} java中的关键字

  关键字在 java 语言中全部小写。
    例如:int, double.

j a v a 中的字面值 \color{red}{java中的字面值} java中的字面值

  字面值就是数据。
    例如:10.00;“abc”;‘a’;

j a v a 中的变量 \color{red}{java中的变量} java中的变量

什么是变量

  1.变量本质上来说是内存中的一块空间,这快空间有数据类型、有名字、有面值。
  2.变量包含三部分:数据类型、名称、字面值【数据】。
  3.变量是内存中存储数据的结构的最基本单元。

数据类型的作用

  1.不同的数据类型有不同的类型,不同的数据类型底层分配不同的大小空间。
  2.数据类型是指导程序运行阶段应该分配多大的内存空间。

变量的要求

  1.数据与数据类型一致。

声明格式

  1.数据类型 变量名;
    例如:int a = 10;

什么是作用域

  1.变量出了大括号就消失了

变量的分类

  1.局部变量:在方法体中声明的变量叫局部变量。
  2.成员变量:在方法体外【类体之内】声明的变量叫成员变量。
  3.java遵循就近原则。
类体中不能直接编写 Java 语句【除声明变量之外】。

数据类型 \color{red}{数据类型} 数据类型

数据类型的主要作用

  1.数据类型的主要作用是指导JVM(java 虚拟机)在运行程序的时候给该数据分配多大的空间。

基本数据类型

  1.基本数据类型包括四大类八大种。

整数型

b y t e ( 1 ) , s h o r t ( 2 ) , i n t ( 4 ) , l o n g ( 8 ) \color{red}{byte(1),short(2),int(4),long(8)} byte(1),short(2),int(4),long(8)

浮点型

f l o a t ( 4 ) , d o u b l e ( 8 ) \color{red}{float(4),double(8)} float(4),double(8)

布尔型

b o o l e a n ( 1 ) \color{red}{boolean(1)} boolean(1) 只有true,false两种值。

字符型

c h a r ( 2 ) \color{red}{char(2)} char(2) 取值范围 0 - 65535

引用数据类型

  1.类。
  2.接口。
  3.数组。
  等等……

基本数据类型之间的相互转换

  1.八种数据类型除了 布尔值 之外,剩下的7种数据类型之间都可以相互转换。
  2.小容量向大容量转化,称为自动类型转换,容量从小到大的排序。

b y t e < s h o r t ( c h a r ) < i n t < l o n g < f l o a t < d o u b l e \color{red}{byte<short(char)<int<long<float<double} byte<short(char)<int<long<float<double

任何浮点型不管占用多少个字节,都比整数型容量大。
char 和 short 可表示的种类相同,但是char 可以取更加大的整数。
  3.大容量转化为小容量,叫做强制类型转换,需要加强制类型转换符,程序才能通过编译,但在运行阶段可能损失精度,所以谨慎使用。
  4.当整数字面值没有超出 byte,short,char的取值范围,可以直接赋值给 byte,short,char 类型的变量。
  5.byte,short,char混合运算的时候,先各自转化成 int 类型在做运算。
  6.多种数据类型混合运算,先转换成容量最大的那种类型在做运算。
  7.关系运算符的结果一定是布尔类型:true\flase。
  8.byte和short 不能直接转换成char类型。

消化一下知识在接着往下看吧!!! \color{red}{消化一下知识在接着往下看吧!!!} 消化一下知识在接着往下看吧!!!

键盘录入 \color{red}{键盘录入} 键盘录入

关键字 Scanner

需要使用关键字了,不同数据类型的录入,代码也会有些许差异。

//导包
import java.util.Scanner;//此处写类体
public class Test {//此处是主函数public static void main(String[] args) {// 创建对象 需要使用关键字 Scanner Scanner sc = new Scanner(System.in);System.out.println("请输入数据");//这里我们录入 int 类型的数据int result =sc.nextInt();//打印我们录入的数据System.out.println("你录入的数据式:"+result);//这里的 "+" 用于字符串的拼接}
}

分析以上代码:键盘录入的步骤
  1.导包

import java.util.Scanner;

  2.创建对象

 Scanner sc = new Scanner(System.in);

  3.接受数据

int result =sc.nextInt();

接受不同的数据,只需要修改步骤三 接受数据这一步

//接受byte类型的数据byte num = sc.nextByte();//接受short类型的数据
short num1 = sc.nextShort();//接受int类型的数据
int num2 = sc.nextInt();
//接受long类型的数据
long num3 = sc.nextLong();
//接受float类型的数据
float num4 = sc.nextFloat();
//接受double类型的数据
double num5 = sc.nextDouble();
//接受String类型的数据
String num6 = sc.next();

生成随机数 \color{red}{生成随机数} 生成随机数

需要使用关键字,生成不同的数据类型的数据,代码也会有所差异

//导包
import java.util.Random;
//此处写类体
public class Test {//此处是主函数public static void main(String[] args) {//创建对象需要使用Random关键字Random random = new Random();//创建整数类型随机数int result = random.nextInt();}
}

分析以上代码:键盘录入的步骤
  1.导包

import java.util.Random;

  2.创建对象

Random random = new Random();

  3.接受数据

int result = random.nextInt();

创建不同的数据,只需要修改步骤三 接受数据这一步

具体方法参考上面Scanner的方法。

随机数扩展

生成区间的随机数:【最小值,最大值】

//导包
import java.util.Random;//此处写类体
public class Test {//此处是主函数public static void main(String[] args) {//创建对象需要使用Random关键字Random random = new Random();//创建0 -10 的整数类型  [0,11)int result = random.nextInt(11);}
}

循环 \color{red}{循环} 循环

for 循环

带索引的for循环

int n = 10;
for(int i = 0; i < n; i++){System.out.println(i);
}
快速结束嵌套循环
//外层循环起名 out
out:
for (int i = 0; i < 10; i++) {//内存循环起名 inin:for (int j = 0; j < 10; j++) {//当j等于5时,结束外层循环if(j==5){break out;}}
}

增强for循环

//ArrayList集合 这里不需要了解,我们重点看for循环
ArrayList<String> list  = new ArrayList<>()
for(String s : list){System.out.println(s);
}

while循环

//括号里面放boolean类型的值
while(true){System.out.println("这里是while循环");
}

do while循环

特点:循环至少循环一次

do{System.out.println("这里是do while循环");
}while(true)
//括号里面放boolean类型的值 

j a v a 的 M a t h 包 \color{red}{java的Math包} javaMath

  1.导入包

import static java.lang.Math.*;

  2.列举几个常用方法

~求绝对值

int num = 10;
int result = Math.abs(num);

~求开方

double = 3.0;
double result = Math.sqrt(num);

等等等,还有很多方法,这里我们不一一列举。

一维数组 \color{red}{一维数组} 一维数组

定义

  数组是一个容器用来储存相同数据类型数据的容器。

格式

数据类型[] 数组名;
int[] arr;

数组初始化

数组动态初始化

格式
数据类型[] 数组名 = new 数据类型[长度];
int[] arr = new int[3];

动态数组初始化取值

数组数据类型 变量名 = 数组名[索引];
int a = arr[0];

索引就是数组中每个初始化空间的编号。

静态数组初始化取值

数据类型[] 数组名 = new 数据类型[]{……};
int [] arr = new int[]{1,2,3,4,5,6,7,8,9};数据类型[] 数组名 = {……};
int[] arr = {1,2,3,4,5,6,7,8,9};

数组求长度

数组名.length;
int len = arr.length;

数组遍历

int[] arr = new int[10];
for (int i = 0; i < arr.length; i++) {int result1 = arr[i];System.out.println("这是遍历数组");
}

查看数组

System.out.println(Arrays.toString(arr));

二维数组 \color{red}{二维数组} 二维数组

二维数组动态初始化

数据类型 [][] 变量名 = new 数据类型 [m][n];

二维数组遍历

int[][] arr1 = new int[3][4]; //3行4列的二维数组
for (int i = 0; i < arr1.length; i++) {for (int j = 0; j < arr1[i].length; j++) {System.out.println("这是二维数组的遍历");}
}

数组中不同数据类型的默认值

  1.整数数据类型
byte,short,int,long默认值为0

  2.浮点数据类型
float,double 默认值0.0

  3.char数据类型
char 默认值 \u0000

  4.boolean数据类型
boolean默认值false

  5.引用数据类型
String 默认值时null

升序排序的数组函数

Arrays.sort(arr);

冒泡排序 \color{red}{冒泡排序} 冒泡排序

int[] arr = {4,2,5,1,3};
//排序只需要排序 总长度减1次
for (int i = 0; i < arr.length-1; i++) {//每次排序都会确定一个数据的位置for (int j = 0; j < arr.length-1-i; j++) {if(arr[j]>arr[j+1]){//创建一个中间遍历 tmp进行交换两个数据int tmp=arr[j];arr[j]=arr[j+1];arr[j+1]=tmp;}}
}

初识方法 \color{red}{初识方法} 初识方法

概述

  1.方法就是解决问题的方法。

  2.编程中的方法,具有特定功能的代码快。

特点

  1.方法和方法之间时平行关系,不能嵌套定义。

  2.方法定义后不会自己执行,需要调用后才能执行。

  3.方法定义的先后顺序和方法执行的顺序无关,和方法调用的顺序有关,谁先调用,谁先执行。

这里我们浅做了解,具体在后面的学习中理解强化。

初识类和对象 \color{red}{初识类和对象} 初识类和对象

面向对象和面向过程的思想对比

  1.面向过程:是一种以过程为中心的编程思想,实现功能的每一步,都是自己实现的。

  2.面向对象:是一种以对象为中心的编程思想,通过指挥对象实现具体的功能。

对象:指的是客观存在的食物,万物皆对象。

什么是类

  1.类是对现实生活中一类具有共同属性的行为的事物的抽象。

  2.类是事物,也就是对象的一种描述,可以将类理解为一张设计图,根据设计图,可以创造除具体存在的事物。

类的组成

  1.属性:该事物的各种特征。
在类中通过成员变量来体现。(类中方法外的变量)。

  2.行为:该事物存在的功能(能够做的事情)。
在类中通过成员方法来体现(和前面的方法想比较去掉static关键字就可以)。

类和对象的关系

  1.类:类是对现实生活中一类具有共同属性和行为的事物的抽象。

  2.对象:是能够看得到摸得到的真实存在的实体。

类是对象的描述。
对象是类的实体。

类的定义

public class 类名{成员变量成员方法
}
public class Student{//成员变量String name;int age;//成员方法 行为public void study(){System.out.println("这是成员方法");}
}

创建对象

类名 对象名 = new 类名();Student stu = new Student();

使用方法

对象名.变量名
stu.name;
//此处写类体
public class Test {//此处是主函数public static void main(String[] args) {Student stu = new Student();stu.age = 18;stu.name = "张三";stu.study();}
}

消化一下知识在接着往下看吧!!! \color{red}{消化一下知识在接着往下看吧!!!} 消化一下知识在接着往下看吧!!!

构造方法 \color{red}{构造方法} 构造方法

  作用:用来创建对象和new 一起。

格式:

无参构造:

public 类名(){
}public Price(){System.out.println("无参构造方法被调用");
}

有参构造:

public 类名(参数列表){………………
}public Price(String brand){this.brand = brand;System.out.println("有参构造方法被调用 brand");
}

特点

  1.如果本类中没有构造方法,JVM会默认提供一个无参的构造方法。

  2.构造方法可以重载。

  3.构造方法没有返回值,不能使用void。

  4.构造方法没有return关键字,可以写,但是没必要。

标准类的编写

  1.成员变量私有化,得到getXxx 和 setXxx方法。

  2.提供空参满参的构造方法。

成员变量和局部变量的区别 \color{red}{成员变量和局部变量的区别} 成员变量和局部变量的区别

代码中的位置

  1.成员变量:类中方法外。

  2.局部变量:在方法的声明上,或者方法内部。

在内存中的位置

  1.成员变量:在堆中。

  2.局部变量:在栈中。

生命周期不一样

  1.成员变量:随着对象的创建而存在,随着对象的消失而消失。

  2.局部变量:随着方法的调用而存在,随着方法的弹栈而消失。

初始化值

  1.成员变量:有默认值。
默认值在上面的知识点中提到过。

  2.局部变量:没有默认值。

初始引用类型 S t r i n g \color{red}{初始引用类型 String} 初始引用类型String

next和nextLine

next()

==next()==只能录入连续的字符串,这里的连续值没有空格的字符串。
换而言之:当遇到空格或者回车就会结束键盘录入

//创建Scanner对象
Scanner sc = new Scanner(System.in);
//键盘录入
String s = sc.next();
//比如我们想录入 welcome to CSDN//但是实际的s为 welcome

nextLine()

nextLIne() 当遇到回车的时候才会结束键盘录入,遇到空格不会结束键盘录入。

//创建Scanner对象
Scanner sc = new Scanner(System.in);
//键盘录入
String s = sc.nextLine();
//比如我们想录入 welcome to CSDN//但是实际的s为 welcome to CSDN

new String();

传输byte类型的数组

byte[] arr = {65,66,67,68,69};
String s = new String(arr);
System.out.println(s);
//打印结果ABCDE

分析一下代码,为什么传输进去的整数类型,但是打印的ABCDE呢?

其实是将整数类型转化为ASCLL值打印输出。

传输byte类型的数组,索引,长度

byte[] arr = {65,66,67,68,69};
String s1 = new String(arr,    1,   3);
//                     数组  索引  长度
//打印结果 BCD

代码含义,将数组arr从 1 索引开始,向后数 3 个长度,交给字符串S1。

传输 char类型的数组

char[] chars = {'a','b','c','d','e','f'};
String s = new String(chars);
System.out.println(s);
// 打印结果 abcdef

将字符数组转化成字符串。

传输 char类型的数组,索引,长度

char[] chars = {'a','b','c','d','e','f'};
String s = new String(chars,    1,   3);
//                    数组  索引  长度
System.out.println(s);
//打印结果bcd

String类型对应同一字符串,是否相等

String name1 = "张三";
String name2 = "张三";
//true

值创建后不能更改,是对象的话,一般放在堆内存中,这就意味者地址值是相等的,比较的是同一快内存地址,所以相等。

String name1 = new String("张三");
String name2 = new String("张三");
//false

在这里“张三”的地址值是一样的,但是这里new 的对象,但是“张三”重复了,为了节省内存,new的对象指向了“张三”。但是这里比较的是new的地址,地址内存不一样。

创建空的字符串

String s = "";String s1 = new string();//s和s1都是空的字符串。

字节码 \color{red}{字节码} 字节码

关键:getBytes();

String name = "张三";byte[] arr = name.getBytes();System.out.println(Arrays.toString(arr));//打印的字节码[-27, -68, -96, -28, -72, -119]

可以使用字节码反推字符串

byte[] arr1 = {-27, -68, -96, -28, -72, -119};
//这里我们运用上面介绍的知识
String name1 = new String(arr1);
System.out.println(name1);
//打印的结果为 张三

字符串常用方法 \color{red}{字符串常用方法} 字符串常用方法

equals

查看字符串是否相等.返回值是boolean类型的数据

String s1 = "abc";
String s2 = "abc";
if(s1.equals(s2)){System.out.println("相等");
}else{System.out.println("不相等");
}//打印的结果 相等

因为s1s2相等,所以s1.equals(s2) 结果为true。

charAt

返回指定索引处的值。返回值是char类型的数据。

String s = "abcdef";
char ch = s.charAt(1);
System.out.println(ch);
//打印结果 b

字符串s 1索引的值为 b

endWith

测试字符串是否以指定后缀结尾,返回值是boolean类型的数据

String s = "2023年01月16日";
//判断字符串是否以 日 结尾
boolean result = s.endsWith("日");
System.out.println(result);
//打印结果 true

startWith

测试字符串是否以指定前缀开头,返回值是boolean类型的数据

String s = "2023年01月16日";
//判断字符串是否以 2023 开头
boolean result = s.startsWith("2023");
System.out.println(result);
//打印结果 true

isEmpty

判断字符串是否为空,返回值是boolean类型的数据

//空的字符串
String s = new String();
boolean result = s.isEmpty();
System.out.println(result);
//打印结果为true

length()

求字符串长度,返回值是int类型的数据

String s = "abcdef";
int len = s.length();
System.out.println(len);
//打印结果为 6

replace

指定字符串的替代,返回值是String类型的数据。

String s = "你真是TMD";
String result = s.replace("TMD","***");
//                        替换   被替换
System.out.println(result);
//打印结果 你真是***//将TMD替换为***

java基础进阶

MYSQL

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/37970.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue3.2+TS的defineExpose的应用

defineExpose通俗来讲&#xff0c;其实就是讲子组件的方法或者数据&#xff0c;暴露给父组件进行使用&#xff0c;这样对组件的封装使用&#xff0c;有很大的帮助&#xff0c;那么defineExpose应该如何使用&#xff0c;下面我来用一些实际的代码&#xff0c;带大家快速学会defi…

VSCode 报错 grep: /proc/version: 权限不够

部分用户在Linux上运行VSCode提示grep: /proc/version: 权限不够 grep: /proc/version: 权限不够 You are trying to start Visual Studio Code as a super user which isn’t recommended. If this was intended, please add the argument --no-sandbox and specify an alter…

GPT带我学-设计模式-命令模式

1 你知道设计模式的命令模式吗 是的&#xff0c;我知道设计模式中的命令模式。命令模式是一种行为型设计模式&#xff0c;它将请求封装成一个对象&#xff0c;从而允许使用不同的请求、队列或日志来参数化其他对象。命令模式还支持撤销操作&#xff0c;并且可以提供事务的实现…

探讨uniapp的网络通信问题

uni-app 中有很多原生的 API&#xff0c;其中我们经常会用到的肯定有&#xff1a;uni.request(OBJECT) method 有效值 注意&#xff1a;method有效值必须大写&#xff0c;每个平台支持的method有效值不同&#xff0c;详细见下表。 success 返回参数说明 data 数据说明 最终…

气液固三相线识别—Langmuir部分复现

关注 M r . m a t e r i a l , \color{Violet} \rm Mr.material\ , Mr.material

c#和pdf.js实现分片预览pdf

源码如下&#xff1a; /// <summary>/// 文件处理/// </summary>[RoutePrefix("api/fs")]public class FileStoreController : ApiController{/// <summary>/// 文件预览/// </summary>/// <param name"filepath">文件路径…

【数据结构OJ题】移除链表元素

原题链接&#xff1a;https://leetcode.cn/problems/remove-linked-list-elements/description/ 1. 题目描述 2. 思路分析 我们可以定义一个结构体指针变量cur&#xff0c;让cur一开始指向头结点&#xff0c;同时定义一个结构体指针prev&#xff0c;令prev初始化为空指针NULL…

基于长短期神经网络LSTM的碳排量预测,基于LSTM的碳排放量预测

目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 基于长短期神经网络LSTM的碳排放量预测 完整代码: 基于长短期神经网络LSTM的碳排放量预测,基于LSTM的碳排放量预测资源-CSDN文库 https://download.csdn.net/download/abc991835105/88184632 效果图 结果分析 展望 参考论文 背…

DIP:《Deep Image Prior》经典文献阅读总结与实现

文章目录 Deep Image Prior1. 方法原理1.1 研究动机1.2 方法 2. 实验验证2.1 去噪2.2 超分辨率2.3 图像修复2.4 消融实验 3. 总结 Deep Image Prior 1. 方法原理 1.1 研究动机 动机 深度神经网络在图像复原和生成领域有非常好的表现一般归功于神经网络学习到了图像的先验信息…

Python解决-力扣002-两数相加

两数相加&#xff1a;链表表示的逆序整数求和 在这篇技术博客中&#xff0c;我们将讨论一个力扣&#xff08;LeetCode&#xff09;上的编程题目&#xff1a;两数相加。这个问题要求我们处理两个非空链表&#xff0c;它们表示两个非负整数。每个链表中的数字都是逆序存储的&…

Redis——String类型详解

概述 Redis中的字符串直接按照二进制的数据存储&#xff0c;不会有任何的编码转换&#xff0c;因此存放什么样&#xff0c;取出来的时候就什么样。而MySQL默认的字符集是拉丁文&#xff0c;如果插入中文就会失败 Redis中的字符串类型不仅可以存放文本数据&#xff0c;还可以存…

通过Python爬虫提升网站搜索排名

目录 怎么使用Python爬虫提升排名 1. 抓取竞争对手数据&#xff1a; 2. 关键词研究&#xff1a; 3. 网页内容优化&#xff1a; 4. 内部链接建设&#xff1a; 5. 外部链接建设&#xff1a; 6. 监测和调整&#xff1a; 需要注意哪些方面 1. 合法性和道德性&#xff1a; …

VB+SQL期刊信息管理系统设计与实现

摘 要 本次毕业设计课题为“期刊信息管理系统”,该系统在正常运营中总是面对大量的读者信息、期刊信息以及两者相互作用产生的借刊信息,还刊信息。因此需要对读者资源、期刊资源、借刊信息、还刊信息进行管理,及时了解各个环节中信息的变更,有利于提高管理效率。 此次毕…

阿里三年功能测试的一些感悟

一、前言 功能测试是测试工程师的基础功&#xff0c;很多人功能测试还做不好&#xff0c;就想去做性能测试、自动化测试。很多人对功能测试的理解就是点点点&#xff0c;如何自己不用心去悟&#xff0c;去研究&#xff0c;那么你的职业生涯也就停留在点点点上了。在这里&#…

Flv格式视频怎么转MP4?视频格式转换方法分享

FLV格式的视频是一种早期的视频格式&#xff0c;不支持更高的分辨率和比特率&#xff0c;这意味着视频的清晰度和质量受限制&#xff0c;无法很好地保留细节和质量&#xff0c;这种格式的视频已经逐渐被更高质量的视频格式所替代&#xff0c;例如MP4格式&#xff0c;不仅具有很…

Java基础(七)排序算法

排序 1. 冒泡排序 >> 冒泡排序的思想 冒泡排序是一种简单的排序算法&#xff0c;其基本思想是通过多次遍历待排序序列&#xff0c;依次比较相邻的元素并交换位置&#xff0c;使得每次遍历后最大&#xff08;或最小&#xff09;的元素冒泡到序列的末尾。具体步骤如下&a…

SpringBoot+Mybatis-Plus实现增删改查超详细步骤

目录 一、介绍 二、前期准备工作 &#xff08;一&#xff09; 创建springboot项目和创建数据库 三、项目配置 &#xff08;一&#xff09;pom.xl导入相关依赖 1.导入依赖 &#xff08;二&#xff09;yml文件中配置连接数据库 2.配置yml文件 四、代码的编写 数据库展…

推断统计(配对样本t检验)

根据题目我们也可以看出配对样本 t 检验是用来检验两配对正态总体的均值是否存在显著差异的一种假设检验方法&#xff0c;虽然是两组数据但是其来自同一部分个体在两个时间段内的测试数据&#xff0c;是同一部份个体&#xff01; 进行配对样本 t 检验之后也是分别做出原假设和备…

【基础学习笔记 enum】TypeScript 中的 enum 枚举类型介绍

因为之前网上查好多博客都是只说最基础的&#xff0c;所以这里记录一下&#xff0c;最基础的放在最后面。 这里重点要记录的是枚举成员的值可以是字符串&#xff08;字符串枚举&#xff0c;因为网上大部分只介绍常数枚举&#xff09;&#xff0c;需要注意的一点是&#xff0c;…