当前位置: 首页 > news >正文

技术网站的费用怎么做会计分录/如何开发软件app

技术网站的费用怎么做会计分录,如何开发软件app,上海网站建设的公司,福建住建设厅官方网站JAVA之父:詹姆斯高斯林 (James Gosling) 前言: 大家好,我是程序猿爱打拳。今天我给大家讲解的是Java基础中的数据类型。主要讲解的是各个类型的应用场景以及注意事项。 目录 1.数据类型 2.常量与变量 2.1常量 2.2变…

JAVA之父:詹姆斯·高斯林 (James Gosling)


前言:

大家好,我是程序猿爱打拳。今天我给大家讲解的是Java基础中的数据类型。主要讲解的是各个类型的应用场景以及注意事项。


目录

1.数据类型

2.常量与变量

2.1常量

2.2变量

3.整型变量

3.1字节型

3.2短整型

3.3整型

3.4长整型

4.浮点型变量

4.1单精度浮点型

4.2双精度浮点型

5.字符型变量

6.布尔型

7.类型转换

7.1自动类型转换(隐式)

7.2强制类型转换(显式)

7.3类型提升

8.字符串类型 


1.数据类型

首先Java提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。其中四个整型分为:字节型整型短整型长整型,两个浮点型分为:单精度浮点型双精度浮点型

数据类型说明占字节数
byte字节型1字节
short短整型2字节
int整型4字节
long 长整型8字节
float单精度浮点型4字节
double双精度浮点型8字节
char字符型2字节
boolean布尔型未知,但Oracle公司虚拟机中占1字节

整型和浮点型他们都是变量,何为变量?下面我就来讲解。


2.常量与变量

2.1常量

常量在计算机中我们认为是永远不会发生改变的量。现实生活中我们可以理解为父与子的关系,儿子永远都是爸爸的孩子,这是改变不了的。


2.2变量

变量在Java里面是我们认为可以发生改变的量,首先我们要知道定义变量的语法格式为:数据类型 变量名 = 初始值;

例如一个名为a的变量。初始化是10我们对它进行改变为20,这就是一个变量a。对照以下程序理解:

public class Blog {public static void main(String[] args) {int a=10;System.out.println("变量a的初值为:"+a);a=20;System.out.println("改变后的a值为:"+a);}
}

输出为:

以下为变量的几个定义方式:

 //方法一:在定义时给出初始值

int a =10;

System.out.println(a);

//方法二:在定义时没有给初始值,但使用前必须设置初值

int b;

b = 10;

System.out.println(b);

//在方法二定义后,如果在使用这个变量前没有赋值,编译器会报错

int b;

System.out.println(b);

b = 10;


3.整型变量

我们知道变量的定义格式为数据类型 变量名 = 初始值;并且我们知道整型变量里面包含的几个类型都是用来表示数字的,那么整型变量的取值范围怎么求呢?我们可以使用各个类型的包装类.MIN_VALUE.MAX_VALUE来分别求出最小值和最大值。

例如我要求整型int的最小值与最大值我们可以这样做:Integer.MIN_VALUEInteger.MAX_VALUE这样我们就能求出整型的取值范围。各个数据类型的包装类如下表所示:

数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
booleanBoolean
charCharacter

3.1字节型

我们已经知道变量的定义和求取值范围方法后,来定义一个字节型变量num=10并求出字节型变量的范围:

