91影院影视app 守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地实验守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地–数组(守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地数组的数组)

本篇文章给大家谈谈 守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地 实验 守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地 –数组,以及守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地数组的数组对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

91约炮网址app下载安装

1、91约炮网址福利在线2、91影院国 产一区二区久久3、JAVA创建一个数组a[]={1,2,3,4,5},b[]={6,7,8,9,10}, 声明一个数组c,将数组a和数组b存放到c中。 最后c的4、91约炮网址最新网址5、91影院亚洲日韩6、91影院

91约炮网址福利在线

数组是JAVA语言内置的数据类型,它是一个线性的序列,所以它可以快速的访问其他的元素。但是速度是要有代价的,当你创建了一个数组之后,它的容量就固定了,而且在其生命周期里是不能改变的。还有一点,JAVA里面的数组是会做边界检查的,所以当你越界访问时,会抛出RuntimeException,所以不用担心在C或C++因为不做边界检查而出现的问题了,当然边界检查是以牺牲效率为代价的。数组与其它容器类的区别体现在三个方面:效率、类型识别和可以持有primitives。

JAVA里面提供的其他容器还包括List,Set和Map。他们处理对象的时候就好像这些这些对象都没有自己的类型一样,容器将它所含的元素都看成是JAVA中所有类的根类Object类型的,这样我们只需创建一种容器,就能把所有的类型的对象全部放进去。但是当取出的时候,那就需要我们自己进行类型转换了,不过在JAVA Tiger版里面新引入了“泛型”的概念,结合容器类一起使用就可以解决类型转换的问题,关于“泛型”这就不详细讲解了。从上面的角度来看,这种做法很不错,但是就是苦了primitives,如果是常量的话,可以把primitive转换成wrapper类然后放进容器里面,如果是变量的话,那就只能放在你自己的类里了。与其他容器类相比,数组会在编译的时候作类型检查,从而防止你插入错误类型的对象,或者在提取对象的时候把对象的类型给搞错了,JAVA在编译和运行的时候都能阻止你将一个不恰当的消息传给对象。至于效率,数组无疑是要高于其他容器类的,因为有些容器类的实现就是基于数组的,比如ArrayList。不论从类型检查还是效率的角度来考虑,我们首选数组来作为容器都是没错的,但是数组的缺点就是功能太弱了,所以才会有容器类的出现。

要多说几句的就是,守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地.util包里面有一个Arrays类,它包括了一组可以用于数组的static的工具方法,其中最基本的是四个方法:用来比较两个数组是否相等的equals();用来填充数组的fill();用来对数组进行排序的sort();以及用于在一个已经排序的数组中查找元素的binarySearch()。所有这些方法都对primitives和Object进行了重载。此外还有一个asList()方法,它接受一个数组,然后把它转成一个List容器。JAVA标准类库还提供了一个System.arraycopy()的静态方法,它能以较快的速度拷贝数组,对primitive和Object都进行了重载,但是注意当对Object数组进行拷贝时,进行的是浅拷贝(shallow copy)。

守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地实验守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地--数组(守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地数组的数组)

91影院国 产一区二区久久

守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地数组定义和赋值2007-11-25 18:39数组是有序数据的集合,数组中的每个元素具有相同的数组名和下标来唯一地确定数组中的元素。

§5.1一维数组

一、一维数组的定义

type arrayName[];

其中类型(type)可以为Java中任意的数据类型,包括简单类型组合类型,数组名arrayName为一个合法的标识符,[]指明该变量是一个数组类型变量。例如:

int intArray[];

声明了一个整型数组,数组中的每个元素为整型数据。与C、C++不同,Java在数组的定义中并不为数组元素分配内存,因此[]中不用指出数组中元素个数,即数组长度,而且对于如上定义的一个数组是不能访问它的任何元素的。我们必须为它分配内存空间,这时要用到运算符new,其格式如下:

arrayName=new type[arraySize];

其中,arraySize指明数组的长度。如:

intArray=new int[3];

为一个整型数组分配3个int型整数所占据的内存空间。

通常,这两部分可以合在一起,格式如下:

type arrayName=new type[arraySize];

例如:

int intArray=new int[3];

二、一维数组元素的引用

定义了一个数组,并用运算符new为它分配了内存空间后,就可以引用数组中的每一个元素了。数组元素的引用方式为:

arrayName[index]

其中:index为数组下标,它可以为整型常数或表达式。如a[3],b[i](i为整型),c[6*I]等。下标 从0开始,一直到数组的长度减1。对于上面例子中的in-tArray数来说,它有3个元素,分别为:

intArray[0],intArray[1],intArray[2]。注意:没有intArray[3]。

