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

Chapter3:结构化程序设计

参考书籍:《C#边做边学》;



3.结构化程序设计
3.1 结构化程序设计的3种基本结构
  • 顺序结构:先执行 A {\rm A} A语句,再执行 B {\rm B} B语句,两者是顺序执行的关系;

  • 选择结构:根据所定选择条件为真与否,决定从各个不同的操作分支中执行某一分支的相应操作,常用的选择结构有条件语句和分支语句;

  • 条件语句:

    • i f {\rm if} if语句:基于布尔表达式的值来判定是否执行后面的内嵌语句块;

      // if语句语法格式:
      if(表达式)
      {语句块;
      }// 解释:
      // 如果表达式值为真,则执行大括号里面的语句块;
      // 如果表达式值为假,则不执行大括号里面的语句块,再执行程序中的后一条语句;
      
    • i f − e l s e {\rm if-else} ifelse语句:

      // if-else语句语法格式:
      if(表达式)
      {语句1;
      }
      else
      {语句2;
      }// 解释:
      // 如果表达式值为真,则执行if后大括号里面的语句块1;
      // 如果表达式值为假,则执行else后大括号里面的语句块2,再执行程序中的后一条语句;
      
      // if-else语句嵌套:
      if(表达式1)
      {if(表达式2){if(表达式3){语句1;}else{语句2;}}else{语句3;}
      }
      else
      {语句4;
      }
      
    • e l s e i f {\rm else\ if} else if语句

      // else if语句语法格式:
      if(表达式1)
      {语句1;
      }
      else if(表达式2)
      {语句2;
      }
      else if(表达式3)
      {语句3;
      }
      ...
      else if(表达式n-1)
      {语句n-1;
      }
      else
      {语句n;
      }
      
  • 分支语句:

    // 分支语句switch语法格式:
    switch(表达式)
    {case 常量表达式1:语句1;break;case 常量表达式2:语句2;break;...case 常量表达式n;语句n;break;default:语句n+1;break;
    }// 解释:
    // 1.计算switch后表达式的值;
    // 2.若case后的常量表达式等于switch后表达式的值,则执行该case后的语句;
    // 3.若switch后表达式的值与任何一个case后的常量表达式的值都不等,则执行default后的语句;
    
  • 标签语句:

    // 标签语句用于配合goto语句完成程序的跳转功能,语法格式:
    // 标签名称:语句
    if (x>0)
    {goto large;x = -x;
    }
    large:return x;
    