import java.util.Scanner;public class Blog {public static void main(String[] args) {//定义一个字节型变量b=10byte b = 10;System.out.println(b);//求字节型变量的取值范围System.out.println(Byte.MIN_VALUE);System.out.println(Byte.MAX_VALUE);}
}

结果如图所示:

注意事项:
1. byte在任何系统下都占1个字节
2. byte的范围是:-128 ~ 127
3. 字节的包装类型为Byte


3.2短整型

相信大家定义数据的过程已经熟门熟路了,我们直接定义一个短整型变量并求出短整型范围:

import java.util.Scanner;public class Blog {public static void main(String[] args) {//定义一个短整型变量a=10short a = 10;System.out.println(a);//求短整型变量的取值范围System.out.println(Short.MIN_VALUE);System.out.println(Short.MAX_VALUE);}
}

输出结果为:

注意事项:
1. short在任何系统下都占2个字节
2. short的表示范围为:-32768 ~ 32767
3. 使用时注意不要超过范围(一般使用比较少)
4. short的包装类型为Short


3.3整型

定义一个整型变量num=10并求出整型变量取值范围:

import java.util.Scanner;public class Blog {public static void main(String[] args) {//定义一个整型变量num=10int num = 10;System.out.println(num);//求整型变量取值范围System.out.println(Integer.MIN_VALUE);System.out.println(Integer.MAX_VALUE);}
}

 输出结果为:

注意事项:
1. int不论在何种系统下都是4个字节
2. 推荐使用方式一定义,如果没有合适的初始值,可以设置为0
3. 在给变量设置初始值时,值不能超过int的表示范围,否则会导致溢出
4. 变量在使用之前必须要赋初值,否则编译报错
5. int的包装类型为 Integer


3.4长整型

为了区分长整型与整型,我们一般在数字后面加上L或l。例如定义一个长整型变量num=10,我们会这样写:long num =10L;long num =10l;

import java.util.Scanner;public class Blog {public static void main(String[] args) {//定义一个长整型变量num=10long num = 10L;System.out.println(num);//求整型变量取值范围System.out.println(Long.MIN_VALUE);System.out.println(Long.MAX_VALUE);}
}

输出结果为:

注意事项:
1. 长整型变量的初始值后加L或者l,推荐加L
2. 长整型不论在那个系统下都占8个字节
3. 长整型的表示范围为: -2的63次方~ 2的63次方-1
4. long的包装类型为Long


思考:byte、short、int、long都能定义整型变量为啥要区分这么开呢?

就好比生活中,衣服的尺码。衣服有婴儿装和成人装,我们成人不会穿婴儿装。类型也是如此,数字越大我们就需要更大的范围类型来定义。


4.浮点型变量

浮点型变量分为单精度浮点型双精度浮点型两类,相信学过C语言的伙伴已经了解到了。但Java里面定义浮点型时需要一些细节,下面我就来一一讲解。


4.1单精度浮点型

定义一个单精度浮点型变量我们得在数字的后面加上f或者F,因为我们的定义的时候不加以说明编译器会默认变量为双精度浮点型。例如定义一个单精度浮点型num=10格式可以写成这样:float num =10f;float num =10F;

public class Blog {public static void main(String[] args) {//定义一个浮点型变量num=1float num=1.0F;System.out.println(num);}
}

输出结果为:

注意事项:

1.float 类型在 Java 中占四个字节, 同样遵守 IEEE 754 标准。

2.由于float表示的数据精度范围较小, 一般在工程上用到浮点数都优先考虑 double, 不太推荐使用 float。

3. float的包装类型为Float。


4.2双精度浮点型

正常定义一个双精度浮点型变量:

public class Blog {public static void main(String[] args) {double num =3.14;System.out.println(num);}
}

输出结果:

一段神奇的代码:


public class Blog {public static void main(String[] args) {int a = 1;int b = 2;System.out.println(a/b);}
}

输出结果:

上述代码以我们的理解应该是输出0.5,但在 Java 中, int 除以 int 的值仍然是 int(会直接舍弃小数部分)。如果想得到 0.5, 需要使用 double 类型计算。如:

public class Blog {public static void main(String[] args) {double a = 1;double b = 2;System.out.println(a/b);}
}

输出结果:

注意事项:
1. double在任何系统下都占8个字节
2. 浮点数与整数在内存中的存储方式不同,不能单纯使用相同的形式来计算
3. double的包装类型为Double


5.字符型变量

字符型见名知意我们可以定义一些关于字符的内容:

public class Blog {public static void main(String[] args) {char a = 'A';char b = '?';char c = '1';char ch='帅';System.out.println(a);System.out.println(b);System.out.println(c);System.out.println(ch);}
}

输出结果:

上述程序中,我定义了一个英文字母A、一个字符?、一个字符1、一个帅字。

注意事项:

1.在定义字符型内容时用英文状态下的单引号括起来如'A'。

2.计算机中的字符本质上是一个整数。 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符,因此一个字符占用两个字节,表示的字符种类更多。


6.布尔型

布尔型也不是很难理解,我们只需要知道布尔类型表示真(true)或假(false)就完了。我们结合代码来展示:

public class Blog {public static void main(String[] args) {boolean a = true;boolean b = false;System.out.println(a);System.out.println(b);}
}

输出结果:

相信大家已经学过C语言,其实在C里面也是有boolean类型的,只是我们不常用到。还有在计算机中1表示真,0表示假。在boolean类型中我们却不能认为1表示true,0表示false。

 当我们把一个布尔类型初始化为1时,会出现红色波浪线,代表着两个类型不兼容。

注意事项:

1.boolean类型只有两种取值true和false,它们分别表示真和假。

2.Java中boolean类型和int类型不能相互兼容,不存在1代表true,0代表false。

3.Java中没有明确规定boolean占几个字节,也没有专门来处理boolean的字节码 指令,因此我们认为boolean占字节未知,但Oracle公司虚拟机中占1字节

4.boolean的包装类为Boolean。


7.类型转换

Java是一个强类型编程语言,当不同类型相互赋值时就会进行类型转换。分为自动类型转换(隐式)、强制类型转换(显式)。

当我这样做:

public class Blog {public static void main(String[] args) {int a =10;long b =20L;b = a;//可以编译通过a = b;//编译失败}
}

输出结果:

我们不难理解,上述代码中我们可以看出。Java里面只能让低类型变量的值赋值给高类型变量的值。


7.1自动类型转换(隐式)

隐式类型转换即:代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。特点:数据范围小的转为数据范围大的时会自动进行。下面我来举几个例子来理解:

例1

public class Blog {public static void main(String[] args) {System.out.println(1314);//整型默认情况是intSystem.out.println(3.14);//浮点数默认情况是double}
}

正常输出结果:

在Java中整数默认情况下是int类型,浮点数默认情况下是double类型


例2

public class Blog {public static void main(String[] args) {int a = 10;long b = 10L;b = a;a = b;}
}

报错:

报错原因:

当b=a时,a和b都是整形,a的范围小,b的范围大,当将a赋值给b时,编译器会自动将a提升为long类型,然后赋值。

当a=b时,编译报错,long的范围比int范围大,会有数据丢失,不安全。


例3

public class Blog {public static void main(String[] args) {float a = 3.14F;double b = 5.12;b=a;a=b;}
}

报错:

报错原因:

b=a,编译器会将f转换为double,然后进行赋值

a=b,double表示数据范围大,直接将float交给double会有数据丢失,不安全

通过上述三个例子,不难明白。当我们赋值错误时编译器会自动提示类型的不兼容。


7.2强制类型转换(显式)

强制类型转换:当进行操作时,代码需要经过一定的格式处理,不能自动完成。特点:数据范围大的到数据范围小的。举几个例子:

例1

public class Blog {public static void main(String[] args) {int a = 10;long b = 20L;b = a;a=(int)b;System.out.println(a);System.out.println(b);}
}

输出:

在自动类型转换中我们知道了,当long类型值赋值给int类型值时编译器会报错。因此为了达到目的,我们在long类型赋值给int类型前强制把long转换为int类型。


例2

public class Blog {public static void main(String[] args) {int a = 10;double b = 13.4;a =(int)b;System.out.println(a);System.out.println(b);}
}

输出:

当我们将double类型的值强转为int类型后,我们发现小数部分给舍弃了。这样是不行的,如果在银行工作,我们将一个小数部分给舍弃了是对客户很不友好的。这就是强制类型转换,编译器不会报错


例3

public class Blog {public static void main(String[] args) {int a = 257;byte b = (byte)a;}
}

输出结果:

a的值为257超过byte范围,因此什么都没有输出。可见强制类型转换有时候是有些无用的。

注意事项:

1. 不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型
2. 如果需要把范围大的类型赋值给范围小的, 需要强制类型转换, 但是可能精度丢失
3. 将一个字面值常量进行赋值的时候, Java 会自动针对数字范围进行检查
4. 强制类型转换不一定能成功,不相干的类型不能互相转换


7.3类型提升

C语言中也有隐式转换,它们分为整型提升与整型截断。什么意思呢,当字符型和短整型操作数在使用前被转换为普通类型(整型)这就叫整型提升,当普通类型转换为更低精度类型时候会进行整型截断。

Java当中不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的。这点跟C语言有些许不一样。我们来看几个例子:

例1


public class Blog {public static void main(String[] args) {int a = 10;long b = 20;int c = a + b;long d = a + b;}
}

运行后出错:

出错点:

当int c = a+b时,因为long的类型要大于int类型,因此把long类型赋值给int类型是不合适的,会造成数据的丢失

当long d = a+b时,把long类型赋值给long类型,完全合理。


例2

public class Blog {public static void main(String[] args) {byte a = 10;byte b = 20;byte c = a+b;System.out.println(c);}
}

报错:

报错点:

byte 和 byte 都是相同类型,但是出现编译报错。原因是: 虽然 a 和 b 都是 byte, 但是计算 a + b 会先将 a和 b 都提升成 int, 再进行计算, 得到的结果也是 int,这是赋给 c,就会出现上述错误。

我们应该这样写:

public class Blog {public static void main(String[] args) {byte a = 10;byte b = 20;byte c = (byte)(a+b);System.out.println(c);}
}

输出结果:

总结:

1. 不同类型的数据混合运算, 范围小的会提升成范围大的.
2. 对于 short, byte 这种比 4 个字节小的类型, 会先提升成 4 个字节的 int , 再运算.


8.字符串类型 

在Java中我们可以使用String类来定义字符串类型,比如:

public class Blog {public static void main(String[] args) {String str1="Hello";String str2="World";String str3="我是帅哥";System.out.println(str1);System.out.println(str2);System.out.println(str1+str2);System.out.println(str3);}
}

输出结果:

以上就是对字符串的一个定义,我们也可以用+号来实现两个字符串的拼接从而输出两个字符串拼接后的结果。

有些情况下,我们需要将字符串和整型数字之间进行转换:

1.int转成String

public class Blog {public static void main(String[] args) {int num = 18;//方法1String str1 = num+"是最美的年龄";//方法2String str2 = String.valueOf(num);System.out.println(str1);System.out.println(str2+"是最美的年龄");}
}

输出结果为:

我们可以看到,将int转成String的方法有直接用+号拼接和使用String.valueOf()方法。


2 .String转成int

public class Blog {public static void main(String[] args) {String str="1314";int num=Integer.parseInt(str);System.out.println(num);}
}

 输出结果:

我们直接使用Integer.parseInt()方法来实现String转成int。


以上就是本篇博文的内容,感谢您的耐心观看。 

 Never Give Up

相关文章:

【JavaSE】数据类型与变量

JAVA之父:詹姆斯高斯林 (James Gosling) 前言: 大家好,我是程序猿爱打拳。今天我给大家讲解的是Java基础中的数据类型。主要讲解的是各个类型的应用场景以及注意事项。 目录 1.数据类型 2.常量与变量 2.1常量 2.2变…...

生成模型技术发展过程

生成模型生成模型和判别模型的差异生成模型的目标是在给定了数据集D,并且假设这个数据集的底层分布(underlying distribution)是Pdata,我们希望够近似出这个数据分布。如果我们能够学习到一个好的生成模型,我们就能用这个生成模型为下游任务做…...

计算机网络第2章(物理层)学习笔记

❤ 作者主页:欢迎来到我的技术博客😎 ❀ 个人介绍:大家好,本人热衷于Java后端开发,欢迎来交流学习哦!( ̄▽ ̄)~* 🍊 如果文章对您有帮助,记得关注、点赞、收藏、…...

4564: 保留尾部*

描述规定输入的字符串中只包含字母和*号,除了尾部的*号之外,请将字符串中其他*号全部删除。输入输入数据包括一串字符串,只包含字母和*,总长度不超过80。输出输出按要求删除*后的字符串。样例输入*******A*BC*DEF*G****样例输出AB…...

安卓项目搭建grpc环境

本篇文章使用的IDE是Android Studio。这里先吐槽一句,安卓项目搭建grpc环境,不管是引入插件还是引入第三方库,对于版本的要求都极为苛刻,一旦版本不匹配就会报错,所以对于版本的搭配一定要注意。 下面介绍的这个版本搭…...

Flink01: 基本介绍

一、什么是Flink 1. Flink是一个开源的分布式,高性能,高可用,准确的流处理框架 (1)分布式:表示flink程序可以运行在很多台机器上, (2)高性能:表示Flink处理性…...

设计模式之单例模式

文章の目录一、什么是单例模式二、如何实现单例模式1、利用JavaScript中的全局对象2、静态成员改造参考写在最后一、什么是单例模式 单例模式也称为单体模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点。 举个栗子:一个班级只有一…...

[oeasy]python0086_ASCII_出现背景_1963年_DEC_PDP系列主机_VT系列终端

编码进化 回忆上次内容 上次 回顾了 字符编码的新陈代谢 ibm 曾经的EBCDIC 由于 字符不连续导致 后续 出现无数问题 随着 网络的发展 数据交换的 需要原来的小隐患现在 产生了 巨大问题 Bemer 联合各方巨头 想要推出 字符连续的编码集 这新编码集 具体长什么样 呢&#xff1…...

基于FFmpeg实现的无声音屏幕录制

UI自动化测试时,有时需要进行录屏操作,这时我们是不需要声音的,我们可以通过FFmpeg进行简单的录制工作。 以下是在windows10环境下,基于FFmpeg实现的简单录制: Ffmpeg简介: 功能:有非常强大的…...

【项目精选】基于JSP物流信息网(论文+源码+视频)

点击下载源码 近年来,随着时代的进步,社会随之不断发展,经济也快速发展起来了,人民的消费水平在不断地提高,平常的实体店消费已经不能满足人们的需求;在者,互联网技术的不断发展也为电子商务的兴…...

linux异步IO编程实例分析

在Direct IO模式下,异步是非常有必要的(因为绕过了pagecache,直接和磁盘交互)。linux Native AIO正是基于这种场景设计的,具体的介绍见:KernelAsynchronousI/O (AIO)SupportforLinux。下面我们就来分析一下…...

日常英语口语练习-情景交际场景25(三)

登山踏青m: hey Carol, what are you doing this weekend?o: im going hiking /haikiŋ/登山with my husband and our hiking clubm: you have a hiking culb?o: yes, we do, we have 30 to 40 people of all ages and skill levelsm: thats great, do you gus do…...

Qt 工程师进阶技术23种设计模式

Qt 工程师进阶技术23种设计模式【1】23种设计模式【1】23种设计模式 设计模式是解决特定问题的一系列套路,这套方案提高代码可复用性、可读性、稳健性、可维护性及安全性。 23种设计模式可分为三类:结构型模式(侧重类与对象之间的组合)、行为型模式(侧重…...

Redis 强化

(Redis入门使用查看)https://blog.csdn.net/weixin_73849581/article/details/128390152?spm1001.2014.3001.5501缓存使用原则什么时候,什么样的数据能够保存在Redis中?1.数据量不能太大2.使用越频繁,Redis保存这个数据越值得3.保存在Redis中的数据一般不会是数据库中频繁修改…...

华为OD机试题 - 众数和中位数(JavaScript)

最近更新的博客 华为OD机试题 - 任务总执行时长(JavaScript) 华为OD机试题 - 开放日活动(JavaScript) 华为OD机试 - 最近的点 | 备考思路,刷题要点,答疑 【新解法】 华为OD机试题 - 最小步骤数(JavaScript) 华为OD机试题 - 任务混部(JavaScript) 华为OD机试题 - N 进…...

Go: expected pseudo-register found R13 error

报错描述: 启动Go项目时,报错: ../../../.go/pkg/mod/github.com/choleraehyq/pidv0.0.10/pid_go1.5_amd64.s:28: expected pseudo-register; found R13 原因分析: github.com/choleraehyq/pid这个依赖包的版本太低,需…...

程序员必备的技能-深入理解 Linux 内核拆解

841 页的《深入理解 Linux内核》堪称经典,时隔多年打开,泛黄的纸张上面仍然跳跃出一个个让人心潮澎湃的知识点,突然让我想起一位微信朋友的昵称:知识的舔狗!拆,开始~前言第一章 绪论Linux与其他类Unix内核…...

学习 Python 之 Pygame 开发坦克大战(三)

学习 Python 之 Pygame 开发坦克大战(三)坦克大战物体碰撞检测编写1. 实现敌方坦克与我方坦克间的碰撞2. 实现敌方坦克间的碰撞3. 实现玩家子弹与敌方坦克间的碰撞4. 实现敌方子弹与我方坦克间的碰撞 和 玩家复活5. 爆炸效果类6. 为子弹爆炸添加爆炸效果…...

Docker 学习笔记

概述 1. 什么是 Docker? Docker 是一个应用容器平台,管理项目中用到的所有环境(MySQL、Redis…) 2. Docker 和虚拟机的区别 虚拟机是携带操作系统的,本身很小的应用程序因为携带了操作系统而变得十分笨重&#xff0…...

华为OD机试 - 相同数字的积木游戏1(JS)

相同数字的积木游戏1 题目 小华和小薇一起通过玩积木游戏学习数学。 他们有很多积木,每个积木块上都有一个数字, 积木块上的数字可能相同。 小华随机拿一些积木挨着排成一排,请小薇找到这排积木中数字相同且所处位置最远的2块积木块,计算他们的距离。 小薇请你帮忙替她解…...

Linux系统之iptables应用SNAT与DNAT

目录 SNAT 一.SNAT的原理介绍 1.应用环境 2.SNAT原理 3.SNAT转换前提条件 二.开启SNAT 1.临时打开 2.永久打开 三.SNAT的转换 1.固定的公网IP地址 2.非固定的公网IP地址(共享动态IP地址) 四.SNAT实验 1.实验环境准备 2.配置web服务器(192.168.100.100…...

2023美赛ABCDEF思路汇总

注:以下每个题思路仅是个人所想所做,不代表他人。由于时间仓促完成这么多,难免有不足之处,还请谅解。 文章目录A题第一大问第二大问B题第一问第二问第三问C题第一问第二问第三问第四问D题第一问第二问第三问第四问第五问E题第一问…...

Damask和abaqus晶体塑性联合仿真培训通知

一 软件介绍 DAMASK 是一个统一的多物理晶体塑性模拟包。连续体力学边值问题的求解需要连接每个材料点的变形和应力的本构响应,该问题在 DAMASK 中基于晶体可塑性使用各种本构模型和均质化方法能够被有效解决。除此之外,孤立地处理力学已不足以研究新兴的先进高强度…...

用javascript分类刷leetcode17.栈(图文视频讲解)

目录 Stack的特点:先进后出(FILO) 使用场景:十进制转2进制 函数调用堆栈 js里没有栈,但是可以用数组模拟 42/2 42%20 21/2 21%21 10/2 10%20 5/2 5%21 2/2 2%20 1/2 1%21 stack: [0,1,0,1,0,1] res: 1 0 1 …...

转换大小写与完成字符串反转

问题 编写一个程序,实现字符串的大小写转换并倒序输出,如输入为“HelloWord”,输出为“DROwOLLEH”。 方法 需要掌握char与int的转换,需要将helloord大写输出和W小写输出,不能直接使用toUpperCase方法。因此可以使用ch…...

大数据框架之Hadoop:MapReduce(三)MapReduce框架原理——InputFormat数据输入

3.1.1切片与MapTask并行度决定机制 1、问题引出 MapTask的并行度决定Map阶段的任务处理并发度,进而影响到整个Job的处理速度。 思考:1G的数据,启动8个MapTask,可以提高集群的并发处理能力。那么1K的数据,也启动8个M…...

【Opencv 系列】 第4章 直方图

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言1、直方图的定义、意义、特征2、直方图:2.1 灰度直方图2.2 彩色直方图前言 提示:以下是本篇文章正文内容,下面案例可供参考 …...

C#反射原理

一、前言反射(Reflection)的内容在博客中已经写了一篇,什么是反射,反射的使用,反射优缺点总结;在面试中突然被问道反射的原理,按照理解反射就是在Reflection命名空间和对象的Type对象获取类的方…...

python+vue微信小程序的线上服装店系统

服装行业是一个传统的行业。根据当前发展现状,网络信息时代的全面普及,服装行业也在发生着变化,单就服饰这一方面,利用手机购物正在逐步进入人们的生活。传统的购物方式,不仅会耗费大量的人力、时间,有时候还会出错。小程序系统伴随智能手机为我们提供了新的方向。手机线上服装…...

众德全自动批量剪辑工具,批量去重伪原创视频,全自动合成探店带货等视频

众德全自动批量剪辑工具已连续更新两年,服务了大大小小的自媒体公司工作室共200多个,成就了几百个草根创业者,实现月入10万,自从创办众德传媒之前,我一直坚信自媒体才是年轻草根创业者的出路,不需要技术门槛…...