另外,与C、C++中不同,Java对数组元素要进行越界检查以保证安全性。同时,对于每个数组都有一个属性length指明它的长度,例如:intArray.length指明数组intArray的长度。

例5.1

public class ArrayTest{

public static void main(String args[]){

int i;

int a[]=newint[5];

for(i=0;i<5;i++)

a[i]=i;

for(i=a.length-1;i>=0;i–)

System.out.println(“a[“+i+”]=”+a[i]);

}

}

运行结果如下:

C:\>守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地 ArrayTest

a[4]=4

a[3]=3

a[2]=2

a[1]=1

a[0]=0

该程序对数组中的每个元素赋值,然后按逆序输出。

三、一维数组的初始化

对数组元素可以按照上述的例子进行赋值。也可以在定义数组的同时进行初始化。

例如:

int a[]={1,2,3,4,5};

用逗号(,)分隔数组的各个元素,系统自动为数组分配一定空间。

与C中不同,这时Java不要求数组为静态(static)。

四、一维数组程序举例:

例5.2Fibonacci数列

Fibonacci数列的定义为:

F1=F2=1,Fn=Fn-1+Fn-2(n>=3)

public classFibonacci{

public static void main(String args[]){

int i;

int f[]=new int[10];

f[0]=f[1]=1;

for(i=2;i<10;i++)

f[i]=f[i-1]+f[i-2];

for(i=1;i<=10;i++)

System.out.println(“F[“+i+”]=”+f[i-1]);

}

}

运行结果为:

C:\>守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地 Fibonacci

F[1]=1

F[2]=1

F[3]=2

F[4]=3

F[5]=5

F[6]=8

F[7]=13

F[8]=21

F[9]=34

F[10]=55

例5.3冒泡法排序(从小到大)

冒泡法排序对相邻的两个元素进行比较,并把小的元素交到前面。

public class BubbleSort{

public static void main(String args[]){

int i,j;

int intArray[]={30,1,-9,70,25};

int l=intArray.length;

for(i=0;i<l-1;i++)

for(j=i+1;j<l;j++)

if(intArray[i]>intArray[j]){

int t=intArray[i];

intArray[i]=intArray[j];

intArray[j]=t;

}

for(i=0;i<l;i++)

System.out.println(intArray[i]+””);

}

}

运行结果为:

C:\>守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地 BubbleSort

-9

1

25

30

70

§5.2多维数组

与C、C++一样,Java中多维数组被看作数组的数组。例如二维数组为一个特殊的一维数组,其每个元素又是一个一维数组。下面我们主要以二维数为例来进行说明,高维的情况是类似的。

一、二维数组的定义

二维数组的定义方式为:

type arrayName[][];

例如:

int intArray[][];

与一维数组一样,这时对数组元素也没有分配内存空间,同要使用运算符new来分配内存,然后才可以访问每个元素。

对高维数组来说,分配内存空间有下面几种方法:

1直接为每一维分配空间,如:

int a[][]=new int[2][3];

2从最高维开始,分别为每一维分配空间,如:

int a[][]=new int[2][];

a[0]=new int[3];

a[1]=new int[3];

完成1中相同的功能。这一点与C、C++是不同的,在C、C++中必须一次指明每一维的长度。

二、二维数组元素的引用

对二维数组中每个元素,引用方式为:arrayName[index1][index2] 其中index1、index2为下标,可为整型常数或表达式,如a[2][3]等,同样,每一维的下标都从0开始。

三、二维数组的初始化

有两种方式:

1直接对每个元素进行赋值。

2在定义数组的同时进行初始化。

如:int a[][]={{2,3},{1,5},{3,4}};

定义了一个3×2的数组,并对每个元素赋值。

四、二维数组举例:

例5.4矩阵相乘

两个矩阵Am×n、Bn×l相乘得到Cm×l,每个元素Cij= aik*bk (i=1..m,n=1..n)

public class MatrixMultiply{

public static void main(String args[]){

int i,j,k;

int a[][]=new int[2][3];

int b[][]={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}};

int c[][]=new int[2][4];

for(i=0;i<2;i++)

for(j=0;j<3;j++)

a[i][j]=(i+1)*(j+2);

for(i=0;i<2;i++){

for(j=0;j<4;j++){

c[i][j]=0;

for(k=0;k<3;k++)

c[i][j]+=a[i][k]*b[k][j];

}

}

System.out.println(“\n***MatrixA***”);

for(i=0;i<2;i++){

for(j=0;j<3;j++)

System.out.print(a[i][j]+””);

System.out.println();

}

System.out.println(“\n***MatrixB***”);

for(i=0;i<3;i++){

for(j=0;j<4;j++)

System.out.print(b[i][j]+””);

System.out.println();

}

System.out.println(“\n***MatrixC***”);

for(i=0;i<2;i++){

for(j=0;j<4;j++)

System.out.print(c[i][j]+””);

System.out.println();

}

}

}

