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

C#数组复习

一、一维数组 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ShuZu : MonoBehaviour
{#region  知识点一 基本概念//数组是存储一组相同类型数据的集合//数组分为 一维、二维、交错数组//一般情况  一维数组 就简称为数组#endregion#region 知识点二 数组的申明//变量类型[] 数组名;//只是申明了一个数组,但是并没有开放//变量类型 可以是我们学过的 或者 没学过的所有变量类型int[] arr1;//变量类型[] 数组名=new  变量类型[数组的长度];int[] arr2 = new int[5];//这种方式 相当于开了5个房间  但是房间里面的int值 默认为0//变量类型[] 数组名 =new 变量类型[数组的长度]{内容1,内容2,内容3,....};int[] arr3 = new int[5] { 1, 2, 3, 4, 5 };//变量类型[] 数组名 =new 变量类型[] {内容1,内容2,内容3,....};int[] arr4 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };//后面的内容就决定了 数组的长度 "房间数"//变量类型[] 数组名={内容1,内容2,内容3,....};int[] arr5 = { 1, 3, 4, 5, 6 };//后面的内容就决定了 数组的长度 "房间数"#endregion// Start is called before the first frame updatevoid Start(){#region 知识点三 数组的使用int[] array = { 1, 2, 3, 4, 5 };//1.数组的长度Debug.Log(array.Length);//2.获取数组中的元素//数组中的下标和索引 他们是从0开始的//通过 索引下标去  获得数组中某一个元素的值时//一定注意!!!!!//不能越界Debug.Log(array[0]);//3.修改数组中的元素array[0] = 99;Debug.Log(array[0]);//4.遍历数组 通过循环 快速获取数组中的每一个元素for (int i = 0; i < array.Length; i++){Debug.Log(array[i]);}//5.增加数组的元素//组数初始化以后 是不能够 直接添加新的元素的int[] array2 = new int[6];for(int i = 0; i < array.Length; i++){array2[i] = array[i];}array = array2;for (int i = 0; i < array.Length; i++){Debug.Log(array[i]);}array[5] = 999;//6.删除数组的元素//数组初始化以后 是不能够  直接删除元素的//搬家的原理int[] array3 = new int[5];//搬家for (int i = 0; i < array3.Length; i++){array3[i] = array[i];}array = array3;Debug.Log(array.Length);//7.查找数组中的元素//99 2 3 4 5//要查找 3这个元素在哪个位置//只有通过遍历才能确定 数组中 是否存储了一个目标元素int a = 3;for (int i = 0; i < array.Length; i++){if (a == array[i]){Debug.Log("和a相等的元素在{0}" + i);}}#endregion}//总结//1.概念:同一变量类型的数据集合//2.一定要掌握知识:申明,遍历, 增删查改//3.所有的变量类型都可以申明为 数组//4.它是用来批量存储游戏中的同一类型对象的  容器}

一维数组练习:

 #region  练习题一//请创建一个一维数组并赋值,让其值与下标一样,长度为100int[] arr1 = new int[100];for (int i = 0; i < arr1.Length; i++){arr1[i] = i;Console.WriteLine(arr1[i]);}#endregion
 #region 练习题二//创建另一个数组B,让数组A中的每个元素的值乘以2存入到数组B中int[] arrayA = new int[10];int[] arrayB = new int[10];for (int i = 0; i < arrayB.Length; i++){arrayB[i] = arrayA[i]*2;Console.WriteLine(arrayB[i]);}#endregion
 #region 练习题三//随机(0--100)生成1个长度为10的整数数组int[] array=new int[10];Random r= new Random();for(int i = 0; i < array.Length; i++){array[i] =r.Next(0,101);//左包含右不包含Console.WriteLine(array[i]);}#endregion
 #region 练习题四//从一个整数数组中找出最大值 最小值 总和  平均值//(可以使用随机数1--100)int[] arrayInt= new int[10];Random c=new Random();for(int i = 0; i < arrayInt.Length; i++){arrayInt[i] = c.Next(0, 101);Console.WriteLine(arrayInt[i]);}//第一次进入时 不存在  最大最小的概念//可以认为  第一次 最大值最小值 都是第一个数int min = 0;int max = 0;int sum = 0;int avg = 0;for (int i = 0; i < arrayInt.Length; i++){//如果当前的值 比min还要小 那么当前的值就是最小的值if (min > arrayInt[i]){min = arrayInt[i];}//如果当前的值 比max还要大 那么当前的值就是最大的值if (max < arrayInt[i]){max = arrayInt[i];}//每一次的值加上去 就是总和sum += arrayInt[i];}avg=sum/arrayInt.Length;#endregion
 #region 练习题五//交换数组中的第一个和最后一个、第二个和倒数第二个、依次类推,把数组进行反转并打印int[] array5= new int[10];Random ra= new Random();for (int i = 0; i < array5.Length; i++){array5[i] = ra.Next(0, 101);Console.WriteLine(array5[i]);}Console.WriteLine("****************");//交换 那就中间商不赚差价//int temp = array5[0];//array5[0] = array5[array5.Length-1];//array5[array5.Length-1]= temp;//temp = array5[1];//array5[1]= array5[array5.Length-1-1];//array5[array5.Length - 1 - 1] = temp;//temp = array5[2];//array5[2] = array5[array5.Length - 1 - 1-1];//array5[array5.Length - 1 - 1-1] = temp;for (int i = 0;i < array5.Length/2; i++){int temp = array5[i];array5[i] = array5[array5.Length - i - 1];array5[array5.Length - i - 1] = temp;}
for (int i = 0;i<array5.Length ; i++){Console.WriteLine(array5[i]);}#endregion
 #region 练习题六//将一个整数数组的每一个元素进行如下的处理://如果元素时正数则将这个位置的元素值加1;//如果元素是负数则将这个位置的元素值减1;//如果元素是0,则不变int[] array6= new int[10];Random ran= new Random();for (int i = 0; i < array6.Length; i++){array6[i] = ran.Next(-10, 11);Console.WriteLine(array6[i]);}Console.WriteLine("$$$$$$$$$$$$$$$$$$$$$$$$");for (int i = 0; i < array6.Length; i++){//得到每一个元素 进行判断即可if (array6[i] > 0){array6[i] +=1;}else if (array6[i] < 0){array6[i] -=1;}else if (array6[i]==0){array6[i] = array6[i];}Console.WriteLine(array6[i]);}#endregion
 #region 练习题七//定义一个有10个元素的数组,使用for循环,输入10名同学的数学成绩//将成绩依次存入数组,然后分别求出最高分和最低分//并且求出10名同学的数学平均成绩int[] array7= new int[10];try{int min2 = 0;int max2 = 0;int sum2 = 0;int avg2 = 0;for (int i = 0; i < array7.Length; i++){Console.WriteLine("请输入第{0}位同学的成绩", i+1);array7[i] = int.Parse(Console.ReadLine());//第一次进来 min max 没有任何意义 所以第一次可以就认为该成绩即使 最高分也是最低分if (i == 0){min2 = array7[i];max2 = array7[i];}else{//只有除了第一次以外 才来进行 大小值的判断if (min2 > array7[i]){min2 = array7[i];}else if (max2 < array7[i]){max2 = array7[i];}}sum2 += array7[i];}avg2 = sum2 / array7.Length;Console.WriteLine("最低分{0}最高分{1}总成绩{2}平均值{3}", min2, max2, sum2, avg2);}catch (Exception){Console.WriteLine("请输入数字");}#endregion

   #region 练习题八//请声明一个string类型的数组(长度为25)(该数组中存储着符号)//通过遍历数组的方式取出其中存储的符号打印出以下效果string[] array8= new string[25];for (int i = 0; i < array8.Length; i++){array8[i] = i % 2 == 0 ?  "■" :"□";//if (i % 2 == 0)//{//    array8[i] = "■";//}//else//{//    array8[i] = "□";//}}for (int i = 0; i < array8.Length; i++){if (i%5==0&&i!=0){Console.WriteLine();}Console.Write(array8[i]);}#endregion

二、二维数组

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace 二维数组
{internal class Program{static void Main(string[] args){#region 知识点一 基本概念//二维数组 是使用两个下标(索引)来确定元素的数组//两个下标可以理解成 行标 和 列标//比如矩阵//1 2 3//4 5 6//可以用二维数组   int[2,3]表示//好比 两行 三列的数据集合#endregion#region 知识点二 二维数组的申明//变量类型[,] 二维数组变量名;int[,] arr;//申明过后  会在后面进行初始化//变量类型[,] 二维数组变量名 =new 变量类型[行,列];int[,] arr2 = new int[3, 3];//变量类型[,] 二维数组变量名 =new 变量类型[行,列]{{0行内容1,0行内容2,0行内容3.....},{1行内容1,1行内容2,1行内容3.....}....};int[,] arr3=new int[3, 3] { { 1,2,3},{ 4,5,6},{ 7,8,9}};//变量类型[,] 二维数组变量名=new 变量类型[,]{{0行内容1,0行内容2,0行内容3.....},{1行内容1,1行内容2,1行内容3.....}....};int[,] arr4 = new int[3, 3] { { 1,2,3},{ 4,5,6},{ 7,8,9}};//变量类型[,] 二维数组变量名={{0行内容1,0行内容2,0行内容3.....},{1行内容1,1行内容2,1行内容3.....}....};int[,] arr5 ={ { 1,2,3},{ 4,5,6},{ 7,8,9}};#endregion#region  知识点三  二维数组的使用int[,] array1 = new int[,] { { 1, 2, 3 },{ 4, 5, 6 } };//1.二维数组的长度//我们要获取  行和列分别是多长//得到多少行Console.WriteLine(array1.GetLength(0));//得到多少列Console.WriteLine(array1.GetLength(1));//2.获取二维数组中的元素//注意:第一个元素的索引是0  最后一个元素的索引  肯定是长度-1Console.WriteLine(array1[0, 1]);Console.WriteLine(array1[1, 2]);//3.修改二维数组中的元素array1[0, 0] = 99;Console.WriteLine(array1[0, 0]);Console.WriteLine("#######################");//4.遍历二维数组for (int i = 0; i <array1.GetLength(0); i++){for (int j = 0; j < array1.GetLength(1); j++){//i行  0 1//j列  0 1 2Console.WriteLine(array1[i, j]);//0,0  0,1  0,2//1,0  1,1  1,2}}//5.增加数组的元素//数组申明初始化过后  就不能在原有的基础上进行  添加 或者删除了int[,] array2 = new int[3, 3];for (int i = 0; i < array1.GetLength(0); i++){for(int j = 0;j < array1.GetLength(1); j++){array2[i, j] = array1[i,j];}}array1 = array2;array1[2, 0] = 7;array1[2, 1] = 8;array1[2, 2]=9;//6.删除数组的元素//7.查找数组中的元素//如果要在数组中查找一个元素是否等于某个值//通过遍历的形式去查找#endregion//总结://1.概念:同一变量类型的  行列数据集合//2.一定要掌握内容:申明,遍历,增删查改//3.所有的变量类型都可以神明为  二维数组//4.游戏中一般用来储存  矩阵,再控制台小游戏中可以用二维数组  来表示地图格子}}
}

二维数组练习:

 #region 练习题一//将1到10000赋值给一个二维数组  (100行100列)int[,] array1 = new int[100, 100];int index = 1;for (int i = 0; i < array1.GetLength(0); i++){for (int j = 0; j < array1.GetLength(1); j++){array1[i, j] = index;++index;Console.WriteLine(array1[i, j] + " ");}}#endregion

 

 #region 练习题二//将二维数组(4行4列)的右上半部分置零(元素随机1--100)int[,] array2 = new int[4, 4];Random r = new Random();for (int i = 0; i < array2.GetLength(0); i++){for (int j = 0; j < array2.GetLength(1); j++){if (i<=1 && j > 1){array2[i, j] = 0;}else{array2[i, j] = r.Next(1, 101);}Console.Write(array2[i, j] + " ");}Console.WriteLine();}#endregion

 #region 练习题三//求二维数组(3行3列)的对角线元素的和(元素随机1--10)int[,] array3 = new int[3, 3];Random ra = new Random();int sum3 = 0;for (int i = 0; i < array3.GetLength(0); i++){for (int j = 0; j < array3.GetLength(1); j++){array3[i, j] = ra.Next(1, 11);//对角线元素满足的条件if (i == j || i + j == 2){sum3 += array3[i, j];}Console.Write(array3[i, j] + " ");}Console.WriteLine();}Console.WriteLine(sum3);#endregion
 #region 练习题四//求二维数组 (5行5列) 中最大元素值及其行列号(元素随机1--500)int[,] array4=new int[5, 5];Random r5= new Random();//就是记录 最大值的 行列号int maxI = 0;int maxJ = 0;for (int i = 0;i < array4.GetLength(0); i++){for (int j = 0; j < array4.GetLength(1); j++){array4[i, j] = r5.Next(1, 501);//找最大值if (array4[maxI, maxJ] < array4[i,j]){maxI = i;maxJ=j;}Console.Write(array4[i, j] + " ");}Console.WriteLine();}Console.WriteLine("最大值为{0},行{1}列{2}",array4[maxI,maxJ],maxI,maxJ);#endregion

 #region 练习题五//给一个M*N的二维数组,数组元素的值为0或者1,//要求转换数组,将含有1的行和列全部置1int M = 5;int N=5;int[,] array5=new int[M, N];Random ra5=new Random();bool[] hang=new bool[5];bool[] lie=new bool[5];for (int i = 0; i < array5.GetLength(0); i++){for(int j = 0;j < array5.GetLength(1); j++){array5[i, j] = ra5.Next(0, 2);if (array5[i,j]==1){//记录了 当前 行列 是否要变1的标识//要变一 就置truehang[i] = true;lie[i] = true;}Console.WriteLine(array5[i, j] + " ");}Console.WriteLine();}for (int i = 0; i < array5.GetLength(0); i++){for (int j = 0; j < array5.GetLength(1); j++){//满足行和列的标识 是true 就变一if (hang[i] || lie[j]){array5[i, j] = 1;}Console.Write(array5[i, j]+" ");}Console.WriteLine() ;}#endregion

三、交错数组

using System;namespace 交错数组
{internal class Program{static void Main(string[] args){Console.WriteLine("非重点知识:交错数组");#region 知识点一 基本概念//交错数组  是 数组的数组,每个维度的数量可以不同//注意:二维数组的每行的列数相同,交错数组每行的列数可能不同#endregion#region 知识点二 数组的申明//变量类型[][] 交错数组名int[][] arr1;//变量类型[][] 交错数组名 =new 变量类型[行数][];int[][] arr2 = new int[3][];//变量类型[][] 交错数组名 =new 变量类型[行数][]{一维数组1,一维数组2,.......};int[][] arr3 = new int[3][] { new int[] { 1, 2, 3 },new int[] {1,2,3},new int[] { 1}  };//变量类型[][] 交错数组名 =new 变量类型[][]{一维数组1,一维数组2,.......};int[][] arr4 = new int[][] { new int[] { 1, 2, 3 },new int[] {1,2,3},new int[] { 1}  };//变量类型[][] 交错数组名 ={一维数组1,一维数组2,.......};int[][] arr5 ={ new int[] { 1, 2, 3 },new int[] {1,2,3},new int[] { 1}  };#endregion#region 知识点三 数组的使用int[][] array = {new int[] { 1, 2,3 },new int[] { 4, 5,}};//1.数组的长度//行Console.WriteLine(array.GetLength(0));//得到某一行的列数Console.WriteLine(array[0].Length);//2.获取交错数组中的元素//注意:不要越界Console.WriteLine(array[0][1]);//3.修改交错数组中的元素array[0][1] = 99;Console.WriteLine(array[0][1]);//4.遍历交错数组for (int i = 0; i < array.GetLength(0); i++){for (int j = 0; j < array[i].Length; j++){Console.WriteLine(array[i][j] +" ");}Console.WriteLine();}#endregion//总结//1.概念:交错数组 可以存储同一类型的m行不确定列的数据//2.一定要掌握的内容:申明  遍历  增删查改//3. 所有的变量类型都可以申明为  交错数组//4. 一般交错数组很少使用 了解即可}}
}

相关文章:

C#数组复习

一、一维数组 using System.Collections; using System.Collections.Generic; using UnityEngine;public class ShuZu : MonoBehaviour {#region 知识点一 基本概念//数组是存储一组相同类型数据的集合//数组分为 一维、二维、交错数组//一般情况 一维数组 就简称为数组#en…...

无人机之在农业上的用途

随着无人机技术的发展&#xff0c;农业现代化也迎来了崭新局面&#xff0c;田间随处可见无人机矫健的身影。当农业遇上科技&#xff0c;变革正悄然进行。农业无人机主要应用于农业、种植业、林业等行业。在使用过程中&#xff0c;其功能和作用并不单一&#xff0c;一般用于种植…...

opengaussdb在oepnEuler上安装

安装前提&#xff1a; 软件环境&#xff1a;openEuler 20.03LTS 个人开发者最低配置2核4G&#xff0c;推荐配置4核8G 数据库版本&#xff1a;openGauss-5.0.2-openEuler-64bit-all.tar.gz 数据库下载地址&#xff1a; https://docs-opengauss.osinfra.cn/zh/docs/5.0.0/docs/In…...

一些和颜色相关网站

1.中国传统色 2.网页颜色选择器 3.渐变色网站 4.多风格色卡生成 5.波浪生成 6.半透明磨砂框 7.色卡组合...

Linux系统编程-文件系统

目录 什么是Linux文件系统 文件系统的职责 存储介质抽象 inode&#xff1a;文件系统的核心 文件分配策略 目录结构 文件系统布局 日志和恢复机制 目录权限 粘滞位(t位)&#xff1a; 硬链接和符号链接 硬链接的特点&#xff1a; 创建硬链接&#xff1a; 符号链接的…...

【解决】ubuntu20.04 root用户无法SSH登陆问题

Ubuntu root用户无法登录的问题通常可以通过修改‌SSH配置文件和系统登录配置来解决。 修改SSH配置文件 sudo vim /etc/ssh/sshd_config 找到 PermitRootLogin 设置&#xff0c;并将其值更改为 yes 以允许root用户通过SSH登录 保存并关闭文件之后&#xff0c;需要重启SSH服务…...

(前缀和) LeetCode 238. 除自身以外数组的乘积

一. 题目描述 原题链接 给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&…...

【JVM基础05】——组成-能不能解释一下方法区?

目录 1- 引言&#xff1a;方法区概述1-1 方法区是什么&#xff1f;(What)1-2 为什么用方法区&#xff1f;方法区的作用 (Why) 2- ⭐核心&#xff1a;详解方法区(How)2-1 能不能解释一下方法区&#xff1f;2-2 元空间内存溢出问题2-3 什么是常量池&#xff1f;2-4 运行时常量池 …...

前端:Vue学习-3

前端&#xff1a;Vue学习-3 1. 自定义指令2. 插槽2.1 插槽 - 后备内容&#xff08;默认值&#xff09;2.2 插槽 - 具名插槽2.3 插槽 - 作用域插槽 3. Vue - 路由3.1 路由模块封装3.2 声明式导航 router-link 高亮3.3 自定义匹配的类名3.4 声明式导肮 - 跳转传参3.5 Vue路由 - 重…...

npm 安装报错(已解决)+ 运行 “wue-cli-service”不是内部或外部命令,也不是可运行的程序(已解决)

首先先说一下我这个项目是3年前的一个项目了&#xff0c;中间也是经过了多个人的修改惨咋了布置多少个人的思想&#xff0c;这这道我手里直接npm都安装不上&#xff0c;在网上也查询了多种方法&#xff0c;终于是找到问题所在了 问题1&#xff1a; 先是npm i 报错在下面图片&…...

江苏科技大学24计算机考研数据速览,有专硕复试线大幅下降67分!

江苏科技大学&#xff08;Jiangsu University of Science and Technology&#xff09;&#xff0c;坐落在江苏省镇江市&#xff0c;是江苏省重点建设高校&#xff0c;江苏省人民政府与中国船舶集团有限公司共建高校&#xff0c;国家国防科技工业局与江苏省人民政府共建高校 &am…...

20分钟上手新版Skywalking 9.x APM监控系统

Skywalking https://skywalking.apache.org/ Skywalking是专为微服务、云原生和基于容器的&#xff08;Kubernetes&#xff09;架构设计的分布式系统性能监控工具。 Skywalking关键特性 ● 分布式跟踪 ○ 端到端分布式跟踪。服务拓扑分析、以服务为中心的可观察性和API仪表板。…...

【07】LLaMA-Factory微调大模型——微调模型导出与微调参数分析

上文介绍了如何对微调后的模型进行使用与简单评估。本文将介绍对微调后的模型进行导出的过程。 一、llama-3微调后的模型导出 首先进入虚拟环境&#xff0c;打开LLaMA-Factory的webui页面 conda activate GLM cd LLaMA-Factory llamafactory-cli webui 之后&#xff0c;选择…...

动态路由协议 —— EIGRP 与 OSPF 的区别

EIGRP&#xff08;增强内部网关路由协议&#xff09;和 OSPF&#xff08;开放式最短路径优先&#xff09;是两种最常见的动态路由协议&#xff0c;主要是用来指定路由器或交换机之间如何通信。将其应用于不同的情况下&#xff0c;可提高速率、延迟等方面的性能。那么它们之间到…...

【中项】系统集成项目管理工程师-第5章 软件工程-5.1软件工程定义与5.2软件需求

前言&#xff1a;系统集成项目管理工程师专业&#xff0c;现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试&#xff0c;全称为“全国计算机与软件专业技术资格&#xff08;水平&#xff09;考试”&…...

HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 多选题序号1

基础认证题库请移步&#xff1a;HarmonyOS应用开发者基础认证题库 注&#xff1a;有读者反馈&#xff0c;题库的代码块比较多&#xff0c;打开文章时会卡死。所以笔者将题库拆分&#xff0c;单选题20个为一组&#xff0c;多选题10个为一组&#xff0c;题库目录如下&#xff0c;…...

Windows11(24H2)LTSC长期版下载!提前曝光Build26100?

系统&#xff1b;windows11 文章目录 前言一、LTSC是什么&#xff1f;二、 Windows 11 Vision 24H2 LTSC 的版本号为 Build 26100&#xff0c;镜像中提供以下三个 SKU&#xff1a;总结 前言 好的系统也能给你带来不一样的效果。 一、LTSC是什么&#xff1f; & & L…...

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第四十三章 驱动模块传参

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…...

uniapp 小程序 支付逻辑处理

uniapp 小程序 支付逻辑处理 上代码如果你不需要支付宝适配&#xff0c;可以删除掉支付宝的条件判断代码 <button class"subBtn" :disabled"submiting" click"goPay">去支付</button>// 以下代码你需要改的地方// 1. order/app/v1…...

scikit-learn库学习之make_regression函数

scikit-learn库学习之make_regression函数 一、简介 make_regression是scikit-learn库中用于生成回归问题数据集的函数。它主要用于创建合成的回归数据集&#xff0c;以便在算法的开发和测试中使用。 二、语法和参数 sklearn.datasets.make_regression(n_samples100, n_feat…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...