C#学习笔记--逻辑语句(分支和循环)
逻辑语句
条件分支语句
条件分支语句可以让顺序执行的代码逻辑产生分支,满足对应条件地执行对应代码逻辑。
IF语句
//IF语句块
int a=5;
if(a>0&&a<15)//注意结尾无分号
{
Console.WriteLine("a在0到15之间");
}
//if……else结构
if( false )
{
Console.WriteLine("满足if条件 做什么");
if( true )
{
if (true)
{
}
else
{
}
}
else
{
if (true)
{
}
else
{
}
}
}
else
{
Console.WriteLine("不满足if条件 做什么");
if (true)
{
}
else
{
}
}
//if……elseif 结构
int a3 = 6;
if (a3 >= 10)
{
Console.WriteLine("a3大于等于10");
}
else if( a3 > 5 && a3 < 10 )
{
Console.WriteLine("a3在6和9之间");
}
else if( a3 >= 0 && a3 <= 5 )
{
Console.WriteLine("a3在0和5之间");
}
else
{
Console.WriteLine("a小于0");
}
//对于初学者而言,代码逻辑要整齐,错落有致,方便对比嵌套逻辑语句块的配对
if语句的小练习--分辨奇偶数字
try
{
console.writeline("请输入一个整数");
int num = int.parse(console.readline());
//能被2整除的数 叫偶数
if (num % 2 == 0)
{
console.writeline("your input is even");
}
else
{
console.writeline("your input is odd");
}
}
catch
{
console.writeline("请输入数字");
}
语句块的知识
{}括起来的逻辑语句是一个代码块,注意变量在代码块中的生命周期
//语句块体悟
//语句块引起的变量的生命周期
//语句块中声明的变量只能在当前的语句块中使用
//体会当下代码在编译器中的报错意义!
int a = 1;
int b = 2;
{
int b = 3;
Console.WriteLine(a);
Console.WriteLine(b);
}
Console.WriteLine(b);
int a = 5;
if (a > 3)
{
int b = 0;
++b;
b += a;
}
Console.WriteLine(b);
Switch 语句
当判断条件过多时候,使用if elseif 来进行判断时,需要写多条elseif,显得冗长繁琐,为此体现出switch分支语句的优势--清晰明了
//switch语句
int a=2;
switch(a)
{
//这个条件一定是常量
case 1:
Console.WriteLine("a等于1");
break;//每个条件之间通过break隔开
case 2:
Console.WriteLine("a等于2");
break;
case 3:
Console.WriteLine("a等于3");
break;
default://可省略 默认选择条件
Console.WriteLine("什么条件都不满足,执行default中的内容");
break;
}
string str = "123";
switch (str)
{
case "123":
Console.WriteLine("等于123");
break;
case "234":
Console.WriteLine("等于234");
break;
}
//贯穿使用
//当一个变量同时满足多个条件可以做多条件的“合并”判断
//给变量对号找家--如果找到相关的可以接受的便会直接匹配,
//否则会继续匹配下一条case条件
string name="畅知";
switch (name)
{
//只要是符合三个条件之一就行
case "畅知":
case "TonyChang":
case "小明":
Console.WriteLine("是个帅哥!");
break;//break有阻断作用
case "小玉":
case "莉莉":
Console.WriteLine("是个美女!");
break;
default:
break;
}
switch使用练习:学生成绩的分档
//输入学生的考试成绩,如果
//成绩 >= 90:A
//90 > 成绩 >= 80:B
//80 > 成绩 >= 70:C
//70 > 成绩 >= 60:D
//成绩 < 60:E
//(使用switch语法完成)
//最后输出学生的考试等级
try
{
Console.WriteLine("请输入学生成绩");
int cj = int.Parse(Console.ReadLine());
// 取它的 十位数
// 100 / 10 = 10
// 99 / 10 = 9
// 84 / 10 = 8
// 74 / 10 = 7
// cj = cj / 10;
cj /= 10;
switch (cj)
{
case 10:
case 9:
Console.WriteLine("你的成绩是A");
break;
case 8:
Console.WriteLine("你的成绩是B");
break;
case 7:
Console.WriteLine("你的成绩是C");
break;
case 6:
Console.WriteLine("你的成绩是D");
break;
default:
Console.WriteLine("你的成绩是E");
break;
}
}
catch
{
Console.WriteLine("请输入数字");
}
循环语句
循环可以使满足循环执行条件的逻辑反复执行。注意不要随便写出死循环。
while循环
//while循环
int a=1;
while(a<10)//循环条件
{
++a;
}
Console.WriteLine(i);
//循环的嵌套使用
int a1=1;
int b=0;
while (a1 < 10)
{
++a1;
while (b < 10)
{
++b;
}
}
//break的使用
//break可以是执行逻辑点跳出while语句块
while (true)
{
Console.WriteLine("break之前的代码");
break;
Console.WriteLine("break之后的代码");
}
Console.WriteLine("循环外的代码");
//continue的使用
//使执行逻辑点跳出当前的循环内容
//直接进入下一次的循环判断执行
//打印1到20之间的 奇数
int index = 0;
while(index < 20)
{
++index;
//什么样的数是奇数
//不能被2整除的数 ——> %
if (index % 2 == 0)
{
continue;//跳过偶数情况
}
Console.WriteLine(index);
}
练习--找出100内所有素数打印
//找出100内所有素数并打印。
int num = 2;
while( num < 100 )
{
// 用想要判断是素数的数 从2开始 去取余 如果 中途就整除了 证明不是素数
// 如果 累加到和自己一样的数了 证明是素数
int i = 2;
while( i < num )
{
//判断是否整除
if( num % i == 0 )
{
break;
}
++i;
}
if( i == num )
{
Console.WriteLine(num);
}
++num;
}
doWhile循环
do……while语句与while循环差不多,只不过这个家伙太鲁莽,先斩后奏,不管如可,先执行代码块,再进行条件判断
//do while循环简单应用
string userName = "";
string passWord = "";
bool isShow = false;
do
{
//这句代码 第一次 肯定不能执行
if (isShow)
{
Console.WriteLine("用户名或密码错误,请重新输入");
}
//循环输入
Console.WriteLine("请输入用户名");
userName = Console.ReadLine();
Console.WriteLine("请输入密码");
passWord = Console.ReadLine();
isShow = true;
} while (userName != "畅知" || passWord != "666");
for循环
for循环是最常使用的一种循环语句,
//for循环
for( int i = 10; i >= 0; i-- )
{
Console.WriteLine(i);
}
//每个空位 可以按照规则进行书写
//注意:分号不可以省去,即便没有变量声明也不可以省!
//第一个空位 声明变量 可以同时声明多个
//第二个空位 判断条件 返回值为bool
//第三个空位 对变量的操作
for( int i = 0, j = 0; i < 10 && j < 0; ++i, j = j + 1)
{
}
//for循环的特殊使用
// for循环可以写死循环
//for( ; ; )
//{
// Console.WriteLine("for循环的死循环");
//}
int k = 0;
for(; k < 10; )
{
++k;//k++, k += 1;
}
//for( k = 0; ; ++k )
//{
// if( k >= 10 )
// {
// break;
// }
//}
for循环的经典练习:
一般都是找要执行逻辑块执行结果和循环条件变量之间的对应关系
//在控制台上输出如下10 * 10的空心星型方阵
//**********
//* *
//* *
//* *
//* *
//* *
//* *
//* *
//* *
//**********
//行
for (int j = 0; j < 10; j++)
{
//列
for (int i = 0; i < 10; i++)
{
//列 如果是 第1行和最后1行 那么 内层列循环 都打印星号
// 按照 **********的规则打印
if (j == 0 || j == 9)
{
Console.Write("*");
}
//否则 就是 按照* *的规则打印
else
{
if (i == 0 || i == 9)
{
Console.Write("*");
}
else
{
Console.Write(" ");
}
}
}
Console.WriteLine();
}
//在控制台上输出如下10行的三角形方阵
// * 1 1 -> 2i - 1 9 10 - i
// *** 2 3 -> 2i - 1 8 10 - i
// ***** 3 5 7 10 - i
// ******* 4 7 6 10 - i
// ********* 5 9 5
// *********** 6 11 4
// ************* 7 13 3
// *************** 8 15 2
// ***************** 9 17 1
//******************* 10 19 0 10 - i
//行
for (int i = 1; i <= 10; i++)
{
//打印空格的列
for (int k = 1; k <= 10 - i; k++)
{
Console.Write(" ");
}
//打印星号的列
for (int j = 1; j <= 2*i-1; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
//在控制台上输出九九乘法表
for (int i = 1; i <= 9; i++)
{
//1 1 X 1 = 1 空行
//2 1 X 2 = 2 2 X 2 = 4 空行
//3 1 X 3 = 3 2 X 3 = 6 3 X 3 = 9 空行
for (int j = 1; j <= i; j++)
{
Console.Write("{0}X{1}={2} ", j, i, i * j);
}
Console.WriteLine();
}
//求1~100之间所有偶数的和
int sum = 0;
for (int i = 1; i <= 100; i++)
{
//判断是否是偶数 是否能整除2
if( i % 2 == 0 )
{
sum += i;
}
}
for (int i = 2; i <= 100; i += 2)
{
sum += i;
}
Console.WriteLine(sum);
C#学习笔记--逻辑语句(分支和循环)的更多相关文章
- 【Linux_Shell 脚本编程学习笔记三、分支与循环结构】
if 语句是实际生产工作中最重要且最常用的语句,所以,必须掌握牢固 if 条件语法 1. 单分支机构 if [ 条件 ] then 指令 fi 或 if [ 条件 ]; then 指令 fi ...
- python学习笔记05-条件分支与循环1
思考问题:100分制,90分以上为A,80-90为B,60-80为C,60以下为D,当用户输入成绩后,打印对应的字母 temp=input('请输入你的成绩:') score=int(temp) if ...
- 【python学习笔记】5.条件、循环和其他语句
[python学习笔记]5.条件.循环和其他语句 print: 用来打印表达式,不管是字符串还是其他类型,都输出以字符串输出:可以通过逗号分隔输出多个表达式 import: 导入模块 impo ...
- Spring源码学习笔记9——构造器注入及其循环依赖
Spring源码学习笔记9--构造器注入及其循环依赖 一丶前言 前面我们分析了spring基于字段的和基于set方法注入的原理,但是没有分析第二常用的注入方式(构造器注入)(第一常用字段注入),并且在 ...
- 【Visual C++】游戏编程学习笔记之六:多背景循环动画
本系列文章由@二货梦想家张程 所写,转载请注明出处. 本文章链接:http://blog.csdn.net/terence1212/article/details/44264153 作者:ZeeCod ...
- python学习笔记之四:条件,循环和其他语句
前面已经介绍过几种基本语句(print,import,赋值语句),下面我们来介绍条件语句,循环语句. 一. print和import的更多信息 1.1 使用逗号输出 A.打印多个表达式,用逗号隔开,会 ...
- 反射的学习笔记--sql语句生成
学生实体类 public class Student { public int Id { get; set; } public string Name { get; set; } public int ...
- python学习笔记(四)、条件、循环及其他语句
1 再谈print和import 1.1 打印多个参数 print 能够同时打印多个表达式,并且能自定义分隔符.如下: print('a','b','c') ——> a b c print('a ...
- VBA 学习笔记 - 判断语句、循环
判断语句 大部分和 Lua 差不多,多了一个 Switch 语句 循环 For 循环 多次执行一系列语句,缩写管理循环变量的代码. For i = start To end [Step X]...Ne ...
- Python学习笔记8—语句
条件语句 有的程序里写的是 /usr/bin Python,表示 Python 解释器在/usr/bin 里面.但是,如果写成 /usr/bin/env,则表示要通过系统搜索路径寻找 Python 解 ...
随机推荐
- [ARM 汇编]高级部分—性能优化与调试—3.4.1 性能分析与优化策略
性能优化是嵌入式系统开发中的一个重要环节,尤其是在资源受限的环境下.性能优化的目标是提高代码执行速度.降低功耗和减少内存占用.在本章节中,我们将讨论性能分析与优化策略,并通过实例来学习如何应用这些策略 ...
- Thinkphp6 连接达梦数据库
Thinkphp6 连接达梦数据库 这里使用 IDEA phpEnv PHP7.3 Thinkphp6 桌面操作系统:Windows11 虚拟机:VMware 服务器操作系统:银河麒麟 在虚拟机操作与 ...
- 2023-07-04:给定一个数组A, 把它分成两个数组B和C 对于数组A每个i位置的数来说, A[i] = B[i] + C[i] 也就是一个数字分成两份,然后各自进入B和C 要求B[i], C[i
2023-07-04:给定一个数组A, 把它分成两个数组B和C 对于数组A每个i位置的数来说, A[i] = B[i] + C[i] 也就是一个数字分成两份,然后各自进入B和C 要求B[i], C[i ...
- Maven项目配置
pom.xml配置 配置编码格式为UTF-8 <properties> <project.build.sourceEncoding>UTF-8</project.buil ...
- 用googletest写cpp单测
框架概述 Google Test(也称为 googletest)是由 Google 开发的 C++ 单元测试框架.它的首个版本是在2004年发布的,作为 Google 内部的测试框架使用.随后,Goo ...
- 说说 Go 语言的坑(二)
上一篇文章 说说 Go 语言 for-range 的坑 说的是 for-range 的,工作中,其实还是遇到蛮多奇奇怪怪的问题,这里也顺便整理了一下,就当作是续集:) 先继续看 for-range 的 ...
- PTA 21级数据结构与算法实验5—树和二叉树
目录 7-1 还原二叉树 7-2 朋友圈 7-3 修理牧场 7-4 玩转二叉树 7-5 根据后序和中序遍历输出先序遍历 7-6 完全二叉树的层序遍历 7-7 列出叶结点 7-8 部落 7-9 建立与遍 ...
- C语言基础-结构体基础
文章目录 前言 1.结构体的创建 1.1 第一种方法 1.2 第二种方法 1.3 全局结构体和局部结构体的声明 2.结构体的使用 2.1 局部结构体的声明 & 初始化 2.1.1 指针方法 2 ...
- 2023-07-22:一共有n个项目,每个项目都有两个信息, projects[i] = {a, b}, 表示i号项目做完要a天,但是当你投入b个资源,它就会缩短1天的时间, 你一共有k个资源,你的目
2023-07-22:一共有n个项目,每个项目都有两个信息, projects[i] = {a, b}, 表示i号项目做完要a天,但是当你投入b个资源,它就会缩短1天的时间, 你一共有k个资源,你的目 ...
- 使用DBeaver连接数据库
下载网站:官网下载 参考链接:使用 DBeaver 连接 OceanBase