其结果为:

C:\>守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地 MatrixMultiply

for(j=0;j<4;j++)

System.out.print(c[i][j]+””);

System.out.println();

}

}

}

其结果为:

C:\>守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地 MatrixMultiply

***MatrixA***

2 3 4

4 6 8

***MatrixB***

1 5 2 8

5 9 10 -3

2 7 -5 -18

***MatrixC***

25 65 14 -65

50 130 28 -130

如果你学过线性代数,应该可以比较好地理解多维数组。

多维数组和矩阵结合紧密。

a[i][j]就是第i-1行的第j-1列的元素,因为下标是从0开始的。

比如:

一个数组:1 2 3

4 5 6

a[0][0]=1 a[0][1]=2 a[0][2]=3

a[1][0]=3 a[1][1]=5 a[1][2]=6

JAVA创建一个数组a[]={1,2,3,4,5},b[]={6,7,8,9,10}, 声明一个数组c,将数组a和数组b存放到c中。 最后c的

是要合并么?

public class $ {

    public static void main(String[] args) {

        int[] a = { 1, 2, 3, 4, 5 };

        int[] b = { 6, 7, 8, 9, 10 };

        int[] c = new int[a.length + b.length];

        int index = 0;

        for (int i : a) {

            c[index++] = i;

        }

        for (int i : b) {

            c[index++] = i;

        }

        for (int i : c) {

            System.out.print(i + “-“);

        }

    }

}

91约炮网址最新网址

1,创建二维数组语句:int[][] array = new int[3][3];

2,直接创建二维数组并赋值语句:int[][] array ={{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5}} ;

二维数组,也可以理解为用一维数组保存的元素为一维数组。对于三维数组,等等,都可以这样划分。不过我们在编程中使用三维以上的数组比较少。因为那样使用起来非常不方便。下面我们来学习二维数组的声明。其声明同一位数组一样,可以先声明再分配内存,也可以声明时分配内存

第一种,先声明再分配内存的方式

数组声明: 数据类型 数组名[][];

内存分配: 数组名 = new 数据类型[行的个数][列的个数];

举例: 假如我们需要统计一个象棋上放的是黑棋还是白棋。这时,我们可以建立一个坐标,即以象棋盘的两边建立坐标轴。这时,我们可以这样定义这个二维数组:

声明数组: int Chess[][];

内存分配 Chess= new int[64][64];

第二种,即声明时即分配内存的方式。

使用格式是: 数据类型 数组名[][] =new 数据类型 [行的个数][列的个数];

使用上个步骤中的例子,我们可以将数组的声明和分配内存写成以下方式:

声明即分配内存:int Chess[][] = new int[64][64];

二维数组的赋值,同一维数组类似。只是在{}中的每个元素又是每个一维数组。如下格式:

数据类型 数据名[][]={

{值1,值2,值3,值4 }, //第一行数据

{值5,值6,值7,值8}, //第二行数据

…,

}

二维数组中,可以有列数不相等的数组。即每一行的列数不同时。我们需要对每一行进行赋值。

对于这两种二维数组。我们分别来进行分别举例进行赋值。第一种是:列数相同的数组

其赋值格式如下:

String ClassRoom[][]={

{“小王”,”小李”,”小张”},

{“小红”,”小明”,”小花”},

}

即第一行的人数和第二行的人数相同。

第二种:即列数不相等的数组的赋值格式如下:

String ClassRoom[][]={

{“小王”,”小李”,”小张”},

{“小红”,”小明”,”小花”},

{“小雨”,”小风”,”小平”,”小雷”},

{“小单”}

}

看上述例子。对于不同的行,其相应的列数是不同的。

91影院亚洲日韩

守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地语言中,数组是一种最简单的复合数据类型。数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素。数组有一维数组和多维数组。

★ 一维数组

1. 一维数组的定义

type arrayName[ ];

类型(type)可以为Java中任意的数据类型,包括简单类型和复合类型。

例如:

 int intArray[ ];

 Date dateArray[];

2.一维数组的初始化

◇ 静态初始化

int intArray[]={1,2,3,4};

String stringArray[]={“abc”, “How”, “you”};

◇ 动态初始化

  1)简单类型的数组

int intArray[];

intArray = new int[5];

 2)复合类型的数组

String stringArray[ ];

String stringArray = new String[3];