3.2 基本结构示例
3.2.1 if相关结构示例
// CH03_01.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace CH03_01
{class CH03_01{static void Main(string[] args){// 定义一个整数变量并赋值int iNumber = 10;// 使用if结构进行条件判断if (iNumber > 0){Console.WriteLine("此数字大于0.");}else if (iNumber < 0){Console.WriteLine("此数字小于0.");}else{Console.WriteLine("此数字等于0.");}// 使用嵌套if结构:检查一个数字是正数且大于5;if (iNumber > 0){if (iNumber > 5){Console.WriteLine("此数字是正数,且大于5.");}else{Console.WriteLine("此数字是正数,但不大于5.");}}// 等待用户输入以避免程序立即退出Console.WriteLine("Press any key to exit...");Console.ReadKey();}}
}
3.2.2 switch结构示例
// CH03_02.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace CH03_02
{class CH03_02{static void Main(string[] args){// 定义一个整数变量并赋值int day = 3;// 使用switch结构进行条件判断switch (day){case 1:Console.WriteLine("Today is Monday.");break;case 2:Console.WriteLine("Today is Tuesday.");break;case 3:Console.WriteLine("Today is Wednesday.");break;case 4:Console.WriteLine("Today is Thursday.");break;case 5:Console.WriteLine("Today is Friday.");break;case 6:Console.WriteLine("Today is Saturday.");break;case 7:Console.WriteLine("Today is Sunday.");break;default:Console.WriteLine("Invalid day.");break;}// 等待用户输入以避免程序立即退出Console.WriteLine("Press any key to exit...");Console.ReadKey();}}
}
// CH03_03.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace CH03_03
{class Program{static void Main(string[] args){Console.WriteLine("AGV控制指令(W:前进,A:左转,X:后退,D:右转,S:制动)");Console.WriteLine("请输入AGV控制指令:");char inputChar = Console.ReadKey().KeyChar;char processedChar = (char.IsControl(inputChar) || char.IsWhiteSpace(inputChar)) ? '\0' : char.ToUpper(inputChar);switch (processedChar){case 'W':Console.Write("\n");Console.WriteLine("AGV正在向前运动...");break;case 'A':Console.Write("\n");Console.WriteLine("AGV正在进行左转...");break;case 'X':Console.Write("\n");Console.WriteLine("AGV正在向后运动...");break;case 'D':Console.Write("\n");Console.WriteLine("AGV正在进行右转...");break;case 'S':Console.Write("\n");Console.WriteLine("AGV正在进行制动...");break;}Console.WriteLine("Press any key to close the program...");Console.ReadKey();}}
}
3.3 项目实战

项目需求: 设计一个程序,用于实现学生成绩的统计。

功能分析:

  • 依次接收班级每个学生的成绩;
  • 每接收一个成绩,依据要求进行统计汇总;

程序流程图分析:

1

代码实现:

// CH03_04.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace CH03_04
{class CH03_04{static void Main(string[] args){/** 定义变量:* iStudents:用于统计学生人数;* tempScore:接收每次输入成绩;* maxScore、minScore:最大成绩和最小成绩;*/int iStudents = 0;int tempScore;int maxScore = 0, minScore = 0;// 统计各成绩区间内的人数;int score0To59 = 0, score60To69 = 0, score70To79 = 0, score80To89 = 0, score90To100 = 0;Console.WriteLine("--------学生成绩统计----------");Console.WriteLine("统计要求:学生成绩正确的区间为0~100,\n" + "        如果输入的成绩不在此区间中,可以选择退出统计!");Console.WriteLine();loop: Console.WriteLine("请输入学生成绩:");string strScore = Console.ReadLine();if (strScore == null){return;}tempScore = int.Parse(strScore);if ((tempScore < 0) || (tempScore > 100)){Console.WriteLine("你输入的分数不对,选择是(Y)退出还是继续(N)");string strSelect = Console.ReadLine();if (strSelect == "N"){goto loop;}else{// 输出统计信息;Console.WriteLine("--------学生成绩统计信息输出----------");Console.WriteLine("全班共{0:d}人,其中最高成绩{1:f2}," + "最低成绩{2:f2}", iStudents, maxScore, minScore);Console.WriteLine("成绩区间90~100的人数有{0:d}人," + "所占比例为:{1:f2}%", score90To100, score90To100 * 100 / iStudents);Console.WriteLine("成绩区间80~89的人数有{0:d}人," + "所占比例为:{1:f2}%", score80To89, score80To89 * 100 / iStudents);Console.WriteLine("成绩区间70~79的人数有{0:d}人," + "所占比例为:{1:f2}%", score70To79, score70To79 * 100 / iStudents);Console.WriteLine("成绩区间60~69的人数有{0:d}人," + "所占比例为:{1:f2}%", score60To69, score60To69 * 100 / iStudents);Console.WriteLine("成绩区间0~59的人数有{0:d}人," + "所占比例为:{1:f2}%", score0To59, score0To59 * 100 / iStudents);Console.ReadLine();}}else{// 统计学生人数;iStudents++;if (iStudents == 1){maxScore = tempScore;minScore = tempScore;}else{// 修正最大与最小成绩;if (maxScore < tempScore){maxScore = tempScore;}if (minScore > tempScore){minScore = tempScore;}}// 接收成绩所在区间的人数;int temp = tempScore / 10;switch (temp){case 10:case 9:Console.WriteLine("成绩优秀");score90To100++;break;case 8:Console.WriteLine("成绩良好");score80To89++;break;case 7:Console.WriteLine("成绩中等");score70To79++;break;case 6:Console.WriteLine("成绩及格");score60To69++;break;default:Console.WriteLine("成绩不及格");score0To59++;break;}}goto loop;}}
}
3.4 循环结构
  • 循环结构:指在程序中从某处开始有规律地反复执行某一语句块的结构,把重复执行的语句块称为循环体;

  • w h i l e {\rm while} while语句语法:

    // while语句语法格式:
    while(条件表达式)
    {循环体;
    }// 解释:
    // 先判断条件表达式,如果值为true,则执行循环体;如果值为false,则不执行循环体;
    
  • d o − w h i l e {\rm do-while} dowhile语句语法:

    // do-while语句语法格式:
    do
    {循环体;
    }
    while(条件表达式);// 解释:
    // 先执行循环体,再对while语句后条件表达式判定,若值为true,则继续执行循环体;若为false,则退出循环;
    
  • f o r {\rm for} for语句语法:

    // for语句语法格式:
    for(表达式1;表达式2;表达式3)
    {循环体;
    }// 解释:
    // 1.计算表达式1的值;
    // 2.判定表达式2的值,若值为true,执行循环体的语句,求表达式3的值;若值为false,执行程序下一条语句;
    
  • f o r e a c h {\rm foreach} foreach语句语法:

    // foreach基础:
    // 1.foreach语句用于列举集合中的每一个元素,且通过执行循环体对每一个元素进行操作;
    // 2.foreach语句只能对集合中的元素进行循环操作;// foreach语句语法格式:
    foreach(数据类型 标识符 in 表达式)
    {循环体;
    }
    
3.5 循环结构基本示例
// CH03_06.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace CH03_05
{class CH03_05{static void Main(string[] args){int sum = 0;            // 用于存储总和的变量int number;             // 用于存储用户输入的整数Console.WriteLine("请输入一个整数(输入负数停止):");// 使用while循环读取用户输入并计算总和while (true){// 读取用户输入;string input = Console.ReadLine(); // 尝试将输入转换为整数;bool isNumber = int.TryParse(input, out number); if (!isNumber)          // 如果输入不是整数{Console.WriteLine("输入无效,请输入一个整数。");}else if (number < 0)    // 如果输入的是负数{break;              // 退出循环}else{// 如果输入的是正整数或零,则将其加到总和中sum += number;Console.WriteLine("当前总和为:" + sum);}}// 循环结束后,输出最终的总和Console.WriteLine("最终总和为:" + sum);}}
}
// CH03_06.cs
// 需求:用户输入一个数字,并且只有在输入的数字是正数时才会停止循环;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace CH03_06
{class CH03_06{static void Main(string[] args){int number;string input;do{Console.Write("请输入一个正数: ");input = Console.ReadLine();// 检查输入是否为有效的整数且为正数if (!int.TryParse(input, out number) || number <= 0){Console.WriteLine("输入无效,请输入一个正整数。");}} while (!int.TryParse(input, out number) || number <= 0);// 循环结束,输出用户输入的正数Console.WriteLine("您输入的正数是: " + number);}}
}
// CH03_07.cs
// 需求:从键盘输入一个数字,并使用for循环结构计算从1到这个数字的和;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace CH03_07
{class CH03_07{static void Main(string[] args){int number;int sum = 0;// 提示用户输入一个数字Console.Write("请输入一个数字: ");// 尝试从键盘读取输入并转换为整数if (int.TryParse(Console.ReadLine(), out number)){// 使用for循环计算从1到输入数字的和for (int i = 1; i <= number; i++){sum += i;}// 输出结果Console.WriteLine("从1到{0}的和是: {1}", number, sum);}else{// 如果输入的不是有效的整数,输出错误信息Console.WriteLine("输入无效,请输入一个整数。");}}}
}
// CH03_08.cs
// 需求:遍历数组元素并输出,计算数组元素的和并输出;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace CH03_08
{class CH03_08{static void Main(string[] args){// 创建一个整数数组int[] numbers = { 10, 25, 35, 40, 55 };// 用于存储总和的变量int sum = 0;// 使用foreach循环遍历数组中的每个元素foreach (int number in numbers){Console.WriteLine("此时数组的值为:" + number);sum += number;         }// 输出总和Console.WriteLine("数组中所有元素的和是: " + sum);}}
}
3.6 项目实战

项目需求:实现一个用于学生成绩统计的程序。

功能分析:

  • 接收全班人数;
  • 依次接收班级每个学生的成绩;
  • 每接收一个成绩,依据要求进行统计汇总;

程序流程图分析:

2

代码实现:

// CH03_09.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace CH03_09
{class CH03_09{private static int iStudents;static void Main(string[] args){/** 参数含义:* nStudents:用于统计学生人数;* tempScore:接收每次输入的成绩;* maxScore,minScore:成绩最大值、成绩最小值;*/int nStudents;int tempScore;int maxScore = 0, minScore = 0;int score0To59 = 0, score60To69 = 0, score70To79 = 0, score80To89 = 0, score90To100 = 0;Console.WriteLine("--------学生成绩统计--------");Console.WriteLine("请输入班级人数:nStudents = ");string s = Console.ReadLine();nStudents = Int32.Parse(s);// 接收并处理学生成绩;for(int i = 1; i <= nStudents; i++){Console.WriteLine("请输入第{0:d}个学生的成绩", i);tempScore = Int32.Parse(Console.ReadLine());if (i == 1){maxScore = tempScore;minScore = tempScore;}else        // 最大成绩和最小成绩;{if (maxScore < tempScore){maxScore = tempScore;}if (minScore > tempScore){minScore = tempScore;}}int temp = tempScore / 10;// 统计各区间成绩的人数;switch (temp){case 10:case 9:Console.WriteLine("成绩优秀");score90To100++;break;case 8:Console.WriteLine("成绩良好");score80To89++;break;case 7:Console.WriteLine("成绩中等");score70To79++;break;case 6:Console.WriteLine("成绩及格");score60To69++;break;default:Console.WriteLine("成绩不及格");score0To59++;break;}}// 输出统计信息;Console.WriteLine("--------学生成绩统计信息输出----------");Console.WriteLine("全班共{0:d}人,其中最高成绩{1:f2}," + "最低成绩{2:f2}", nStudents, maxScore, minScore);Console.WriteLine("成绩区间90~100的人数有{0:d}人," + "所占比例为:{1:f2}%", score90To100, score90To100 * 100 / nStudents);Console.WriteLine("成绩区间80~89的人数有{0:d}人," + "所占比例为:{1:f2}%", score80To89, score80To89 * 100 / nStudents);Console.WriteLine("成绩区间70~79的人数有{0:d}人," + "所占比例为:{1:f2}%", score70To79, score70To79 * 100 / nStudents);Console.WriteLine("成绩区间60~69的人数有{0:d}人," + "所占比例为:{1:f2}%", score60To69, score60To69 * 100 / nStudents);Console.WriteLine("成绩区间0~59的人数有{0:d}人," + "所占比例为:{1:f2}%", score0To59, score0To59 * 100 / nStudents);Console.ReadLine();}}
}

相关文章:

Chapter3:结构化程序设计

参考书籍&#xff1a;《C#边做边学》&#xff1b; 3.结构化程序设计 3.1 结构化程序设计的3种基本结构 顺序结构&#xff1a;先执行 A {\rm A} A语句&#xff0c;再执行 B {\rm B} B语句&#xff0c;两者是顺序执行的关系&#xff1b; 选择结构&#xff1a;根据所定选择条件为…...

白话文实战Nacos(保姆级教程)

前言 上一篇博客 我们创建好了微服务项目,本篇博客来体验一下Nacos作为注册中心和配置中心的功能。 注册中心 如果我们启动了一个Nacos注册中心,那么微服务比如订单服务,启动后就可以连上注册中心把自己注册上去,这过程就是服务注册。每个微服务,比如商品服务都应该注册…...

c语言函数学习

C语言函数学习笔记&#xff1a;从入门到实践 一、什么是函数&#xff1f; 函数是C语言中用于封装特定功能的代码块&#xff0c;是模块化编程的核心。通过函数可以实现&#xff1a; 代码复用&#xff1a;避免重复编写相同逻辑 逻辑清晰&#xff1a;将复杂程序分解为多个小模块…...

linux利用nfs服务器,实现数据和windows环境拷贝

1. 在Linux上设置NFS服务器 1.1 安装NFS服务器软件 首先&#xff0c;你需要在Linux服务器上安装NFS服务器软件。假设你使用的是基于Debian的系统&#xff08;如Ubuntu&#xff09;&#xff0c;可以按照以下步骤操作&#xff1a; sudo apt update sudo apt install nfs-kerne…...

智能理解 PPT 内容,快速生成讲解视频

当我们想根据一版 PPT 制作出相对应的解锁视频时&#xff0c;从撰写解锁词&#xff0c;录制音频到剪辑视频&#xff0c;每一个环节都需要投入大量的时间和精力&#xff0c;本方案将依托于阿里云函数计算 FC 和百炼模型服务&#xff0c;实现从 PPT 到视频的全自动转换&#xff0…...

FFmpeg + OpenGL ES 美颜相机教程大纲

做OpenGL和FFmpeg也有很长一段时间了&#xff0c;最近打算结合FFmpegOpenGL ES做一期视频教程&#xff0c;下面是完整视频教程大纲。最终的项目实战效果是实现一款美颜相机。教程分为理论讲解和实战开发两部分&#xff0c;适合有一定编程基础的开发者。课程计划是免费发布在B站…...

IEC61850标准下的数据和数据模型服务的详细介绍

目录 一、摘要 二、概述 三、详细介绍 1、读服务器目录(GetServerDirectory) 2、读逻辑设备目录(GetLogicalDeviceDirectory) 3、读逻辑节点目录(GetLogicalNodeDirectory) 4、读全部数据值(GetAllDataValues) 5、读数据值(GetDataValues) 6、设置数据值(SetDataValues…...

【3.Git与Github的历史和区别】

目录 Git的历史和Github的区别本质和功能 Git的历史和Github的区别 Git是由Linux内核的创造者Linus Torvalds于2005年创建的。当时&#xff0c;Linux内核开源项目使用BitKeeper作为版本控制系统&#xff0c;但2005年BitKeeper的商业公司终止了与Linux社区的合作&#xff0c;收…...

前端页面添加水印

前端页面添加水印 主要功能说明&#xff1a; 这是一个用于添加页面水印的工具函数水印会以半透明的形式显示在页面上&#xff0c;并且会重复平铺水印文字会有-15度的倾斜角度水印会覆盖整个页面&#xff0c;但不会影响页面的正常交互每次调用函数时会先删除已存在的水印&…...

Left side cannot be assigned to

Delphi XE E2064 Left side cannot be assigned to 错误解决方法-CSDN博客 Delphi XE E2064 Left side cannot be assigned to 错误解决方法 1. 起源 此问题源于[秋风人事档案管理系统]用Delphi XE重编译中所发现。 快十年了&#xff0c;当初Delphi 7所编写项目&#xff0c…...

R语言LCMM多维度潜在类别模型流行病学研究:LCA、MM方法分析纵向数据

全文代码数据&#xff1a;https://tecdat.cn/?p39710 在数据分析领域&#xff0c;当我们面对一组数据时&#xff0c;通常会有已知的分组情况&#xff0c;比如不同的治疗组、性别组或种族组等&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 然而&#xff0c;…...

伺服使能的含义解析

前言&#xff1a; 大家好&#xff0c;我是上位机马工&#xff0c;硕士毕业4年年入40万&#xff0c;目前在一家自动化公司担任软件经理&#xff0c;从事C#上位机软件开发8年以上&#xff01;我们在开发C#的运动控制程序的时候&#xff0c;一个必要的步骤就是对伺服上使能&#…...

ModuleJS 与 CommonJS 混用的两种解决方案

目录 方案一 方案二 统一使用 ModuleJS 统一使用CommonJS 方案一 使用构建工具&#xff0c;webpack、vite等系列构建工具。这些构建工具底层则会将两种不同的系统模块语言转为同一种语言&#xff0c;然后代码也能正常执行。 方案二 如果你可以修改文件的文件后缀&#xf…...

5. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--微服务基础工具与技术--Nacos

一、什么是Nacos Nacos 是阿里巴巴开源的一款云原生应用基础设施&#xff0c;它旨在简化微服务架构中服务治理和配置管理的复杂性。通过 Nacos&#xff0c;服务在启动时可以自动注册&#xff0c;而其他服务则可以通过名称来查找并访问这些注册好的实例。同时&#xff0c;Nacos…...

VUE项目中实现权限控制,菜单权限,按钮权限,接口权限,路由权限,操作权限,数据权限实现

VUE项目中实现权限控制&#xff0c;菜单权限&#xff0c;按钮权限&#xff0c;接口权限&#xff0c;路由权限&#xff0c;操作权限&#xff0c;数据权限实现 权限系统分类&#xff08;RBAC&#xff09;引言菜单权限按钮权限接口权限路由权限 菜单权限方案方案一&#xff1a;菜单…...

网站的记住我功能与用户登录持久化

1.先决条件&#xff1a;拿到了后端发的凭证并做了持久化储存 2.在1的基础上&#xff0c;加上一个记住我功能&#xff0c;记住我的体现暂时定为&#xff1a; a.不勾选记住我&#xff1a;在浏览器的对话窗不关闭的情况下&#xff0c;凭证是存在有效的&#xff0c;但关闭了对话框…...

SQL自学,mysql从入门到精通 --- 第 15天,数据导入、导出

数据的导入、导出 -- 查看当前设置的目录路径&#xff0c;限制从数据库服务器读取和写入文件的操作只能在指定的目录中进行,在安全性和文件操作限制方面具有重要意义。rootmysqldb 14:19: [(none)]> SHOW VARIABLES LIKE "secure_file_priv"; -----------------…...

android skia渲染介绍

Android AOSP 的渲染系统主要使用 Skia 图形库。Skia 是一个开源的 2D 图形库&#xff0c;它被广泛应用于 Android 的图形渲染中&#xff0c;负责绘制 UI 元素、文本、图像以及其他 2D 图形内容。 以下是 Android AOSP 中 Skia 的作用和它在渲染系统中的位置&#xff1a; 1. 什…...

【网络安全】服务器安装Docker及拉取镜像教程

文章目录 1. 安装 Docker2. 拉取镜像3. 运行 Ubuntu 容器4. 执行相关操作5. 退出并停止容器1. 安装 Docker # 更新软件包索引 sudo apt update# 安装必要的依赖 sudo apt install -y ca-certificates curl gnupg...

Day87:游戏事件绑定

在游戏开发中,事件绑定是指通过监听和处理用户的输入或其他事件(如鼠标点击、键盘按键、碰撞等),来控制游戏中的行为和流程。事件绑定在游戏中扮演着至关重要的角色,它能够让游戏具备互动性和实时反馈。 今天,我们将学习如何在 Python 中使用 Pygame 进行游戏事件绑定,…...

elementplus 使用日期时间选择器,设置可选范围为前后大于2年且只能选择历史时间不能大于当前时间点

需求&#xff1a;时间选择器可选的时间范围进行限制&#xff0c;-2年<a<2年且a<new Date().getTime()核心&#xff1a;这里需要注意plus版没有picker-options换成disabled-date属性了&#xff0c;使用了visible-change和calendar-change属性逻辑&#xff1a;另设一个参…...

将 AMD Zynq™ RFSoC 扩展到毫米波领域

目录 将 AMD Zynq™ RFSoC 扩展到毫米波领域Avnet XRF RFSoC 系统级模块适用于 MATLAB 的 Avnet RFSoC Explorer 工具箱5G mmWave PAAM 开发平台突破性的宽带毫米波波束成形特征&#xff1a;OTBF103 Mathworks Simulink 模型优化毫米波应用中的射频信号路径 用于宽带毫米波上/下…...

Redis企业开发实战(五)——点评项目之分布式锁Redission与秒杀优化

目录 一、Redisson (一)Redisson基本介绍 (二)Redisson入门 1.引入依赖 2.配置Redisson客户端 3.使用Redission的分布式锁 4.tryLock参数解析 4.1tryLock() 4.2tryLock(long waitTime, TimeUnit unit) 4.3tryLock(long waitTime, long leaseTime, TimeUnit unit) 4…...

IDEA安装离线插件(目前提供了MavenHelper安装包)

目录 1、离线安装方式2、Maven Helper 1、离线安装方式 首先访问 IDEA插件网站 下载离线插件安装包&#xff0c;操作如下&#xff1a; 然后打开IDEA的Settings配置&#xff0c;点击Plugins&#xff0c;点击右侧设置按钮&#xff08;齿轮&#xff09;&#xff0c;选择Install P…...

LabVIEW 开发航天项目软件

在航天项目软件开发中&#xff0c;LabVIEW 凭借其图形化编程优势被广泛应用。然而&#xff0c;航天项目的高可靠性、高精度及复杂环境适应性要求&#xff0c;使得在使用 LabVIEW 开发时&#xff0c;有诸多关键要点需要特别关注。本文将详细分析在开发航天项目软件时需要重点注意…...

互联网大厂中面试的高频计算机网络问题及详解

前言 哈喽各位小伙伴们,本期小梁给大家带来了互联网大厂中计算机网络部分的高频面试题,本文会以通俗易懂的语言以及图解形式描述,希望能给大家的面试带来一点帮助,祝大家offer拿到手软!!! 话不多说,我们立刻进入本期正题! 一、计算机网络基础部分 1 先来说说计算机网…...

如何定义“破坏环境”

当我们谈论破坏环境时&#xff0c;通常会从人类活动对自然生态造成负面影响的角度来定义。例如&#xff0c;大规模的森林砍伐、工业污染排放、温室气体增加等&#xff0c;都是典型的破坏环境的行为。我们常常看到这些行为导致了生态系统的破坏、物种灭绝、气候变化等问题&#…...

WPS接入DeepSeek模型

1.wps 下载安装 WPS-支持多人在线协作编辑Word、Excel和PPT文档_WPS官方网站 &#xff08;最好是安装最新的wps&#xff09; 2.offieceAi工具下载安装 软件下载 | OfficeAI助手 下载后安装下载下来的两个工具。安装路径可以自行修改 3.打开WPS,点击文件-》 选项-》信任中心 勾…...

自然语言处理NLP_[1]-NLP入门

文章目录 1.自然语言处理入门1. 什么是自然语言处理2.自然语言处理的发展简史3 自然语言处理的应用场景1. **机器翻译**2. **文本分类**3. **情感分析**4. **问答系统**5. **文本生成**6. **信息抽取**7. **语音识别与合成**8. **文本摘要**9. **搜索引擎优化**10. **聊天机器人…...

详解在Pytest中忽略测试目录的三种方法

关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理&#xff0c;构建成功的基石 在自动化测试工作之前&#xff0c;你应该知道的10条建议 在自动化测试中&#xff0c;重要的不是工具 你是否曾因无关或过时的代码导致测试失败&#xff1f; 这可能会增加调试和故障排除…...