商城网站建设都有哪些类型阀门行业网站怎么做

pingmian/2026/1/21 14:21:34/文章来源:
商城网站建设都有哪些类型,阀门行业网站怎么做,网站建设合同合同期限,沈阳网站建设公司电话1.集合 在内存层面需要针对于多个数据进行存储。此时可以考虑的容器有#xff1a;数组、集合类。 数组存储多个数据方面的特点#xff1a; 数组一旦初始化#xff0c;其长度就是确定的。数组中的多个元素是依次紧密排列的#xff0c;有序的#xff0c;可重复的。数组一…1.集合 在内存层面需要针对于多个数据进行存储。此时可以考虑的容器有数组、集合类。 数组存储多个数据方面的特点 数组一旦初始化其长度就是确定的。数组中的多个元素是依次紧密排列的有序的可重复的。数组一旦初始完成其元素的类型就是确定的。不是此类型的元素无法添加到该数组中。数组中元素的类型既可以是基本数据类型也可以是引用数据类型。 数组存储多个数据方面的弊端 数组一旦初始化其长度就不可变。数组中存储数据特点的单一性。对于无序的、不可重复的场景的多个数据就无能为力。数组中可用的方法、属性都极少。具体的需求都需要自己来组织相关的代码逻辑。针对于数组中元素的删除、插入操作性能较差。 1.1 Java集合框架体系 java.util.Collection存储一个一个的数据。 子接口List存储有序的、可重复的数据”动态“数组。ArrayList主要实现类、LinkedList、Vector。子接口Set存储无序的、不可重复的数据。HashSet、LinkedHashSet、TreeSet。 java.util.Map存储一对一对的数据。 HashMap主要实现类、LinkedHashMap、TreeMap、Hashtable、Properties。 1.2 Collection接口及方法 JDK 不提供此接口的任何直接实现而是提供更具体的子接口如Set 和 List去实现。Collection 接口是 List 和 Set 接口的父接口该接口里定义的方法既可用于操作 Set 集合也可用于操作 List 集合。 1.2.1 常用方法 add(Object obj)添加元素对象到当前集合中。addAll(Collection other)添加 other 集合中的所有元素对象到当前集合中即 this this ∪ other。int size()获取当前集合中实际存储的元素个数。boolean isEmpty()判断当前集合是否为空集合。boolean contains(Object obj)判断当前集合中是否存在一个与 obj 对象 equals 返回 true 的元素。boolean containsAll(Collection coll)判断 coll 集合中的元素是否在当前集合中都存在。即 coll 集合是否是当前集合的“子集”。boolean equals(Object obj)判断当前集合与 obj 是否相等。void clear()清空集合元素。boolean remove(Object obj) 从当前集合中删除第一个找到的与 obj 对象 equals 返回 true 的元素。boolean removeAll(Collection coll)从当前集合中删除所有与 coll 集合中相同的元素。即 this this - this ∩ coll。boolean retainAll(Collection coll)从当前集合中删除两个集合中不同的元素使得当前集合仅保留与 coll 集合中的元素相同的元素即当前集合中仅保留两个集合的交集即 this this ∩ coll。Object[] toArray()返回包含当前集合中所有元素的数组。hashCode()获取集合对象的哈希值。iterator()返回迭代器对象用于集合遍历。 1.2.2 集合与数组的相互转换 集合转数组toArray()。数组转集合调用Arrays的静态方法asList(Object … objs)。 向Collection中添加元素时要求元素所属的类一定要重写equals()方法。因为Collection中的相关方法在使用时要调用元素所在类的equals()方法。 1.3 迭代器接口Iterator及方法 在程序开发中经常需要遍历集合中的所有元素。针对这种需求JDK 专门提供了一个接口 java.util.Iterator。Iterator 接口也是 Java 集合中的一员但它与Collection、Map 接口有所不同。 Collection 接口与 Map 接口主要用于存储元素。Iterator被称为迭代器接口本身并不提供存储对象的能力主要用于遍历 Collection 中的元素。 Collection 接口继承了 java.lang.Iterable 接口该接口有一个 iterator()方法那么所有实现了 Collection 接口的集合类都有一个 iterator()方法用以返回一个实现了 Iterator接口的对象。 public Iterator iterator(): 获取集合对应的迭代器用来遍历集合中的元素的。集合对象每次调用 iterator()方法都得到一个全新的迭代器对象默认游标都在集合的第一个元素之前。 1.3.1 常用方法 public E next():返回迭代的下一个元素。作用1是将指针下移作用2是将下移以后集合位置上的元素返回。public boolean hasNext():如果仍有元素可以迭代则返回 true。 注意在调用 it.next()方法之前必须要调用 it.hasNext()进行检测。若不调用且下一条记录无效直接调用 it.next()会抛出 NoSuchElementException 异常。Iterator iterator coll.iterator(); while(iterator.hasNext()){System.out.println(iterator.next());}1.3.2 foreach循环 foreach 循环也称增强 for 循环是 JDK5.0 中定义的一个高级 for 循环专门用来遍历数组和集合的。 foreach 循环的语法格式 for(要遍历的集合或数组元素的类型 临时变量 : 要遍历的集合或数组变量){//操作临时变量的输出操作 }Testpublic void test1(){Collection coll new ArrayList();coll.add(AA);coll.add(BB);coll.add(128);coll.add(new String(张三));for (Object obj:coll) {System.out.println(obj);}}说明 针对于集合来讲增强for循环的底层仍然使用的是迭代器。增强for循环的执行过程中是将集合或数组中的元素依次赋值给临时变量。注意循环体中对临时变量的修改可能不会导致原有集合或数组中元素的修改。 1.4 List接口及方法 List接口用于存储有序的、可以重复的数据。可以使用List替代数组。 1.4.1 常用方法 add(Object obj)添加元素对象到当前集合中。addAll(Collection other)添加 other 集合中的所有元素对象到当前集合中即 this this ∪ other。int size()获取当前集合中实际存储的元素个数。boolean isEmpty()判断当前集合是否为空集合。boolean contains(Object obj)判断当前集合中是否存在一个与 obj 对象 equals 返回 true 的元素。boolean containsAll(Collection coll)判断 coll 集合中的元素是否在当前集合中都存在。即 coll 集合是否是当前集合的“子集”。boolean equals(Object obj)判断当前集合与 obj 是否相等。void clear()清空集合元素。boolean remove(Object obj) 从当前集合中删除第一个找到的与 obj 对象 equals 返回 true 的元素。boolean removeAll(Collection coll)从当前集合中删除所有与 coll 集合中相同的元素。即 this this - this ∩ coll。boolean retainAll(Collection coll)从当前集合中删除两个集合中不同的元素使得当前集合仅保留与 coll 集合中的元素相同的元素即当前集合中仅保留两个集合的交集即 this this ∩ coll。Object[] toArray()返回包含当前集合中所有元素的数组。hashCode()获取集合对象的哈希值。iterator()返回迭代器对象用于集合遍历。void add(int index, Object ele):在 index 位置插入 ele 元素。boolean addAll(int index, Collection eles):从 index 位置开始将 eles 中的所有元素添加进来。Object get(int index):获取指定 index 位置的元素。List subList(int fromIndex, int toIndex):返回从 fromIndex 到 toIndex 位置的子集合。int indexOf(Object obj):返回 obj 在集合中首次出现的位置。int lastIndexOf(Object obj):返回 obj 在当前集合中末次出现的位置。Object remove(int index):移除指定 index 位置的元素并返回此元素。Object set(int index, Object ele):设置指定 index 位置的元素为ele。 1.4.2 List 接口的实现类 ArrayListList的主要实现类线程不安全但效率高底层使用Object[]数组存储。VectorList的古老实现类线程安全但效率低底层使用Object[]数组存储。LinkedList底层使用双向链表的方式进行存储。 package p156;import java.util.ArrayList; import java.util.Scanner;public class StudentTest {public static void main(String[] args) {Scanner sc new Scanner(System.in);ArrayList list new ArrayList();System.out.println(请输入学生信息:);while (true){System.out.println(1:继续输入,0:结束录入);int selection sc.nextInt();if (selection 0){break;}System.out.print(请输入学生姓名:);String name sc.next();System.out.print(请输入学生年龄:);int age sc.nextInt();Student s new Student(name, age);list.add(s);}for (Object arr:list) {System.out.println(arr.toString());}sc.close();} }package p156;import java.util.ArrayList; import java.util.Collection;public class ListTest {public static void main(String[] args) {ArrayListObject list new ArrayList();for (int i 0; i 30; i) {list.add((char) (Math.random() * (122 - 97 1) 97) );}int aCount listTest(list, a);int bCount listTest(list, b);int cCount listTest(list, c);int xCount listTest(list, x);System.out.println(aCount);System.out.println(bCount);System.out.println(cCount);System.out.println(xCount);}public static int listTest(Collection list, String s){int count 0;for (Object obj :list) {if (s.equals(obj)){count;}}return count;} }1.5 Set接口及方法 1.5.1 介绍 Set 接口是 Collection 的子接口Set 接口相较于 Collection 接口没有提供额外的方法。Set 集合不允许包含相同的元素如果试把两个相同的元素加入同一个 Set 集合中则添加操作失败。Set 集合支持的遍历方式和 Collection 集合一样foreach 和 Iterator。Set 的常用实现类有HashSet、TreeSet、LinkedHashSet。 1.5.2 HashSet HashSet 是 Set 接口的主要实现类大多数时候使用 Set 集合时都使用这个实现类。HashSet 按 Hash 算法来存储集合中的元素因此具有很好的存储、查找、删除性能。HashSet 具有以下特点 不能保证元素的排列顺序。HashSet 不是线程安全的。集合元素可以是 null。 HashSet 集合判断两个元素相等的标准两个对象通过 hashCode() 方法得到的哈希值相等并且两个对象的 equals()方法返回值为 true。对于存放在 Set 容器中的对象对应的类一定要重写 hashCode()和 equals(Object obj)方法以实现对象相等规则。即“相等的对象必须具有相等的散列码”。HashSet 集合中元素的无序性不等同于随机性。这里的无序性与元素的添加位置有关。具体来说我们在添加每一个元素到数组中时具体的存储位置是由元素的hashCode()调用后返回的 hash 值决定的。导致在数组中每个元素不是依次紧密存放的表现出一定的无序性。 1.5.3 LinkedHashSet LinkedHashSet 是 HashSet 的子类不允许集合元素重复。LinkedHashSet 根据元素的 hashCode 值来决定元素的存储位置但它同时使用双向链表维护元素的次序这使得元素看起来是以添加顺序保存的。LinkedHashSet 插入性能略低于 HashSet但在迭代访问 Set 里的全部元素时有很好的性能。 1.5.4 TreeSet TreeSet 是 SortedSet 接口的实现类TreeSet 可以按照添加的元素的指定的属性的大小顺序进行遍历。TreeSet 底层使用红黑树结构存储数据。TreeSet 特点不允许重复、实现排序自然排序或定制排序。自然排序默认情况下TreeSet 采用自然排序TreeSet 会调用集合元素的 compareTo(Object obj) 方法来比较元素之间的大小关系然后将集合元素按升序(默认情况)排列。 如果试图把一个对象添加到 TreeSet 时则该对象的类必须实现Comparable 接口。实现 Comparable 的类必须实现compareTo(Object obj) 方法两个对象即通过 compareTo(Object obj) 方法的返回值来比较大小。 定制排序如果元素所属的类没有实现 Comparable 接口或不希望按照升序(默认情况)的方式排列元素或希望按照其它属性大小进行排序则考虑使用定制排序。定制排序通过 Comparator 接口来实现。需要重写compare(T o1,T o2)方法。 利用 int compare(T o1,T o2)方法比较 o1 和 o2 的大小如果方法返回正整数则表示 o1 大于 o2如果返回 0表示相等返回负整数表示 o1 小于 o2。要实现定制排序需要将实现 Comparator 接口的实例作为形参传递给 TreeSet 的构造器。 因为只有相同类的两个实例才会比较大小所以向 TreeSet 中添加的应该是同一个类的对象。对于 TreeSet 集合而言它判断两个对象是否相等的唯一标准是两个对象通过compareTo(Object obj) 或 compare(Object o1,Object o2)方法比较返回值。返回值为 0则认为两个对象相等。 /*** 将0-20之间的随机数放入集合中要求不能出现重复元素*/ public class Exer02 {public static void main(String[] args) {HashSet set new HashSet();while (set.size() 10) {int random (int) (Math.random() * (10 - 1 1) 1);set.add(random);}Iterator iterator set.iterator();while (iterator.hasNext()){System.out.println(iterator.next());}} }/*** 去除列表中重复的元素仅保留一个即可*/public class Exer01 {public static void main(String[] args) {ArrayList list new ArrayList();list.add(34);list.add(34);list.add(34);list.add(24);list.add(24);list.add(44);list.add(44);list.add(44);List newList duplicateList(list);System.out.println(newList);}public static List duplicateList(List list){HashSet set new HashSet(list);ArrayList list1 new ArrayList(set);return list1;} }1.6 Map接口及方法 1.6.1 Map及其实现类对比 HashMap主要实现类线程不安全但效率高可以添加null的key和value值底层使用数组单向链表红黑树结构存储JDK8。Hashtable古老实现类线程安全但效率低不可以添加null的key和value值底层使用数组单向链表结构存储JDK8。LinkedHashMap是HashMap的子类在HashMap使用的数据结构的基础上增加了一对双向链表用于记录添加的元素的先后顺序进而在遍历时可以按照添加的顺序显示。在开发中对于频繁的遍历操作建议使用此类。TreeMap底层使用红黑树存储可以按照添加的key-value中的key元素的指定的属性大小顺序进行遍历。需要考虑自然排序和定制排序。Properties是Hashtable的子类其key和value都是String类型常用来处理属性文件。 1.6.2 HashMap中元素的特点 HashMap中的所有的key彼此之间是不可重复的、无序的。所有的key构成一个Set集合。key所在的类要重写hashCode()和equals()方法。HashMap中的所有的value彼此之间是可重复的、无序的。所有的value就构成了一个Collection集合。value所在的类要重写equals()方法。HashMap中的一个key-value构成一个entry。HashMap中所有的entry彼此之间是不可重复的、无序的。所有的entry构成了一个Set集合。 1.6.3 Map中的常用方法 添加、修改操作 Object put(Object key,Object value)将指定 key-value 添加到(或修改)当前map 对象中。void putAll(Map m):将 m 中的所有 key-value 对存放到当前 map 中。 删除操作 Object remove(Object key)移除指定 key 的 key-value 对并返回 value。void clear()清空当前 map 中的所有数据。 元素查询的操作 Object get(Object key)获取指定 key 对应的 value。boolean containsKey(Object key)是否包含指定的 key。boolean containsValue(Object value)是否包含指定的 value。int size()返回 map 中 key-value 对的个数。boolean isEmpty()判断当前 map 是否为空。boolean equals(Object obj)判断当前 map 和参数对象 obj 是否相等。 元视图操作的方法 Set keySet()返回所有 key 构成的 Set 集合。Collection values()返回所有 value 构成的 Collection 集合。Set entrySet()返回所有 key-value 对构成的 Set 集合。 1.6.4 TreeMap的使用 底层使用红黑树存储。可以按照添加的key-value中的key元素的指定属性大小顺序进行遍历。考虑使用自然排序和定制排序。要求向TreeMap中添加的的key必须是同一个类型的对象。 1.6.5 Hashtable与Properties的使用 Properties是Hashtable的子类其key和value都是String类型常用来处理属性文件。 package p161;import java.util.*;public class SingerTest {public static void main(String[] args) {HashMap singers new HashMap();String singer1 周杰伦;ArrayList songs1 new ArrayList();songs1.add(夜曲);songs1.add(晴天);songs1.add(七里香);songs1.add(青花瓷);singers.put(singer1,songs1);Set entrySet singers.entrySet();Iterator iterator entrySet.iterator();while (iterator.hasNext()){Map.Entry entry (Map.Entry) iterator.next();System.out.println(歌手:entry.getKey());System.out.println(歌曲有:entry.getValue());}} }1.7 Collections工具类 Collections是一个操作Set、List和Map等集合的工具类。 1.7.1 常用方法 Collections 中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作还提供了对集合对象设置不可变、对集合对象实现同步控制等方法均为static 方法。 排序操作 reverse(List)反转 List 中元素的顺序。shuffle(List)对 List 集合元素进行随机排序。sort(List)根据元素的自然顺序对指定 List 集合元素按升序排序。sort(ListComparator)根据指定的 Comparator 产生的顺序对 List 集合元素进行排序。swap(Listint int)将指定 list 集合中的 i 处元素和 j 处元素进行交换。 查找 Object max(Collection)根据元素的自然顺序返回给定集合中的最大元素。Object max(CollectionComparator)根据 Comparator 指定的顺序返回给定集合中的最大元素。Object min(Collection)根据元素的自然顺序返回给定集合中的最小元素。Object min(CollectionComparator)根据 Comparator 指定的顺序返回给定集合中的最小元素。int binarySearch(List list,T key)在 List 集合中查找某个元素的下标但是 List 的元素必须是 T 或 T 的子类对象而且必须是可比较大小的即支持自然排序的。而且集合也事先必须是有序的否则结果不确定。int binarySearch(List list,T key,Comparator c)在 List 集合中查找某个元素的下标但是List 的元素必须是 T 或 T 的子类对象而且集合也事先必须是按照 c 比较器规则进行排序过的否则结果不确定。int frequency(Collection cObject o)返回指定集合中指定元素的出现次数。 复制、替换 void copy(List dest,List src)将 src 中的内容复制到 dest 中。boolean replaceAll(List listObject oldValObject newVal)使用新值替换 List 对象的所有旧值。提供了多个unmodifiableXxx()方法该方法返回指定 Xxx 的不可修改的视图。 添加 boolean addAll(Collection c,T… elements)将所有指定元素添加到指定 collection 中。 同步 Collections 类中提供了多个 synchronizedXxx() 方法该方法可使将指定集合包装成线程同步的集合从而可以解决多线程并发访问集合时的线程安全问题。

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

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