stringArray[0]= new String(“How”);//为第一个数组元素开辟空间

stringArray[1]= new String(“are”);//为第二个数组元素开辟空间

stringArray[2]= new String(“you”);// 为第三个数组元素开辟空间

3.一维数组元素的引用

数组元素的引用方式为:

 arrayName[index]

index为数组下标,它可以为整型常数或表达式,下标从0开始。每个数组都有一个属性length指明它的长度,例如:intArray.length指明数组intArray的长度。

★多维数组

Java语言中,多维数组被看作数组的数组。

1.二维数组的定义

type arrayName[ ][ ];

type [ ][ ]arrayName;

2.二维数组的初始化

◇ 静态初始化

int intArray[ ][ ]={{1,2},{2,3},{3,4,5}};

Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同。

◇ 动态初始化

1) 直接为每一维分配空间,格式如下:

arrayName = new type[arrayLength1][arrayLength2];

int a[ ][ ] = new int[2][3];

2) 从最高维开始,分别为每一维分配空间:

arrayName = new type[arrayLength1][ ];

arrayName[0] = new type[arrayLength20];

arrayName[1] = new type[arrayLength21];

arrayName[arrayLength1-1] = new type[arrayLength2n];

3) 例:

二维简单数据类型数组的动态初始化如下,

int a[ ][ ] = new int[2][ ];

a[0] = new int[3];

a[1] = new int[5];

对二维复合数据类型的数组,必须首先为最高维分配引用空间,然后再顺次为低维分配空间。

而且,必须为每个数组元素单独分配空间。

例如:

String s[ ][ ] = new String[2][ ];

s[0]= new String[2];//为最高维分配引用空间

s[1]= new String[2]; //为最高维分配引用空间

s[0][0]= new String(“Good”);// 为每个数组元素单独分配空间

s[0][1]= new String(“Luck”);// 为每个数组元素单独分配空间

s[1][0]= new String(“to”);// 为每个数组元素单独分配空间

s[1][1]= new String(“You”);// 为每个数组元素单独分配空间

3.二维数组元素的引用

对二维数组中的每个元素,引用方式为:arrayName[index1][index2]

例如: num[1][0];

4.二维数组举例:

【例2.2】两个矩阵相乘

public class MatrixMultiply{

 public static void main(String args[]){

 int i,j,k;

 int a[][]=new int [2][3]; //动态初始化一个二维数组

 int b[][]={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}};//静态初始化

一个二维数组

 int c[][]=new int[2][4]; //动态初始化一个二维数组

 for (i=0;i2;i++)

 for (j=0; j3 ;j++)

a[i][j]=(i+1)*(j+2);

 for (i=0;i2;i++){

 for (j=0;j4;j++){

c[i][j]=0;

 for(k=0;k3;k++)

 c[i][j]+=a[i][k]*b[k][j];

}

 }

 System.out.println(“*******Matrix C********”);//打印Matrix C标记

 for(i=0;i2;i++){

 for (j=0;j4;j++)

System.out.println(c[i][j]+” “);

 System.out.println();

}

 }

 }

91影院

问题1

int a[]=new int[10] 是定义了一个有10个下标的int类型数组,就是10个数字组成的一组数据,就是他可以存储10个数字

a.lenght是这个数组的length属性,指他的长度,所包含的数据量,也就是10!

a[i]是指a中第i个数据如{1,2,3,4,5,6,7,8,9,0}这个数据中a[0]就是1,a[1]就是2(i是数组下标,从0开始算)

问题2

int a[]={1,2,3,4,5,6}和上边的定义方法没有大得区别,只是指定了他的值就是1,2,3,4,5,6,而上百年的没有指定内容

问题3

匿名数组个人感觉只是简化代码,并没有什么特别的作用,因为没有变量可引用,只能一次性使用

以上只是个人理解,我也是守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地新手,大家共同学习,共同进步!

守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地实验守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地–数组的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地数组的数组、守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地实验守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地–数组的信息别忘了在本站进行查找喔。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:[email protected]

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年11月28日 02:17:28
下一篇 2023年11月28日 02:17:33

