JAVA学习-java基础讲义02

news/2024/4/27 1:59:42/文章来源:https://blog.csdn.net/qq_37974765/article/details/128100784

java基础讲义02

  • 一 进制
    • 1.1 进制介绍
    • 1.2 二进制
    • 1.3 任意进制到十进制转换
    • 1.4 十进制到任意进制之间的转换
    • 1.5 快速转换法
    • 1.6 有符号数据表示法
  • 二 Java变量和数据类型
    • 1.1 变量概述
    • 1.2 数据类型
    • 1.3 变量定义
  • 三 Java数据类型转换
    • 3.1 数据类型转换概述
    • 3.2 数据类型转换之自动类型转换
    • 3.3 数据类型转换之强制转换
  • 四 Java运算符
    • 4.1 运算符概述
    • 4.2 算术运算符
    • 4.3 赋值运算符
    • 4.4 比较运算符
    • 4.5 逻辑运算符
    • 4.6 位运算符
    • 4.7 三目运算符
  • 练习题

一 进制

1.1 进制介绍

进制也就是进位计数制,是人为定义的带进位的计数方法。 对于任何一种进制---X进制,就表示每一位置上
的数运算时都是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,
x进制就是逢x进位。

Java中常量的四种表现形式
二进制的数据表现形式

由0,1组成,以0b开头(jdk7版本开始的,b可大写)。

八进制的数据表现形式

由0,1…7组成,以0开头。

十进制数据表现形式

由0,1…9组成,整数默认是十进制的。

十六进制数据表现形式

由0,1…9,a,b,c,d,e,f(大小写均可)。 以0x开头(x可大写)
public static void main(String[] args){System.out.println(0b10);//二进制 2System.out.println(010);//八进制 8System.out.println(10);//十进制 10System.out.println(0x10);//十六进制 16
}

1.2 二进制

计算机的底层都是二进制(据本人了解,计算机是已补码的形式进行存储数据的)

在计算机中采用二进制数表示各种信息数据,进行运算,主要是因为二进制本身具有一些独特的优点如:
表示简单、运算方便、逻辑简单方便、可靠性高、转换方便。
1 表示方便
二进制只有两个数码0、1,计算机中非常容易表示电子元器件、电子下路、磁芯等物理不见的两种不同的
物理状态表示。如晶体管的导通与截止,电容的充电和放点,开关的接通与断开,电流的有与无,灯的亮与
灭,磁芯磁化极性的不同等两个截然不同的对立状态都可用于表示二进制数。将多个器件排列起来,就可表示
多位二进制数。
如果采用十进制,则需要在硬件上实现十个稳定的物理状态,来表示从 0~9 的 10 个数码,这是非常
困难的。2 运算简单
二进制的运算法则比较简单,如二进制的加法运算法则只有四条: 0+0=0 0+1=1 1+0=1 1+1=
10(逢二进一),而十进制的加法运算法则有100条。另外,二进制数的乘、除法运算只需要通过加法运算和移
位操作就可以完成,这比十进制数的乘、除法运算要简便得多,据此设计的计算机运算器硬件结构大为简化,
也为计算机软件的设计带来很大方便。3 逻辑运算
逻辑代数又称布尔代数,是计算机逻辑电路设计的重要理论工具和二值逻辑运算的理论基础。二进制的两
个数码 0 和 1 正好与逻辑代数中的真(True)和假(False)相对应,所以采用二进制,既便于使用逻辑
代数的方法去设计和简化计算机的各种逻辑电路,也可以在计算机中根据二值逻辑进行逻辑运算。4 可靠性高
二进制数只有 0 和 1 两个基本数码,在存储、传输和处理时不容易出错,可靠性高。5 转换方便
计算机使用二进制,人们习惯于使用十进制。而二进制与十进制间的转换很方便,二进制与八进制、十六
进制的转换也很简单,因此使人与计算机间的信息交流既简便又容易。

如何用0,1表示数据

两种状态位表示数据只能表示四种类型数据:
用1表示开,0表示关,开开(11),关关(00),开关(10),关开(01)。
四种状态位根本不够表达所有的数据(字母、字符、数字等),国际化组织规定用8个状态位来表示一个数据,
单位:一个字节byte(8bit),字节也是计算机中最小的存储单位。

单位:

