ASP.NETWeb开发(C#版)-day1-C#基础+实操

目录

  • .NET
  • 实操:创建项目
    • 执行
  • C#基础语法
    • 数据类型
    • 变量
    • 实操001_变量
    • 如何在一个解决方案 中创建另一个项目
    • 实操002
    • 结构
    • 实操003-if else
    • 实操004-多分支
    • 多行注释按钮
    • 实操:循环
  • 面向对象基础
    • 如何在同一个项目下创建新的.cs文件
    • 实操-类的定义与访问
    • 实操-练习
    • 实操-方法
    • 实操:计算器
  • 综合实例

.NET

.NET简介

dotnet5(.NET)合并了.NET Framework、.NET Core(可以跨平台)

实操:创建项目

开发环境

我用的Visual Studio2022 先创建新项目

创建新项目
注意第一步和第二步

再点击下一步后

注意框选的部分

注意打钩的地方
成功

说明(了解即可):在找到相应文件位置后,点击 “生成” 下方会出现 成功 之后 Debug 下会生成很多文件其中 xxx.exe 是生成的可执行文件,在.NET平台是一种通用文件

说明
生成
在VS下方输出的-成功

执行

执行
成功执行

C#基础语法

C#基础语法

数据类型

  • 简单数据类型(值类型)
  • 引用类型(值存储在堆里面,地址存储在栈里面)
    简单数据类型(值类型)

变量

变量
变量

实操001_变量

namespace Demo001_变量
{internal class Program{   //"///"是注释 解释说明的作用/// <summary>/// 主方法,程序的入口/// </summary>/// <param name="args"></param>static void Main(string[] args){//声明变量存储数据string message;//给变量赋值message = "欢迎来到C#的世界";//使用变量Console.WriteLine(message);//存储员工的信息:工号,姓名,性别,入职日期,基本工资,部门,岗位string emplyeeNo, name;bool gender;DateTime jobInDateTime;double salary;string departmentName;string job;Console.Write("请输入工号:");emplyeeNo = Console.ReadLine();Console.Write("请输入姓名:");name = Console.ReadLine();Console.Write("请输入性别:");gender = Convert.ToBoolean(Console.ReadLine());Console.Write("请输入入职日期(yyyy-mm-dd):");jobInDateTime = Convert.ToDateTime(Console.ReadLine());Console.Write("请输入基本工资:");salary = Convert.ToDouble(Console.ReadLine());Console.Write("请输入部门:");departmentName = Console.ReadLine();Console.Write("请输入岗位:");job = Console.ReadLine();//输出个人信息Console.WriteLine($"工号:{emplyeeNo}\n" +$"姓名:{name}\n" +$"性别:{gender}\n" +$"入职日期:{jobInDateTime}\n" +$"基本工资:{salary}\n" +$"部门:{departmentName}\n" +$"岗位:{job}");}}
}

实例1

如何在一个解决方案 中创建另一个项目

如图
后面的步骤前面有讲过。

完成图

注意:点击 配置启动项 , 勾选 当前项目

启动项设置
![启动项设置]](https://img-blog.csdnimg.cn/fd028c9cac10418a891dfc2ab073013b.png)

在这里插入图片描述
三元运算符
比较运算符

运算符
运算符优先级

实操002

namespace Demo002_算术运算符
{internal class Program{static void Main(string[] args){DateTime dateOfBirth= Convert.ToDateTime("1995-10-2");int age = DateTime.Now.Year - dateOfBirth.Year;Console.WriteLine("年龄:"+age);//age++ 和 ++age 区别//先用再加  先加再用bool gender = true;gender = false;//string sex = gender == true ? "男" : "女";string sex = !gender ? "男" : "女";Console.WriteLine($"性别:{sex}");Console.WriteLine();Console.Write("请输入账号:");string loginId = Console.ReadLine();Console.Write("请输入密码:");string loginPassword = Console.ReadLine();string loginMsg = loginId == "admin" && loginPassword =="123456" ? "登录成功" : "用户名或密码错误,登录失败";Console.WriteLine(loginMsg);}}
}

成功
失败

结构

选择结构
选择结构
选择结构

实操003-if else

namespace Demo003_选择结构
{internal class Program{static void Main(string[] args){Console.WriteLine("请问是否进行C#学习:(y/n):");string input = Console.ReadLine().ToLower();//输入转换为小写     .ToUpper()转化为大写if (input != "y" && input != "n") {Console.WriteLine("输入有误");}else{if (input == "y"){Console.WriteLine("继续阅读");}else{Console.WriteLine("停止阅读");}}}}
}

输入y
输入n
随便输入

实操004-多分支

namespace Demo004_多分支
{internal class Program{static void Main(string[] args){Console.WriteLine("*******年终奖判定程序**********");Console.WriteLine("请输入基本工资:");double salary = Convert.ToDouble(Console.ReadLine());Console.WriteLine("请输入考核等级(ABCD):");char level = Convert.ToChar(Console.ReadLine().ToUpper());double reward;//奖金if (level < 'A' || level > 'D')Console.WriteLine("等级输入有误");//多分支else{//if (level == 'A')//reward = salary * 6;//else if (level == 'B')//reward = salary * 3;//else if (level == 'C')//reward = salary * 2;//else//reward = salary;//只能写等值判断switch (level){case 'A':reward = salary * 6;break;case 'B':reward = salary * 3;break;case 'C':reward = salary * 2;break;default:reward = salary;break;}Console.WriteLine($"年终奖是{reward}");}}}
}

A等级
B等级
C等级
D等级
输入有误

多行注释按钮

多行注释

循环结构
while循环
do while循环

在这里插入图片描述
在这里插入图片描述

实操:循环

namespace Demo005_循环结构
{internal class Program{static void Main(string[] args){//forint i;//定义在外面比较好for(i = 0; i < 3; i++) {Console.WriteLine("重要的事情说三遍");}//登录系统,输入用户名和密码,三次有效string userName, password;for(i = 0;i < 3; i++){Console.WriteLine($"第{i + 1}次登录开始......");Console.Write("请输入用户名:");userName= Console.ReadLine();Console.Write("请输入密码:");password = Console.ReadLine();if(userName == "admin" && password == "admin") {Console.WriteLine("登录成功");break;//强制退出循环}else if (i < 2) {Console.WriteLine("用户名或密码错误,登录失败");}else{Console.WriteLine("三次机会已用完,账号已锁定");}}}}
}

成功
三次全错
有错

面向对象基础

面向对象基础
类

如何在同一个项目下创建新的.cs文件

类

实操-类的定义与访问

Employee.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Demo006_类的定义和访问
{/*** 类名:Employee* 功能:模拟所有的职员对象* */public class Employee{//internal 去掉也不会报错 internal只能在这里访问到 public是都可以访问到//成员变量(字段):特征//string employeeNo;//这是私有的privatepublic string employeeNo;public string name;public bool gender;public double salary;//构造方法:在实例化对象时调用//构造方法名称必须与类名一致public Employee(){//默认存在,但是调用了带参构造,在没有定义无参构造的时候,调用无参会报错,建议带上无参构造//Console.WriteLine("正在实例化员工对象...");}/// <summary>/// 带参数构造方法/// </summary>/// <param name="employeeNo">员工号</param>/// <param name="name">姓名</param>/// <param name="gender">性别</param>/// <param name="salary">工资</param>public Employee(string employeeNo, string name, bool gender, double salary){//this关键字:正在实例化的对象this.employeeNo = employeeNo;this.name = name;this.gender = gender;this.salary = salary;}//方法:对象的行为能力public void ShowEmployeeMsg(){Console.WriteLine($"{this.employeeNo}\t{this.name}\t{(this.gender == true ? "男" : "女")}\t{this.salary}");}}
}

Program.cs

namespace Demo006_类的定义和访问
{internal class Program{static void Main(string[] args){//实例化对象Employee emp01 = new Employee();//访问变量:对象名.变量名emp01.employeeNo = "1234";emp01.name = "张三";emp01.gender = true;emp01.salary = 6589;Employee emp02 = new Employee();emp01.employeeNo = "1235";emp01.name = "王小二";emp01.gender = false;emp01.salary = 7800;Employee emp03 = new Employee("1236", "rose", false, 6500);//Console.WriteLine($"{emp01.employeeNo}\t{emp01.name}\t{(emp01.gender == true? "男":"女")}\t{emp01.salary}");//Console.WriteLine($"{emp02.employeeNo}\t{emp02.name}\t{(emp02.gender == true ? "男" : "女")}\t{emp02.salary}");//Console.WriteLine($"{emp03.employeeNo}\t{emp03.name}\t{(emp03.gender == true ? "男" : "女")}\t{emp03.salary}");//调用方法:对象名.方法名emp01.ShowEmployeeMsg();emp02.ShowEmployeeMsg();emp03.ShowEmployeeMsg();}}
}

实操-练习

使用OOP的思想模拟个人手机的信息,包含手机品牌,型号,价格和颜色
开机和关机的功能

Phone.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Demo007_练习
{/*** 类名:Phone* 功能:模拟手机对象* */public class Phone{public string brand;//品牌public string type;//型号public double price;//价格public string color;//颜色public Phone(){Console.WriteLine("正在实例化手机对象...");}public Phone(string brand, string type, double price, string color){this.brand = brand;this.type = type;this.price = price;this.color = color;}public void OpenPhone(){Console.WriteLine($"{this.brand}品牌{this.type}型号{this.price}{this.color}的手机正在开机......");}public void ClosePhone(){Console.WriteLine($"{this.brand},{this.type},{this.price},{this.color}" + "关机了");}}}

实现结果

实操-方法

Employee.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;namespace Demo006_类的定义和访问
{/*** 类名:Employee* 功能:模拟所有的职员对象* */public class Employee //internal 去掉也不会报错 internal只能在这里访问到 public是都可以访问到{//成员变量(字段):特征//string employeeNo;//这是私有的privatepublic string employeeNo;public string name;public bool gender;public double salary;//构造方法:在实例化对象时调用//构造方法名称必须与类名一致public Employee() {//默认存在,但是调用了带参构造,在没有定义无参构造的时候,调用无参会报错,建议带上无参构造Console.WriteLine("正在实例化员工对象...");}public Employee(string employeeNo, string name, bool gender, double salary){//this关键字:正在实例化的对象this.employeeNo = employeeNo;this.name = name;this.gender = gender;this.salary = salary;}//方法:对象的行为能力public void ShowEmployeeMsg(){Console.WriteLine($"{this.employeeNo}\t{this.name}\t{(this.gender == true ? "男" : "女")}\t{this.salary}");}//请假public void SendMsg(string type,DateTime beginDate,int days,string reason){Console.WriteLine($"{this.employeeNo}的员工申请{type}");Console.WriteLine($"开始日期:{beginDate}\n" +$"请假天数:{days}\n" +$"结束日期:{beginDate.AddDays(days)}\n" +$"请假事由:{reason}\n");}//年终奖public double GetReward(string level){double reward;switch (level){case "A":reward = this.salary * 6;break;case "B":reward = this.salary * 3;break;case "C":reward = this.salary * 2;break;default:reward = this.salary;break;}return reward;//返回语句}}
}

Program.cs

using Demo006_类的定义和访问;namespace Demo008_方法
{internal class Program{static void Main(string[] args){Employee employee1 = new Employee("1234","张三",true,5000);employee1.SendMsg("事假", Convert.ToDateTime("2023-11-10 09:00:00"), 2, "家里有事");Employee employee2 = new Employee("1235", "李四", true, 6000);employee2.SendMsg("婚假", DateTime.Now, 10, "回家结婚");Console.Write("请输入考核等级:");string inputLevel = Console.ReadLine();double money = employee1.GetReward(inputLevel);Console.WriteLine($"年终奖金是:{money}");}}
}

结果

实操:计算器

Calculator.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Demo009_Calculator
{public class Calculator{public int GetResult(int a, int b, string type){int c = 0;if (type == "+"){c = a + b;}else if (type == "-"){c = a - b;}else if (type == "*"){c = a * b;}else if (type == "/"){if (b == 0){Console.WriteLine("除数为0无法计算");}else{c = a / b;}}return c;}}}

Program.cs

namespace Demo009_Calculator
{internal class Program{static void Main(string[] args){//使用OOP思想实现两个数的加减乘除运算。Calculator calculator = new Calculator();Console.Write("请输入第一个数:");int a = Convert.ToInt32(Console.ReadLine());Console.Write("请输入第二个数:");int b = Convert.ToInt32(Console.ReadLine());Console.Write("请输入运算符(+/ - / * / /):");string type = Console.ReadLine();//计算int c = calculator.GetResult(a, b, type);Console.WriteLine($"{a}{type}{b}={c}");}}
}

结果

综合实例

*以OOP的思想实现猜拳游戏:
*计算机和用户实现猜拳,可以出剪刀、石头和布。
*剪刀用0表示,石头用1表示,布用2表示。
*程序启动,系统默认可以玩10局,用户玩完一局之后可以按任意键继续,按q退出,退出后需显示实际玩了几局,用户赢了几局,电脑赢了几局,平了几局,如果用户赢的局数大于电脑赢的局数,显示用户大获全胜;如果电脑赢的局数大于用户赢的局数,显示用户败给了电脑;如果赢的局数相同,显示打成了平手。*每一局游戏的游戏规则:
*先用户出拳,输入0 - 2为后显示用户出的拳是什么,如果用户出的不是0 - 2,提示用户输入错误,重新输入,直到用户输入正确为止,
*再由电脑随机出拳,电脑产生0 - 2之间的随机数,也要显示电脑出的拳是什么,然后判断电脑和用户的输赢关系,并给出适当的提示,比如本局是用户赢了,还是电脑赢了,还是平局

Player.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Channels;
using System.Threading.Tasks;namespace Demo010_综合案例
{ /// <summary>/// 玩家类/// </summary>public class Player{public string name;//玩家的昵称/// <summary>/// 玩家出拳/// </summary>/// <returns></returns>public int Throw(){while (true){try{Console.WriteLine($"请{this.name}出拳");int point = Convert.ToInt32(Console.ReadLine());if (point >= 0 && point < 3){return point;}elseConsole.WriteLine("输入有误,请输入0-2");}catch (Exception ex){Console.WriteLine ("输入有误,请输入数字");}}}}
}

Computer.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Demo010_综合案例
{public class Computer{public int CreateRandomNum(){Random r = new Random();return r.Next(3);}}
}

GuessGame.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;namespace Demo010_综合案例
{/// <summary>/// 猜拳游戏类/// </summary>public class GuessGame{Player player = new Player();Computer computer = new Computer();/// <summary>/// 输入玩家的昵称/// </summary>public void InputePlayName(){Console.Write("请输入昵称:");player.name = Console.ReadLine();}/// <summary>/// 欢迎界面/打印界面/// </summary>public void ShowMsg() {Console.WriteLine("*****************************");Console.WriteLine("******欢迎来到猜拳游戏*******");Console.WriteLine("*****************************");}/// <summary>/// 程序启动/// </summary>public void Start(){this.ShowMsg();InputePlayName();int p1 = player.Throw();int p2 = computer.CreateRandomNum();string quan1 = ConvertInToString(p1);string quan2 = ConvertInToString(p2);Console.WriteLine($"{player.name}出的拳是{quan1}");Console.WriteLine($"电脑出的拳是{quan2}");Judge(p1, p2);Console.WriteLine("是否继续下一局,按任意键继续,按q退出");string input = Console.ReadLine().ToLower();if(input == "q"){Console.WriteLine("游戏正在退出...");Console.ReadKey();//需要按一个键}Console.ReadKey();Console.Clear();}/// <summary>/// 数字的点数转换为字符串的拳/// </summary>/// <param name="point">点数</param>/// <returns>拳</returns>public string ConvertInToString(int point){if(point == 0) {return "剪刀";}if (point == 1){return "石头";}return "布";}/// <summary>/// 判断输赢/// </summary>/// <param name="playerPoint">玩家的点数</param>/// <param name="computerPoint">电脑的点数</param>public void Judge(int playerPoint, int computerPoint){//0(剪刀) 1(石头) 2(布)//用户赢:0(2)=-2,1(0)=1,2(1)=1int diff = playerPoint - computerPoint;if (diff == 0) {Console.WriteLine("平局");}else if (diff ==-2 || diff ==1) {Console.WriteLine($"用户{player.name}赢了一局");}else{Console.WriteLine("电脑赢了一局");}}}
}

Program.cs

namespace Demo010_综合案例
{internal class Program{static void Main(string[] args){//以OOP的思想实现猜拳游戏://计算机和用户实现猜拳,可以出剪刀、石头和布。//剪刀用0表示,石头用1表示,布用2表示。//程序启动,系统默认可以玩10局,用户玩完一局之后可以按任意键继续,按q退出,退出后需显示实际玩了几局,用户赢了几局,电脑赢了几局,平了几局,如果用户赢的局数大于电脑赢的局数,显示用户大获全胜;如果电脑赢的局数大于用户赢的局数,显示用户败给了电脑;如果赢的局数相同,显示打成了平手。//每一局游戏的游戏规则://先用户出拳,输入0 - 2为后显示用户出的拳是什么,如果用户出的不是0 - 2,提示用户输入错误,重新输入,直到用户输入正确为止,//再由电脑随机出拳,电脑产生0 - 2之间的随机数,也要显示电脑出的拳是什么,然后判断电脑和用户的输赢关系,并给出适当的提示,比如本局是用户赢了,还是电脑赢了,还是平局GuessGame guessGame = new GuessGame();guessGame.Start();Player p = new Player(); p.name = "张三";}}
}

结果

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

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

相关文章

55基于matlab的1.高斯噪声2.瑞利噪声3.伽马噪声4.均匀分布噪声5.脉冲(椒盐)噪声

基于matlab的1.高斯噪声2.瑞利噪声3.伽马噪声4.均匀分布噪声5.脉冲&#xff08;椒盐&#xff09;噪声五组噪声模型&#xff0c;程序已调通&#xff0c;可直接运行。 55高斯噪声、瑞利噪声 (xiaohongshu.com)

深度解剖Linux权限的概念

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大二&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;牢记Linux权限的概念。 > 毒鸡汤&#xff1a;你…

短视频矩阵seo系统源码搭建----技术定制化开发

一、需要遵循一下技术开发步骤&#xff1a; 1. 确定需求和功能&#xff1a;明确系统的主要目标和需要实现的功能&#xff0c;包括关键词研究、短视频制作、外链建设、数据分析、账号设置优化等方面。 2. 设计系统架构&#xff1a;根据需求和功能确定系统的架构&#xff0c;包…

windows上 Nexus 批量上传 maven依赖npm依赖

windows上 Nexus 批量上传 maven依赖/npm依赖 前言&#xff1a;windows系统上要有git环境&#xff0c;不然sh文件执行不了 1.批量上传maven依赖 设置脚本&#xff0c;把脚本放在依赖包的根目录执行&#xff0c;脚本名为upload.sh #!/bin/bash# 定义变量 while getopts &quo…

小程序中如何设置门店信息

小程序是商家转型升级的利器&#xff0c;小程序中门店信息的准确性和完整性对于用户的体验和信任度都有很大的影响。下面具体介绍门店信息怎么在小程序中进行设置。 在小程序管理员后台->门店设置处&#xff0c;可以门店设置相关。主要分为2个模块&#xff0c;一个是门店级…

智能一体化管网水位监测仪怎么样?

城市排水管网是城市正常运行的关键环节&#xff0c;这是地上和地下通道的连接点&#xff0c;一旦出现问题便会影响城市生命线建设的工程进展。在复杂的地下管道内想要了解水位数据&#xff0c;对于政府部门来讲是一个管理难题。如果可以采取智能产品在其中发挥作用&#xff0c;…

Java Web——前端HTML入门

目录 HTML&CSS3&JavaScript简述 1. HTML概念 2. 超文本 3. 标记语言 4. HTML基础结构 5. HTML基础词汇 6. HTML语法规则 7. VS Code 推荐使用的插件 8. 在线帮助文档 HTML&CSS3&JavaScript简述 HTML 主要用于网页主体结构的搭建&#xff0c;像一个毛坯…

低价寄快递寄件微信小程序 实际商用版 寄快递 低价寄快递小程序(源代码+截图)前后台源码

盈利模式 快递代下CPS就是用户通过线上的渠道&#xff08;快递小程序&#xff09;&#xff0c;线上下单寄快递来赚取差价&#xff0c;例如你的成本价是5元&#xff0c;你在后台比例设置里面设置 首重利润是1元&#xff0c;续重0.5元&#xff0c;用户下1kg的单页面显示的就是6元…

Go 14岁了

今天我们庆祝Go开源十四周年&#xff01;Go度过了美好的一年&#xff0c;发布了两个功能齐全的版本和其他重要的里程碑。 我们在2月份发布了Go 1.20&#xff0c;在8月份发布了Go 1.21&#xff0c;更多地关注实现改进而不是新的语言更改。 在Go 1.20中&#xff0c;我们预览了配置…

【论文精读】DMVSNet

今天读的是一篇发表在ICCV 2023上的文章&#xff0c;作者来自华中科技大学。 文章地址&#xff1a;点击前往 项目地址&#xff1a;Github 文章目录 Abstract1 Introduction2 Relative Work3 Motivation3.1 Estimated bias and interpolated bias3.2 One-sided V.S. Saddle-shap…

Android修行手册-POI操作Excel实现超链接并且变为蓝色

点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&…

黑洞路由的几种应用场景

第一种在内网中产生环路&#xff1a; 这种核心交换机上肯定写一条默认路由 0.0.0.0 0 10.0.0.1 出口路由要写一条192.168.0.0 16 10.0.0.2 如果出口路由访问一条不存在的内网网段&#xff0c;又或者访问的那台终端停机了&#xff0c;那就会产生三层环路&#xff0c;数据包在…

如何导出PPT画的图为高清图片?插入到world后不压缩图像的设置方法?

期刊投稿的时候&#xff0c;需要图片保持一定的清晰度数&#xff0c;那么我们怎么才能从PPT中导出符合要求的图片呢&#xff1f; 对于矢量图绘图软件所画的图&#xff0c;直接导出即可。 而PPT导出的图片清晰度在60pi&#xff0c;就很模糊。 整体思路&#xff1a; PPT绘图——…

初识-Servlet (第一个 Servlet 程序详解)

Servlet 是什么? Servlet 是一种实现动态页面的技术. 是一组 Tomcat 提供给程序员的 API, 帮助程序员简单高效的开发一个 web app. 静态页面就只是单纯的 html 动态页面则是 html 数据 第一个 Servlet 程序 我们写一个 hello world 预期写一个 Servlet 程序, 部署到 Tomca…

基于SpringBoot+Vue的在线学习平台系统

基于SpringBootVue的在线学习平台系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatisVue工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 主页 用户界面 登录界面 管理员界面 摘要 本文设计并实现了一套基于Spri…

计算机毕业设计选题推荐-校园交流平台微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

什么是代理IP池?如何判断IP池优劣?

代理池充当多个代理服务器的存储库&#xff0c;提供在线安全和匿名层。代理池允许用户抓取数据、访问受限制的内容以及执行其他在线任务&#xff0c;而无需担心被检测或阻止的风险。代理池为各种在线活动&#xff08;例如网页抓取、安全浏览等&#xff09;提高后勤保障。 读完…

ubuntu下tensorrt环境配置

文章目录 一、Ubuntu18.04环境配置1.1 安装工具链和opencv1.2 安装Nvidia相关库1.2.1 安装Nvidia显卡驱动1.2.2 安装 cuda11.31.2.3 安装 cudnn8.21.2.4 下载 tensorrt8.4.2.4 二、编写CMakeLists.txt三、TensorRT系列教程 一、Ubuntu18.04环境配置 教程同样适用与ubuntu22.04…

2023.11.13 hive数据仓库之分区表与分桶表操作,与复杂类型的运用

目录 0.hadoop hive的文档 1.一级分区表 2.一级分区表练习2 3.创建多级分区表 4.分区表操作 5.分桶表 6. 分桶表进行排序 7.分桶的原理 8.hive的复杂类型 9.array类型: 又叫数组类型,存储同类型的单数据的集合 10.struct类型: 又叫结构类型,可以存储不同类型单数据的集合…

按键编程 pal库和标准库

按钮的电路设计 电路的搭建 原理与编程 创建了两个变量 用来捕捉按键的状态 先让两个变量都为1 previous和current都为1 &#xff08;按键没按下&#xff09; 然后让current去捕捉按键的状态通过读gpioA的pin0 如果为0就是按键按下 如果为1就是按键没按下 然后赋值给current …