相关文章

15年做那些网站能致富免费的高清视频素材网站

迅雷已经用了 10 年,一直把它看作是速度最快也最方便的下载工具。迅雷会员也是我必续的服务。但,迅雷堕落了。thunder: 迅雷专属链接越来越少,基本都是磁力、BT 的天下迅雷会员加速不再给力,大量资源速度为 0。会员虽然还有一年多…

目前网站建设用哪种语言公司注销后 网站备案吗

register方法正如前面所提到的,在register方法中只绑定事物到服务容器,而不要做其他事情,否则,一不小心就能用到一个尚未被加载的服务提供者提供的服务。现在让我们来看看一个基本的服务提供者长什么样:namespace AppP…

烟台北京网站建设公司哪家好wordpress博客背景

1. 问题描述 问题描述,现A表(用户查看实验的次数)有user_id和exp_id两个字段,其中user_id加exp_id不唯一。B表有user_id,exp_id以及exp_num三个字段,其中user_id加exp_id唯一(表中未建唯一索引)。 现需要将A表的数据同步到B表,单机模式通过定时任务同步。A表的数据有…

教育门户网站模板外贸小网站建设

【力扣】 209. 长度最小的子数组 文章目录 【力扣】 209. 长度最小的子数组1. 题目介绍2. 解法2.1 暴力求解2.2 前缀和 二分查找2.3 滑动窗口2.4 贪心回溯 3. Danger参考 1. 题目介绍 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 …