8bit的二进制表示:00000000
1byte = 8bit(比特位)1字节 
1k = 1024byte 1k
1m = 1024k 1m
1G = 1024m 1G
1T = 1024G 1T

八进制和十六进制

我们看到的所有数据底层都是二进制表示如:图像、视频、文字等,如果未经过转换将看到的是一堆1110101....二
进制数码。
二进制数码随着数据越大状态位会不断增长,表现形式极长不够友好,科学家们基于二进制基础上进行一定规律优化
后得到八进制和十六进制,优化后进制变得越大表现形式会变得越短。

八进制(简单理解:二进制三个为一组计算十进制得到的结果)

将二进制从右往左,3个2进制数码分一组,如果不够用0补齐。计算出每一组2进制数据的10进制结果,再将这几组结
果拼接起来就是8进制。
10010111
010 010 111
----- ----- -----
10进制结果 10进制结果 10进制结果
---------------------------------------
2 2 7
三组10进制结果拼接起来就是8进制
0 227

十六进制(简单理解:二进制四个为一组计算十进制得到的结果)

将二进制从右往左,4个2进制数码分一组,如果不够用0补齐。计算出每一组2进制数据的10进制结果,再将这
几组结果拼接起来就是16进制。
10010111
1001 0111
------- ------
10进制结果 10进制结果
------------------------------------
9 7
两组10进制结果拼接起来就是16进制
0x97

1.3 任意进制到十进制转换

三要素:数位、基数、位权

数位

“数位”是指一个数的每个数字所占的位置。数位顺序表从右端算起,第一位是“个位”,第二位是“十位”,第三
位是“百位”,第四位是“千位”,第五位是“万位”,等等。同一个数字,由于所在的数位不同,它所表示的数值
也就不同。例如,在用阿拉伯数字表示数时,同一个‘6’,放在十位上表示6个十,放在百位上表示6个百,放
在亿位上表示6个亿等等。

基数

基数是指在某种进位计数制中,每个数位上所能使用的数码的个数。
二进制:
二进制两个数码(0,1),基数为2
八进制:
八进制包含8个数码(0,1,2,3,4,5,6,7),基数为8
十进制:
十进制包含10个数码(0~9),基数为10
十六进制:
十六进制包含16个数码(0~9、A~F),基数为16
例:
10进制转换为其他进制,基数为10,2进制转换为其他进制基数为2,其他进制同理。

位权

又称权,数码所在的位置的加权值,可以理解为权重,倍率。
例如:
从右往左,从零开始。二进制第2位的位权为1,第3位的位权为2。
简单的可理解为是对每一个位上的数进行编号,编号是从右往左,从0开始。
二进制:111001
对应权:543210

计算公式

数位的值 * 基数 ^ 权
注:
^表示基数的幂次,幂的次数去却与权的大小。

十进制到十进制的转换

10进制数8848转换为10进制
8848
= 8000 + 800 + 40 + 8
= 8*10^3 + 8*10^2 + 4*10^1 + 8*10^0
= 8000 + 800 + 40 + 8
= 8848
10进制12345转换为10进制
12345
= 10000 + 2000 + 300 + 40 + 5
= 1*10^4 + 2*10^3 + 3*10^2 + 4*10^1 + 5*10^0
= 10000 + 2000 + 300 + 40 + 5
= 12345

二进制到十进制的转换

2进制数0b100转换为10进制
0b100
= 1*2^2 + 0*2^1 + 0*2^0
= 4 + 0 + 0
= 4

八进制到十进制之间的转换

8进制数0100转换为10进制
0100
= 1*8^2 + 0*8^1 + 0*8^0
= 64 + 0 + 0
= 64

十六进制到十进制之间的转换

16进制数值0x100到10进制之间的转换
0x100
= 1*16^2 + 0*16^1 + 0*16^0
= 256 + 0 + 0
= 256

1.4 十进制到任意进制之间的转换

10进制到任意进制之间的转换方式,除以基数取余直到商为0,余数反转。

十进制转为十进制

10进制数8848转换为10进制
8848 除 10 = 884 余 8
884 除 10 = 88 余 4
88 除 10 = 8 余 8
8 除 10 = 0 余 8
-------------------------------
余数反转 = 8848

十进制到二进制之间的转换

10进制数100转换为2进制
100 除 2 = 50 余 0
50 除 2 = 25 余 0
25 除 2 = 12 余 1
12 除 2 = 6 余 0
6 除 2 = 3 余 0
3 除 2 = 1 余 1
1 除 2 = 0 余 1
-------------------------------
余数反转 = 1100100

