JAVA学习-java基础讲义02

news2024/11/28 22:03:41

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);//二进制 2
	System.out.println(010);//八进制 8
	System.out.println(10);//十进制 10
	System.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.coloradmin.cn/o/49362.html

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

相关文章

使用自己的数据集测试Unbiased Mean Teacher for Cross-domain Object Detection

要复现Unbiased Mean Teacher for Cross-domain Object Detection(UMT),首先要正确运行CycleGAN。 1. CycleGAN CycleGAN的github链接:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix 1.1 CycleGAN环境配置 git cl…

低代码助力生产管理:车间管理系统

在当前制造业全球化、网络化、敏捷化的背景下,制造业信息化是目前生产的主要趋势。其中车间是制造企业的核心单元,是企业生产计划的具体实施环节,同时负责反馈实时生产信息。因此车间层的信息资源集成和生产管理控制是整个企业生产供应链控制…

[Power Query] 快速计算列

对两列或者多列的计算,在Power Query中除了通过自定义列来实现以外,我们也可以通过利用功能区的【添加列】|【标准】运算功能进行列的计算 数据源 将数据源导入到Power BI Desktop,单击【转换数据】选项,进入Power Query查询编辑…

python对异常的处理

了解异常当检测到一个错误时,解释器就无法继续执行了,反而出现一些错误的提示,这就是异常。测试:f open(test.txt,r) #以读模式打开文件,文件不存在则报错 运行了解释器报错避免出现异常提示的写法 #需求:…

串口通信及串口转蓝牙相关知识

之前没有接触过硬件相关的工作, 因此对硬件的知识一知半解。 最近由于项目需要, 用到了串口通信以及串口跟蓝牙之间通信相关的东西。记录下来, 希望对新手有所帮助。 如有疏漏之处, 欢迎指正。 1 串口通信 https://www.jishulin…

docker-compose安装部署gitlab中文版

文章目录前言一、环境信息二、准备部署1.准备路径2.安装docker-compse,下载镜像3.引入库2.执行部署三、登陆页面前言 记录一下使用docker-compose部署gitlab平台的过程 一、环境信息 操作系统版本:CentOS Linux release 7.9.2009 (Core) gitlab镜像版本…

世界杯winner只属于你——MESSI

其实现在大脑中还在回忆着那一脚精彩的进球。 看官方怎么说的: 北京时间11月27日凌晨3点,世界杯C组第2轮,阿根廷2-0战胜墨西哥。 梅西在11月27日用1进球1助攻,上帝降临,拯救阿根廷。特别是那个进球,直接让…

矩阵快速幂 笔记加理解

文章目录1.何为快速幂1.1学习快速幂的好文章1.2快速幂取模代码(对1000取模)2.矩阵快速幂1.何为快速幂 补充一个公式证明: 1.1学习快速幂的好文章 http://t.csdn.cn/agKop 1.2快速幂取模代码(对1000取模) ll fast…

VMware虚拟网络编辑器配置

一,NAT模式网络设置。 把下面的ip,子网掩码,网关记住。 切换到network-scripts 目录下。 cd /etc/sysconfig/network-scripts/修改ifcfg-ens33 这个文件。 然后重启网络服务: 对于openEuler: systemctl restart Ne…

关于Eslint语法检查

在vue创建项目中,选择eslintStandard config -标准规范- 在保存时就开启检查 eslintrc.js配置,没反应重启项目 语法报错,根据错误提示,去eslint官网搜索规则 在eslintrc.js文件中rules中添加或者修改规则,自定义的…

猿如意|IntelliJ IDEA Community下载安装以及基础开发设置和快捷键设置的详细教程

文章目录 一、如何在猿如意官网中下载IntelliJ IDEA Community? 二、关于IntelliJ IDEA Community的安装以及使用前的设置教程 1.下载安装 2.基础开发设置 三、总结 一、如何在猿如意官网中下载IntelliJ IDEA Community? 我们要想能够更简单的获取到Int…

【愚公系列】华为云系列之DevCloud+ECS+MySQL搭建超级冷笑话网站【开发者专属集市】

文章目录前言1.项目背景2.项目介绍3.所需华为云环境一、华为云系列之DevCloudECSMySQL搭建超级冷笑话网站1.创建项目2.创建代码仓库3.创建数据库4.修改代码5.编译构建6.部署7.环境准备8.导入主机9.部署应用10.应用访问11.资源释放11.1 释放 ECS 资源11.2 释放 RDS 资源总结前言…

[附源码]Python计算机毕业设计Django的校园报修平台

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

大于10M图片如何查看?

大于10M的图片,如果Windows无法查看,只需要压缩到10M以内就行。 我们先下载一个工具,帮助我们批量压缩图片。 Faststone image viewer 查看器,下载地址: https://www.faststone.org/ 假如我们有一张大于10M的图片&a…

计算机病毒

文章目录计算机病毒计算机病毒的类型计算机感染病毒的表现计算机病毒 计算机病毒指的是干扰计算机正常运行的软件或者代码片段。 计算机病毒的传播途径有很多,例如隐藏在传输的文件或者数据中,或者借助一些不安全的网络等等。病毒一旦进入您的计算机系…

【NDVI:注意力机制:遥感图像】

NDVI-Net: A fusion network for generating high-resolution normalized difference vegetation index in remote sensing (NDVI-Net:一种生成高分辨率归一化植被指数的遥感融合网络) 归一化植被指数(Normalized Difference Ve…

Matlab最小二乘平面拟合(SVD方法)—点云处理及可视化第3期

在之前的文章中,分享了Matlab基于PCA的平面拟合方法: 这一次,再来分享一下基于奇异值分解(Singular Value Decomposition, SVD)的平面拟合。 先来看一下成品效果: 特别提示:《Matlab点云处理及…

融合多策略的萤火虫算法求解多目标优化问题(Matlab代码实现)

🍒🍒🍒欢迎关注🌈🌈🌈 📝个人主页:我爱Matlab 👍点赞➕评论➕收藏 养成习惯(一键三连)🌻🌻🌻 🍌希…

数字化门店| 美甲美睫店管理系统| 小程序教程

随着悦己消费升级,女性对于自身外观上的消费支出增加,近几年疫情之下,人们出门常戴口罩,对于爱美的女孩,打扮的漂漂亮亮却被口罩遮挡了容颜,都说眼睛与手可以看出一个人的心灵与美,因此美甲美睫…

new Promise(function(resolve, reject){}) 的reject相当于抛异常

通过reject传异常&#xff1a; <html><body><script>const promise new Promise(function(resolve, reject) {if (Math.random() > 0.5){resolve("value");} else {reject(new Error("throw error"));//throw new Error("thro…