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

(4)C#传智:分支Switch与循环While(第四天)


    
一、异常捕获
    定义:语法无错,程序因某些原因出现的错误,而不能正常运行。
    用try-catch进行捕获。哪行代码可能出现异常,你就踹它一脚。
        try
        {
            可能会出现异常的代码;
            ----
        }
        catch
        {
            出现异常后要执行的代码;
        }
    注:无异常则catch代码不会执行;有异常时,其后代码不会再执行,直接跳到catch中执行捕获。
        try与if一样,不需要用分号。
    
    
二、变量的作用域
    定义:能使用到变量的区域。变量仅在其声明的区域内起作用。
    变量:定义、赋值、使用。三种缺一种则IDE将会提示。

		Console.WriteLine("请输入:");int n = 0;//必须赋值,否则if中报错:定义、赋值后在if中使用bool b = true;try{n = Convert.ToInt32(Console.ReadLine());}catch{Console.WriteLine("输入有误。");b = false;}if (b){Console.WriteLine(n);}

    注意:把所有程序写完后,再在可能异常的地方,使用try-catch, 同样try-catch与if-else的括号之间不要插入使用代码
          try
          {
              
          }
          b=32;//错误,插入了代码
          catch
          {
              
          }
    
三、switch-case
    多条件定值的判断处理。
        switch(变量或表达式的值)
        {
            case 值1:要执行的代码;
            break;
            case 值2:要执行的代码;
            break;
            .......
            default:要执行的代码
            break;
        }
    过程:计算switch值,与各case后面的值进行匹配,符合则执行其代码,后执行break跳出switch
          若都不匹配,若有default则执行其代码,否则跳出switch.
         switch中值类型必须与case中的类型一致.

		switch (level){case "A":n += 500;break;case "B":n += 200;break;default:b = false;Console.WriteLine("等级有误");break;}if (b) Console.WriteLine(n);//可以简写

    区别:if-else与switch-case都可以多值判断。if是区间,switch是定值(可通过转换)
        类型不一致时,用if,不能用switch..
        判断为范围进用if,switch不适用。
        条件为多个时用if。能用switch尽量用,因它代码整洁好理解。

		switch (score / 10){case 10:Console.WriteLine("A");break;case 9:Console.WriteLine("A");break;case 8:Console.WriteLine("B");break;default:Console.WriteLine("E");break;}

    上面与下同

		switch (score / 10){case 10:  //只有10与9的执行代码一样时,才可省略,这样它会到9去执行case 9:Console.WriteLine("A");break;case 8:Console.WriteLine("B");break;default:Console.WriteLine("E");break;}	


五、循环结构
    while循环
        while(循环条件)
        {
            循环体;
        }
    循环条件为真,执行循环体;再次去判断循环条件,直到为假跳出。
    为防死循环,一般有一代码改变条件跳出while.
        while (true)
        {
            
        }
    例如:

		int n = 0;while (n++ < 10){Console.WriteLine("打印多次...\t{0}", n);}	


    例2:    

		int n = 0, temp = 0;while (n <= 100){if (n % 2 == 0) temp += n;n++;}	

    break 用于中断循环,跳出当前的循环。
    一般不单独使用,而是配合if在某条件下使用。
    
    do-while循环
    遇到首先执行一遍循环体,再用结果去判断是否继续循环的。可以节省一段代码.
    while是先判断后执行,do-while是先执行后判断(而且最后必须有分号)。
    例如:

		Console.WriteLine("是否满意?");//多一遍string answer = Console.ReadLine();while (answer != "yes")//最先判断{Console.WriteLine("是否满意?");answer = Console.ReadLine();}

   //=====================================        

		string answer = "";do{Console.WriteLine("是否满意?");//只一遍answer = Console.ReadLine();} while (answer != "yes");//最后判断,分号

    例1: 

		string name = "";do{Console.WriteLine("请输入学生姓名:");name = Console.ReadLine();} while (name != "q");

相关文章:

(4)C#传智:分支Switch与循环While(第四天)

一、异常捕获 定义&#xff1a;语法无错&#xff0c;程序因某些原因出现的错误&#xff0c;而不能正常运行。 用try-catch进行捕获。哪行代码可能出现异常&#xff0c;你就踹它一脚。 try { 可能会出现异常的代码; ---- …...

Stable-Baselines 3 部分源代码解读 2 on_policy_algorithm.py

Stable-Baselines 3 部分源代码解读 ./common/on_policy_algorithm.py 前言 阅读PPO相关的源码&#xff0c;了解一下标准库是如何建立PPO算法以及各种tricks的&#xff0c;以便于自己的复现。 在Pycharm里面一直跳转&#xff0c;可以看到PPO类是最终继承于基类&#xff0c;也…...

15. Qt中OPenGL的参数传递问题

1. 说明 在OPenGL中&#xff0c;需要使用GLSL语言来编写着色器的函数&#xff0c;在顶点着色器和片段着色器之间需要参数值的传递&#xff0c;且在CPU中的数据也需要传递到顶点着色器中进行使用。本文简单介绍几种参数传递的方式&#xff1a; &#xff08;本文内容仅个人理解&…...

注意,这本2区SCI期刊最快18天录用,还差一步录用只因犯了这个错

发表案例分享&#xff1a; 2区医学综合类SCI&#xff0c;仅18天录用&#xff0c;录用后28天见刊 2023.02.10 | 见刊 2023.01.13 | Accepted 2023.01.11 | 提交返修稿 2022.12.26 | 提交论文至期刊部系统 录用截图来源&#xff1a;期刊部投稿系统 见刊截图来源&#xff1a…...

Could not find resource jdbc.properties问题的解决

以如下开头的内容&#xff1a; Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession. ### The error may exist in SQL Mapper Configuration 出现以上问题是没有在src/main/resources下创建jdbc.prop…...

【面试题】==与equals区别、Hashcode作用、hashcode相同equals()也一定为true吗?泛型特点与好处

文章目录1. 和 equals 的区别是什么&#xff1f;2.Hashcode的作用3. 两个对象的hashCode() 相同&#xff0c; 那么equals()也一定为 true吗&#xff1f;4.泛型常用特点5.使用泛型的好处&#xff1f;1. 和 equals 的区别是什么&#xff1f; “” 对于基本类型和引用类型 的作…...

Flex布局中的flex属性

1.flex-grow&#xff0c;flex-shrink&#xff0c;flex-basis取值含义 flex-grow&#xff1a; 延申性描述。在满足“延申条件”时&#xff0c;flex容器中的项目会按照设置的flex-grow值的比例来延申&#xff0c;占满容器剩余空间。 取值情况&#xff1a; 取负值无效。取0值表示不…...

SpringBoot + Ant Design Pro Vue实现动态路由和菜单的前后端分离框架

Ant Design Pro Vue默认路由和菜单配置是采用中心化的方式&#xff0c;在 router.config.js统一配置和管理&#xff0c;同时也提供了动态获取路由和菜单的解决方案&#xff0c;并将在2.0.3版本中提供&#xff0c;因到目前为止&#xff0c;官方发布的版本为2.0.2&#xff0c;所以…...

robotframework自动化测试环境搭建

环境说明 win10 python版本&#xff1a;3.8.3rc1 安装清单 安装配置 selenium安装 首先检查pip命令是否安装&#xff1a; C:\Users\name>pipUsage:pip <command> [options]Commands:install Install packages.download Do…...

尚硅谷《Redis7》(小白篇)

尚硅谷《Redis7 》&#xff08;小白篇&#xff09; 02 redis 是什么 官方网站&#xff1a; https://redis.io/ 作者 Git Hub https://github.com/antirez 03 04 05 能做什么 06 去哪下 Download https://redis.io/download/ redis中文文档 https://www.redis.com.cn/docu…...

并非从0开始的c++ day6

并非从0开始的c day6二级指针练习-文件读写位运算位逻辑运算符按位取反 ~位于&#xff08;AND&#xff09;&#xff1a;&位或&#xff08;OR&#xff09;&#xff1a; |位异或: ^移位运算符左移<<右移>>多维数组一维数组数组名一维数组名传入到函数参数中数组指…...

PMP考前冲刺2.22 | 2023新征程,一举拿证

承载2023新一年的好运让我们迈向PMP终点一起冲刺&#xff01;一起拿证&#xff01;每日5道PMP习题助大家上岸PMP&#xff01;&#xff01;&#xff01;题目1-2&#xff1a;1.在新产品开发过程中&#xff0c;项目经理关注到行业排名第一的公司刚刚发布同类型的产品。相比竞品&am…...

RxJava的订阅过程

要使用Rxjava首先要导入两个包&#xff0c;其中rxandroid是rxjava在android中的扩展 implementation io.reactivex:rxandroid:1.2.1implementation io.reactivex:rxjava:1.2.0首先从最基本的Observable的创建到订阅开始分析 Observable.create(new Observable.OnSubscribe<S…...

【2.22】MySQL、Redis、动态规划

认识Redis Redis是一种基于内存的数据库&#xff0c;对数据的读写操作都是在内存中完成的&#xff0c;因此读写速度非常快&#xff0c;常用于缓存&#xff0c;消息队列&#xff0c;分布式锁等场景。 Redis提供了多种数据类型来支持不同的业务场景&#xff0c;比如String(字符串…...

2年手动测试,裸辞后找不到工作怎么办?

我们可以从以下几个方面来具体分析下&#xff0c;想通了&#xff0c;理解透了&#xff0c;才能更好的利用资源提升自己。一、我会什么&#xff1f;先说第一个我会什么&#xff1f;第一反应&#xff1a;我只会功能测试&#xff0c;在之前的4年的中我只做了功能测试。内心存在一种…...

Leetcode6. N字形变换

一、题目描述&#xff1a; 将一个给定字符串 s 根据给定的行数 numRows &#xff0c;以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时&#xff0c;排列如下&#xff1a; 之后&#xff0c;你的输出需要从左往右逐行读取&#xff0c;产…...

将Nginx 核心知识点扒了个底朝天(十)

ngx_http_upstream_module的作用是什么? ngx_http_upstream_module用于定义可通过fastcgi传递、proxy传递、uwsgi传递、memcached传递和scgi传递指令来引用的服务器组。 什么是C10K问题? C10K问题是指无法同时处理大量客户端(10,000)的网络套接字。 Nginx是否支持将请求压…...

GPU显卡环境配置安装

前言 最近公司购买了一张RTX3090的显卡和一台新的服务器&#xff0c;然后对机器的GPU环境进行了安装和配置&#xff0c;然后简单记录一下 环境版本 操作系统&#xff1a;Centos7.8 显卡型号&#xff1a;RTX3090 Python版本&#xff1a;3.7.6 Tensorflow版本&#xff1a;2…...

CIMCAI super unmanned intelligent gate container damage detect

世界港航人工智能领军者企业CIMCAI中集飞瞳打造全球最先进超级智能闸口无人闸口ceaspectusG™视频流动态感知集装箱箱况残损检测箱况残损识别率99%以上&#xff0c;箱信息识别率99.95%以上World port shipping AI leader CIMCAIThe worlds most advanced super intelligent gat…...

web概念概述

软件架构&#xff1a;1. C/S: Client/Server 客户端/服务器端* 在用户本地有一个客户端程序&#xff0c;在远程有一个服务器端程序* 如&#xff1a;QQ&#xff0c;迅雷...* 优点&#xff1a;1. 用户体验好* 缺点&#xff1a;1. 开发、安装&#xff0c;部署&#xff0c;维护 麻烦…...

从AUC稳健下界到量子场论:机器学习与物理的数学统一

1. 项目概述&#xff1a;当机器学习遇见量子场论如果你在机器学习领域待过一段时间&#xff0c;对AUC&#xff08;Area Under the ROC Curve&#xff09;这个指标一定不陌生。它是衡量二分类模型性能的黄金标准&#xff0c;一个完美的分类器AUC为1&#xff0c;随机猜测则为0.5。…...

3步终极解决方案:快速修复Zotero-GPT插件“密钥未配置“错误,开启AI文献管理新时代

3步终极解决方案&#xff1a;快速修复Zotero-GPT插件"密钥未配置"错误&#xff0c;开启AI文献管理新时代 【免费下载链接】zotero-gpt GPT Meet Zotero. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-gpt 还在为Zotero-GPT插件报错"your secretK…...

Camoufox反检测浏览器:深度伪造Canvas/WebGL/Audio指纹

1. 这不是浏览器&#xff0c;而是一套“数字伪装系统”&#xff1a;Camoufox的本质定位很多人第一次看到“Camoufox反检测浏览器”时&#xff0c;下意识会把它当成一个“长得像Firefox的爬虫工具”&#xff0c;甚至有人直接把它和普通无头浏览器、SeleniumUser-Agent轮换方案划…...

结构可识别性映射:破解模型不可识别下的时间序列分类难题

1. 项目概述&#xff1a;当模型“看不清”时&#xff0c;如何让分类器“看得清”&#xff1f;在生物医学、工业过程监控等领域&#xff0c;我们常常面对这样的场景&#xff1a;你有一堆传感器记录下的时间序列数据&#xff0c;比如病人的心率变化、反应器内的温度波动&#xff…...

机器学习模型虚假相关性识别与应对:四大评估框架与实战指南

1. 项目概述&#xff1a;当模型学会了“走捷径”在机器学习项目里摸爬滚打这么多年&#xff0c;我越来越觉得&#xff0c;模型训练最让人头疼的&#xff0c;不是调不出更高的准确率&#xff0c;而是你永远不知道它到底“学会”了什么。很多时候&#xff0c;模型在测试集上表现优…...

虚拟化与加密环境下勒索软件检测的IO模式识别与模型泛化实践

1. 项目概述&#xff1a;当勒索软件检测遇上虚拟化与加密在存储安全领域&#xff0c;勒索软件检测一直是个“猫鼠游戏”。传统的检测方法&#xff0c;尤其是那些依赖文件熵值&#xff08;Entropy&#xff09;突变的方案&#xff0c;在过去几年里确实立下了汗马功劳。其原理很直…...

机器人数据采集路径优化:用最近邻算法高效求解高维相空间TSP

1. 项目概述与核心问题在机器人控制&#xff0c;尤其是对精度要求极高的领域&#xff0c;比如手术机器人&#xff0c;我们常常面临一个看似简单实则棘手的问题&#xff1a;如何让机器人高效地完成一系列指定动作&#xff0c;以收集用于训练机器学习模型的数据。这听起来像是“让…...

# 软考软件设计师 · 考前2天轻松复习与终极必背手册

软考软件设计师 考前2天轻松复习与终极必背手册&#x1f4c5; 2026年5月21日 | 距考试仅剩2天 | D-2 轻松复习日 ⚠️ 今天的核心任务&#xff1a;翻看错题本 快速过一遍速记口诀 确认考场路线 心态放松 ❌ 不要学新内容&#xff01;不要做难题&#xff01;今天的任务只有一…...

《Java 基础必学:ArrayList、HashMap 和泛型详解》

一、引言 1.为什么这些是 Java 基础的重点&#xff1f; ArrayList、HashMap 和泛型是Java集合框架的核心组成部分&#xff0c;广泛应用于实际开发中。 ArrayList&#xff1a;基于动态数组实现&#xff0c;支持快速随机访问&#xff0c;适合频繁查询和遍历的场景。HashMap&…...

市面上靠谱的ERP/MES/定制开发/APP开发/软件开发公司

在数字化浪潮下&#xff0c;80%的实体企业都想通过ERP、MES或定制软件实现降本增效&#xff0c;但选对服务商比“买系统”更重要——用模板化系统的企业&#xff0c;70%会因为流程适配差、运维跟不上而半途而废&#xff1b;找外包开发的企业&#xff0c;又面临“开发完就甩手”…...