十进制到八进制之间的转换

10进制数100转换为8进制
100 除 8 = 12 余 4
12 除 8 = 1 余 4
1 除 8 = 0 余 1
-------------------------------
余数反转 = 144

十进制到十六进制之间的转换

10进制数100转换为16进制
100 除 16 = 6 余 4
6 除 16 = 0 余 6
-------------------------------
余数反转 = 64

1.5 快速转换法

8421码又称为BCD码,是十进制代码中最常用的一种。在这种编码方式中,每一位二值代码的“1”都代表一个
固定数值。将每位“1”所代表的二进制数加起来就可以得到它所代表的十进制数字。

快速转换表
在这里插入图片描述
二进制和十进制相互快速转换

2进制数0b1010100转换为10进制(按照位数填值相加)
0+0+4+0+16+0+64
= 84
10进制数100转换为2进制(从最高位开始减,有用到的写1,没有用到的写0;直到减为0)
100-64-32-4=0
100 - 64 = 36
36 - 32 = 4
4 - 4 = 0
= 0b1100100

二进制快速转化为八进制(三个为一组算十进制)
二进制快速转换为十六进制(四个为一组算十进制)

1.6 有符号数据表示法

计算机中有符号数据表示法三种:原码、反码、补码。
在计算机中是用补码方式进行存储及用补码进行运算,补码可以让同一套电路即可表示正数和负数以及解决负
数运算等问题。
正数:原码、反码、补码相同
负数:原码符号位为1,反码是符号位不变对数值位进行逐个取反,补码是符号位不变在反码的末尾加1

原码

二进制的左边为高位,右边为低位(一个字节为8bit,就是八个零,第一个是符号位,不参与运算)
二进制最高位作为符号位,0表示正数、1表示负数。
案例:原码表示正7和负7
十进制7的二进制111
符号位 数值位
+7 0 0000111
-7 1 0000111

反码

原码:
符号位 数值位
+7 0 0000111
-7 1 0000111
反码:(正数反码和原码一致,负数符号位不变,数值位按位取反)
+7 0 0000111
-7 1 1111000

补码

原码:
符号位 数值位
+7 0 0000111
-7 1 0000111
反码:
+7 0 0000111
-7 1 1111000
补码:(正数补码和原码一致,负数在反码的末尾加1)
+7 0 0000111
-7 1 1111001
给你一段补码,求补码的十进制。
补码: 1 1111001
- 0 0000001
————————————————
反码: 1 1111000
————————————————
原码: 1 0000111

二 Java变量和数据类型

1.1 变量概述

什么是变量

在程序运行的过程中其值可以在某个范围改变的量

变量的作用

在程序运行过程中存放某一个不断发生改变的值,在运行时JVM会为变量分配一块内存空间

如何定义变量

数据类型 变量名 = 变量值;
在java中定义变量时必须指定数据类型

1.2 数据类型

数据类型概述

在java中数据类型用于限制变量在内存中开辟内存空间大小

数据类型分类

基本数据类型
整数、浮点数、字符、布尔
引用数据类型
类、数组、接口

基本数据类型表
在这里插入图片描述

1.3 变量定义

变量定义前提

指定数据类型
指定变量名
指定变量的值

变量定义的格式