软件介绍下载网站建设门户网站建设公司价位

目录 一、环境 1、映射、域名、三墙 2、Erlang和socat安装(三台服务器都实行) 二、部署三台rabbitmq-3.8.15实例 1、rabbitmq官网下载地址 : 2、解压rabbitmq 3、添加系统变量 4、启动web插件、启动rabbitmq 5、在rabbitmq1上添加用…

天津医疗行业网站建设仿业务网站源码

**向前插入迭代器,是架构在具有push_front向前插入函数的序列容器(比如deque list)上的输出迭代器,可以利用*改迭代器提供的“”,“*”,“”以“*fii9;”的类似的形式完成容器元素的赋值。**其中“*”和&qu…

深圳建设局网站注册结构师培训附件网页制作工具的选择

本文分析了ida81对输入密码的验证流程,分别对输入密码到生成解密密钥、密码素材的生成过程以及文件数据的加密过程这三个流程进行分析,并尝试找一些可利用的破绽。很遗憾,由于水平有限,目前也只是有个思路未能完全实现&#xff0c…

瑞安网站建设步骤网站开发微盘

题意: 给你两个数字n和m;代表会有n个苹果掉落,m次可以移动的机会;有两棵树,开始你站在树1下面,一分钟只能移动一次,下面的数值代表在哪一颗树下会掉落苹果;问你在可移动的范围内&am…