91约炮网址99久久亚洲

  • 91影院亚洲日韩

    北京的黑马程序员训练营怎么样? 黑马程序员培训机构挺好的。黑马程序员是传智教育旗下高端IT教育品牌,成立至今以高品质教学质量赢得好口碑,为企业输送了大批优质IT人才,致力于培养高级软件工程师。现已开设10余个精品热门学科,20所直营分校遍布全国。 总体而言,黑马程序员是一家颇具实力的IT职业培训机构,其多元化的课程体系、严格筛选的教师队伍以及完善的就业服务体…

    2023年12月3日
    11 0 0
  • 91约炮网址99久久亚洲

    急(送高分)JAVA连接DB2问题 1、如果驱动程序在 applet 内使用,这就不是一个问题,因为浏览器会在应用程序执行期间下载相应的db2守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地.zip文件。 2、都是用jdbc去连接,需要下载db2的jdbc驱动,然后将jdbc放到项目类库中去,如果是在J2EE中使用,需要把驱动放到服务器的lib下。 3、第一种:目前IBM一直都没有提供 TYPE …

    2023年12月3日
    17 0 0
  • 91约炮网址

    JAVA中有哪几种格式化字符串? 1、在JDK5中,String类增加了一个非常有用的静态函数format(String format, Objece… argues),可以将各类数据格式化为字符串并输出。 2、守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地中的字符串是由多个字符组成的一串数据,字符串是常量,一旦被创建就不能改变,这是因为字符串的值是存放在方法区的常量池里面,但是引用…

    2023年12月3日
    12 0 0
  • 91影院地址发布页

    山寨n8手机,支持守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地能下载地图吗,不需要上网流量就能用的有吗_百度… 1、首先你的手机又没哟GPS,有的话,现在的离线地图有凯立德,高德,谷歌离线等地图。 2、百度离线地图JAVA本地开发,就是不联网也是用百度地图API载入地图 这个不行的。不能离线的。 在守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地开发中,想引用百度地图,就必须写上引用地址,而这个地址是放在百度自己的伺服器…

    2023年12月3日
    14 0 0
  • 91约炮网址最新网址

    新手想自学JAVA,需要做什么准备? 1、如果您想自学 Java,可以从以下几个方面入手: 学习 Java 基础语法和面向对象编程思想。可以通过阅读相关书籍或者观看视频教程来学习。 练习编写 Java 程序。可以通过编写小程序来巩固所学知识。 2、对于新手来说,要想学好Java,应该注重以下几个方面:第一:正确理解Java的各种“抽象”。学习Java就是学习…

    2023年12月3日
    10 0 0
  • 91约炮网址福利在线

    守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地中文乱码问题 因为utf-8是linux的编码,所以你在windos上用linux当然会乱码。同理如果你在linux环境下,用gb一样也会乱码,这是操作系统决定的。所以,windows上就必须用gb,换成别的当然会乱码了。 读取文件的时候如果是用的read方法(字节流),碰到中文输出就是乱码,然后存储的时候设置下编码为GBK或者是UTF-8形式即可,…

    2023年12月3日
    11 0 0
  • 91影院影视app

    在Java中有没有一个方法可以让鼠标移到某个位置 1、将鼠标指针移动到给定屏幕坐标。void mousePress(int buttons)按下一个或多个鼠标按钮。 2、你可以调用Container的getMousePosition(boolean allowChildren)方法,或者Component的getMousePosition(),以后你碰到问题…

    2023年12月3日
    9 0 0
  • 91约炮网址福利在线

    守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地高手进,帮忙解答下DAO工厂设计模式方面的问题 1、在表现层引用PersonDAO personDAO=new PersonDAOImpl()类是干什么的?PersonDAO personDAO=new PersonDAOImpl()引用这句话让表现成取得DAO对象,表现成可以通过“personDAO.方法”来对数据库person表进行操作。 2、单…

    2023年12月3日
    14 0 0
  • 91影院福利社入口

    请问有适合安卓游戏开发初学者用的游戏引擎吗? Angle Angle是一款专为Android平台设计的,敏捷且适合快速开发的2D游戏引擎,基于OpenGLES技术开发。 其中虚幻引擎是一个所见即所得的游戏开发平台,它赋予了开发商更强的能力。 市面上的主流游戏引擎有Unity、Cocos、Unreal。Unity:Unity全球游戏市场占有率45%,没有争议的…

    2023年12月3日
    12 0 0
  • 91影院福利社入口

    如何使用守护遗鸥“产床”!中国遗鸥之乡260亩建设用地变湿地实现tcp的p2p的打洞技术 1、套接字和TCP端口的重用 实现基于TCP协议的p2p打洞过程中,最主要的问题不是来自于TCP协议,而是来自于来自于应用程序的API接口。 2、基于p2p的即时聊天和文件传输软件,是基于tcp/ip协议中的tcp和udp协议完成的一个能够完成即时通信和传输文件的软件,该软件实现了局域网内的通行,在不需要使用公网…

    2023年12月3日
    19 0 0

91约炮网址app下载安装

登录后才能评论



91约炮网址在线免费观看

400-800-8888

在线咨询:

邮件:[email protected]

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信