数据类型 变量名 = 变量值;
注意:
1.变量值必须与其数据类型符合
2.在同一级大括号{}内不能出现两个相同名称的变量
3.变量未赋值不能使用(局部变量)
4.float类型变量值建议最后加上f,double类型变量值建议最后加
public class Variable {public static void main(String[] args){//定义字节型变量byte b = 100;System.out.println(b);//定义短整型变量short s = 1000;System.out.println(s);//定义整型变量int i = 123456;System.out.println(i);//定义长整型变量long l = 12345678900L;System.out.println(l);//定义单精度浮点型变量float f = 5.5F;System.out.println(f);//定义双精度浮点型变量double d = 8.5;System.out.println(d);//定义布尔型变量boolean bool = false;System.out.println(bool);//定义字符型变量char c = 'A';System.out.println(c);}
}

三 Java数据类型转换

3.1 数据类型转换概述

为什么要数据类型转换

Java程序运行时必须保证数据类型一致才能参与运算,如果数据类型不一致就需要进行转换保证数据类型一
致

3.2 数据类型转换之自动类型转换

Java中的默认转换规则

1. boolean类型不能转换为其他的数据类型
2. byte,short,char,int—long—float—double
3. byte,short,char之间不能相互转换,他们参与运算首先转换为int类型

加号说明
在java中+对于整数相加做加法操作,对于字符串做拼接操作

System.out.println('a');//a
System.out.println('a' + 1);//98

ASCII码表的概述

记住三个值:
'0' 48
'A' 65
'a' 97
规则:0 A a:486597;看做是486 597;就是486 (4+1)(8+1)(6+1);后面三位是前面三位加一

案例演示
拼接 加法运算

System.out.println("hello" + 'a' + 1);//hello为字符串,所以拼接helloa1
System.out.println('a' + 1 + "hello");//a为字符,所以做加法运算,98hello

+在有字符串参与中被称为字符串连接符

System.out.println("5+5="+5+5);//字符串,所以为5+5=55
System.out.println(5+5+"=5+5");//基本数据类型 10=5+5

自动转换(隐式转换)案例

int a = 1;//int
byte b = 2;//byte
byte c = a + b;//a转换为byte
int c1 = a + b;//b转换为int
byte a = 1;//byte
byte b = 2;//byte
byte c = a + b;//byte
int c1 = a + b;//a b转换为int
int a = 100;//int
double b = 200d;//double
int c = a + b;//b转换为int
double c1 = a + b;//a转换为double
byte b = 3 + 4;//3和4转换为byte

3.3 数据类型转换之强制转换

目标数据类型 变量名 = (目标数据类型)(被转换的数据);
注意:
强制类型转换可能造成精度损失
byte b1 = 130;
byte b2 = (byte)130;
byte a = 100;
byte b = 100;
byte c = (byte)(a + b);
byte a = 3;
byte b = 4;
byte c = a + b;
int a = 3;
int b = 4;
byte c = (byte)(a + b);

四 Java运算符

4.1 运算符概述

运算符的作用

java中对常量和变量进行操作的符号称为运算符

运算符分类

算术运算符
赋值运算符
比较运算符
逻辑运算符
位运算符
三目运算符

4.2 算术运算符

在这里插入图片描述

// 定义两个int类型的变量
int a = 3 ;
int b = 4 ;
// 使用算术运算符
System.out.println(a + b) ; // 7
System.out.println(a - b) ; // -1
System.out.println(a * b) ; // 12
System.out.println(a / b) ; // 0
System.out.println( a % b) ; // 3
System.out.println( -3 % -4) ; // -3
System.out.println( 3 % -4) ; // 3
System.out.println( -3 % 4) ; // -3

++,–运算符的作用

自加(++)自减(--)运算
++:自加。对原有的数据进行+1
--:自减。对原有的数据进行-1

单独运算

++或--放在前或放在后结果没有区别

参与混合运算

++在前先自增1再参与运算,++在后先参与运算再自增1
--在前先自减1再参与运算,--在后先参与运算再自减1
int a = 10;
int b = 10;
int c = 10;
a = b++;
c = --a;
b = ++a;
a = c--;
a=?,b=?,c=?
int x = 4;
int y = (x++) + (++x) + (x*10);
x=?,y=?

4.3 赋值运算符

把右边的值赋值给左边变量,值必须与类型匹配。
在这里插入图片描述
下面的程序是否有问题,如果有问题,请指出并说明理由

short s = 1;
s = s + 1;
short s = 1;
s += 1; //+=在底层会进行自动强制类型转换

4.4 比较运算符

比较两个数之间的关系,无论操作时简单还是复杂,结果都是boolean类型
在这里插入图片描述

4.5 逻辑运算符

逻辑运算符一般用于连接boolean类型的表达式或者boolean的值
在这里插入图片描述

4.6 位运算符

底层是二进制补码进行运算,true用1表示,false用0表示
在这里插入图片描述
定义两个变量,无需定义第三方变量的情况下如何实现两个变量的值交换?

用了一个第三方变量

int a = 10;
int b = 20;
int temp = a;
a = b;
b = temp;
int a = 10;
int b = 20;
a = a + b ; // a = 30
b = a - b ; // 30 - 20 = 10 , b=10
a = a - b ; // 30 - 10 = 20 , a=20

一个值被异或两次,其值不会发生改变

int a = 10;
int b = 20;
a = a ^ b ; // 10 ^ 20 = a
b = a ^ b ; // 10 ^ 20 ^ 20 = 10 , b=10
a = a ^ b ; // 10 ^ 20 ^ 10 = 20 , a=20
int a = 10;
int b = 20;
b = (a + b) - (a = b) ; // 30 - 20 = 10 , b=10 , a=20

4.7 三目运算符

什么是三目运算符

三目运算符又称为三元运算符
格式:
(关系表达式) ? 表达式1 : 表达式2;

三元运算符的执行流程

计算关系表达式的值,如果为true, 运算后的结果是表达式1;
如果为false,运算后的结果是表达式2;
int a = 3;
boolean b = a >= 3 ? true : false;
int b1 = a >= 3 ? 3 : -1;

练习题

01.计算机的存储和运算为什么要采用二进制?
02.计算机中的最小表示单位?计算机中的最小存储单位?
03.任意进制到十进制的转换方式?
04.十进制到任意进制之间的转换方式?
05.什么是快速转换法?快速转换法有什么特点?
06.0b1010111转换为10进制,请用快速转换法写出过程?
07.101转换为二进制,请用快速转换法写出过程?
08.什么是有符号数据表示法?
09.为什么要用补码?
10.求十进制-126的补码,写出过程
11.补码0b10000011的原码,请写出过程
12.什么是变量?有什么作用?
13.如果定义一个变量?
14.数据类型分分类?基本类型有哪些?
15.定义变量是有哪些注意事项?
16.java中什么情况数据类型会发生转换?
17.什么是自动转换?转换规则是?
18.什么是强制转换?强制转换可能会导致什么问题?
19.请写出byte b = (byte)130;的运行过程
20.++和--有什么特点?
21.short s = 1;  s += 1;会报错吗?为什么?
22.比较运算法有什么作用?
23.&和&&区别?|和||的区别?
24.定义两个变量,无需定义第三方变量的情况下如何实现两个变量的值交换?
25.请写出一个运算法的格式和案例?

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

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

相关文章

[附源码]Python计算机毕业设计SSM老年公寓管理系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

爬虫工作流程、请求与响应原理、requests库讲解

爬虫工作流程、请求与响应原理、requests库讲解 爬虫分类主要分为两大板块 web爬虫(浏览器爬虫) APP爬虫(手机端爬虫) 在这两大板块中又可以把爬虫归类为聚焦爬虫和通用爬虫 聚焦爬虫:针对某一个接口(ur…

使用Conda

0. Anaconda Prompt 命令提示符 0.1 验证conda是否被安装 conda --version0.2 conda管理环境 可以用命令复制和删除环境 参考. 1. Conda管理包 1.1 常用包管理功能 查找包查看包安装包 查找分为精确查找和模糊查找,如下图所示 卸载包更新包 1.2 conda管理环…

三肽Gly-Cys-Gly、88440-55-5

三肽Gly-Cys-Gly 编号:111774 CAS号:88440-55-5 三字母:H2N-Gly-Cys-Gly-COOH 描 述:羧肽酶 U 抑制剂(凝血酶可激活的纤维蛋白溶解抑制剂,TAFI),Ki 0.14 μM。编号: 111774 中文名称…

安装 laravel 遇到的错误和解决方案

安装 laravel 遇到的错误和解决方案 纯粹是为了运行下 laravel,遇到了错误记录下,分享给需要的人。 下载 PHP Windows 版 ,我选择的版本是 PHP 7.4 (7.4.33)。下载文件以后找个文件夹解压就可以了。Composer 安装,官网 。 勾选以…

C/C++家族族谱管理系统

C/C家族族谱管理系统 课题名称: 家族族谱管理 主要目标: 通过训练,强化学生对树结构、二叉树结构的表示及操作算法的掌握和灵活运用 3.具体要求: 要求设计实现具有下列功能的家谱管理系统: (1) 输入文件以存放最初家谱中各成员的信息,成员的信息中…

WSL Ubuntu20.04安装pycairo指南

环境说明 wsl Ubuntu20.04 走过的一些可能有用的弯路 由于pycairo要求python3.7,但是之前Ubuntu上有个3.6的python环境,所以就安装了python3.8: sudo apt install python3.8然后python3命令还是链接到python3.6,结果就yongln …

iOS15适配 UINavigationBar和UITabBar设置无效,变成黑色

今天更新了xcode13,运行项目发现iOS15以上的手机导航栏和状态栏之前设置的颜色等属性都不起作用了,都变成了黑色,滚动的时候才能变成正常的颜色,经确认得用UINavigationBarAppearance和UITabBarAppearance这两个属性对导航栏和状态…

系统封装制作

工具网址: 镜像下载: Windows 10 22H2 - MSDN - 山己几子木 (sjjzm.com)pe工具:【新提醒】优启通 v3.7.2022.0910(2022.10.14 发布)_IT天空原创软件_IT天空 (itsk.com)万能驱动:万能驱动 v7.22.0912.2&…

IOC 的底层原理和Bean管理XML方式、xml注入集合属性

目录 什么是IOC IOC底层管理 工厂模式 IOC 的过程 IOC 接口 IOC 操作Bean 原理 Bean 管理操作有两种方式 1. 基于xml 配置方式创建对象 2. 基于xml方式注入属性 第二种使用有参数构造注入 p 名称空间注入 ICO操作Bean管理(xml 注入其他类型属性&#xff…

翻转单词序列、按之字形顺序打印二叉树、二叉搜索树的第k个节点

1、翻转单词序列 本题考点:子串划分,子串逆置 牛客链接 题目描述: 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻…

网络安全与IP安全

网络安全 是指网络系统的硬件,软件以及系统中的数据收到的保护。 保护的基本属性为:机密性,身份认证,完整性和可用性; 基本特征:相对性,时效性,相关性,不确定性&#xf…

azkaban表project_flows数据分析

project_flows表中数据是怎么存入进去的呢,其中有个JSON字符串是乱码,怎么设置的呢?搜索插入语句地方如下: 查看压缩类型,2为Gzip压缩 public enum EncodingType {PLAIN(1), GZIP(2); 查看flow.toObject方法,其实返回的是一个MAP,定义如下: 查看convertJsonToBytes方…

YonBuilder开发之后端函数

在前几期的文章中我们已经介绍过如何在YonBuilder中使用前端函数实现数据过滤功能。相对应于前端函数,在YonBuilder中还可以使用后端函数实现对于程序的扩展。通过前端函数实现的更多的是与页面交互相关的功能,而后端函数主要是用于预制按钮功能的扩展开…

自然算法 - AI面试基础补全

手撕BP神经网络手写Bert和Transformer(BERT很细节的地方,比如文字标签CLS,par)学习pytorch,tensorflow AI算法岗位 可看网站 牛客网站 面经回复 github 项目连接 算法工程师岗位必备知识 问答 ELMO、GPT、…

操作系统_多线程笔记(二)

文章目录1.线程状态2.多线程在的意义是什么?1.线程状态 状态是针对当前线程调度的情况来描述的,因为线程是系统调度的基本单位,所以状态是属于线程的属性 线程的六种状态: 注意: 1.一旦内核里的PCB消亡了,此时代码中创建的thread也就没有用了,即内核里的线程释放的时候无…

信号包络及其提取方法(Matlab)

信号包络及其提取方法 介绍信号包络,以及信号包络的提取方法。 一、信号包络 直观地从时域来讲,信号包络就是信号波形的轮廓。 本质上,信号包络是带通信号的基带部分。 一个实带通信号记为x(t),将它频谱的中心频点搬移到零频…

Win,M1Mac上安装jupyter的MATLAB支持插件的方法

tags: MATLAB Win Mac Tips 写在前面 11月的最后一天了, 总结一下支持MATLAB的一个jupyter的插件, 有了这个你就可以在jupyter notebook或者jupyter lab上面使用MATLAB语句了, 还是很不错的, 虽然我安装了好久… 下面来说一下我在我的电脑以及朋友的电脑(Win11)上面安装这个…

实例方法(instance method)、类方法、构造方法(三)

实例方法(没有static)的概念 对象被称为实例。实例相关的有:实例变量、实例方法。实例变量是对象变量。实例方法是对象方法。实例方法没有static。(对象方法,对象级别的方法) 实例方法的调用需要先new一个…

高维多元时序数据聚类

1. 简介 收集数据的能力不断增强,使我们有可能收集大量的异构数据。在可用的异构数据中,时间序列代表着尚未被充分探索的信息母体。当前的数据挖掘技术在分析时间序列时存在多个缺点,尤其是在应同时分析多个时间序列(即多维时间序…