免费动漫网站成都网站设计开发做得好

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 代码 class Solution {public int sear…

网站下载文件怎么做关键词优化举例

单例模式示例: public sealed class WindowService {//定义一个私有的静态全局变量来保存该类的唯一实例private static WindowService Service;//定义一个只读静态对象//且这个对象是在程序运行时创建的private static readonly object syncObject new object();…

网站空间多大合适wordpress+仿简书模板

文章目录 一、Gin框架介绍二、RESTful API三、Gin渲染1. HTML渲染2. 自定义模板函数3. 静态文件处理4. 使用模板继承5. 补充文件路径处理6. JSON渲染7. XML渲染8. YMAL渲染9. protobuf渲染 四、Gin获取各种方式传递过来的参数1、获取querystring参数2、获取form参数3、获取path…

电子商务网站建设 名词解释创建网站大约多少钱

一. 简介 JSDoc 3 是一个用于 JavaScript 的API文档生成器,类似于 Javadoc 或 phpDocumentor。可以将文档注释直接添加到源代码中。JSDoc 工具将扫描您的源代码并为您生成一个 HTML 文档网站。 JSDoc 是一种用于 JavaScript 代码文档注释的标记语言和工具。它不仅…

网站文字排版备案的网站建设书是什么

写入借鉴网址:好细的Vue安装与配置_vue配置-CSDN博客 下载Vue安装地址: Node.js — Download 查看是否安装成功: node -v npm -v 配置全局模式及缓存 结果通过: C:\Windows\system32>npm install vue -g added 20 packages …

私活网站开发多少钱福州seo网络推广

文章目录一、 简介二、 docker流程引擎部署2.1. jdk安装配置2.2. 下载打包好的tar包2.3. 上传tar包2.4. 在线安装Docker2.5. 检验安装是否成功三、tar转docker镜像3.1. 查看当前镜像3.2. 加载备份的flow-mysql.tar镜像文件3.3. 加载备份的flow-admin.tar镜像文件3.4. 加载备份的…

网页设计教程ppt封面图片技术优化seo

傅里叶级数和傅里叶变换 傅里叶变换,表示能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。

福州做网站互联网公司有哪些集团网站建设费用

1、掌握SQL语言实现数据查询、定义、操纵、控制的关键字。 数据查询:使用SELECT关键字进行数据查询操作。数据定义:使用CREATE和ALTER关键字进行数据库、表、视图、索引等的定义操作。数据操纵:使用INSERT、DELETE和UPDATE关键字进行数据的插…

设计网站都有什么作用是什么原因保险网站大全

电脑自动关机功能在许多场景下非常实用,例如下载大文件后自动关机、长时间不使用电脑后自动关机以节省能源等。通过合理设置自动关机,可以提高电脑使用的便利性和节能效果。本文将介绍电脑自动关机怎么设置的三种方法,帮助您根据不同需求灵活…

网站设计需求两学一做登录网站

关于 Neting刚开始的时候是打算使用微软官方的 Yarp 库,实现一个 API 网关。目前写完了查看 Kubernetes Service 信息、创建 Route 和 Cluster 和绑定 Kubernetes Service。简单来说,就是完成了基础部分,配置路由和后端服务绑定,如…

重庆公司网站建设步骤谷歌wordpress优化

四次挥手 1)客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN1,其序列号为sequ(等于前已经传送过来的数据的最后一个字节的序号加1),此时,客户端进入FIN_WAIT_1&#xff08…

安全网站建设情况微信网页版文件传输助手

引言 C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。它在编程语言中具有举足轻重的地位。 此文为【C语言必知必会】系列第四篇,进行C语言顺序结构的专项练习,结合专题优质题目,带领读者从0开始&#xff0…