【C#入门】第二天:运算符和代码结构

一、运算符

1.算术运算符

常见的算术运算符: + - * / % ++ –
/(除法):整数相除,商为整数,如果有一个是小数,商为小数
例1: 5 / 3 = 1
例2: 5 / 3.0 = 1.66666666666667
%(模运算,取余数),举例: 5 % 3 = 2
注意
i++和 ++i的区别:
单独使用,效果一样,都是i+1,

int i = 0;
// ++i;
i++;
Console.WriteLine(i); // ++i和i++一样,均显示1
Console.ReadKey();

配合其他运算符或语句一起使用,i++用的是没自增前的数值(用的i),++i用是自增后的值(用的i+1)

int i = 0;
//Console.WriteLine(i++); // 显示0
Console.WriteLine(++i); // 显示1
Console.ReadKey();

2.关系运算符

==:相等
!=:不相等
>:大于
>=:大于等于
<: 小于
<=:小于等于
关系运算符,最终可以得到一个bool(布尔)类型的值,即true或false,例: 3 < 5 结果即为true

注意:相等是用2个等号(==),而不是1个等号(=),C#使用1个等号做条件判断会直接提示错误,可以避免这个问题

3.逻辑运算符

&&:与
||: 或
!:非
逻辑运算符就是bool类型变量之间的运算
&&: 同true为true,有一个false即为false
||:有一个true即为true,同为false为false
注意:
|| 第一个条件为true时,后续代码不会执行。大多数开发语言和C#一样,但VBA则不一样(想了解的,请自行尝试)

bool a = true;
int b = 0;
if (a || ++b > 0) { // 因为a为true,条件直接成立,++b不会执行,b为0
    Console.WriteLine(b); // 如果把||改成&&,++b就会执行,则会输出b为1
}
Console.ReadKey();

4.位运算符

&:按位与
|:按位或
^:按位异或
<<:左移
>>:右移

5.其他运算符

con ? A : B 如果条件con为true,结果为A,否则为B
??:A??B 如果A不为null,结果为A,为null,则为默认值B

二、运算符的优先级

有括号,先算括号内的,不用管运算符的优先级
一目运算最高: ! ++ –
二目运算次之(先乘除): * / %
      (后加减): + -
移位运算符: >> <<
关系运算符:< <= > >= == !=
位运算符: & | ^
逻辑运算: && || !
弄不清楚优先级没关系,直接括号括起来就行~

三、代码注释

//: 单行注释
/* */: 块注释
///:文档注释(和单行注释的区别还没get到,以后清楚了,补上)
#region #endregion:分块预处理,可以折叠代码
在这里插入图片描述

四、代码结构

代码的基本结构就三种:顺序结构、分支结构和循环结构。

1、顺序结构

代码执行顺序:从上到下,逐行执行

2、分支结构

a).if…else…组合,注意else if 的写法就行,大多数使用 else if,但也有例外,比如python用的就是elif

int score = 70;
if (score < 60) 
{
    Console.WriteLine("差");
}
else if (score >= 60 && score < 80)
{
    Console.WriteLine("一般");
}
else {
    Console.WriteLine("良好"); 
}

Console.ReadKey();

b).switch…case组合,
C#switch中可存放的类型: bool、char、string、整型、枚举或相应的可以为 null 的类型
C语言中switch只能放整型和字符型,是不能放字符串的,C#和java是可以放字符串的
在这里插入图片描述

3.循环

while:不知道循环次数的时候while,举例:2^n > 50,求最小的整数n

do…while…:一定会执行一次,使用场景和while一样

for循环:用的最多,已知循环次数的时候使用
for (int i = 0; i < 10; i++) {}
int i = 0; 初始化i,从0开始计数
i < 10; 指定循环次数 0-9,执行10次;或者理解为跳出循环条件为i = 10
i++; i自增

结束循环:break

跳出当前情况,继续执行下一循环:continue

···
for (int i = 0; i < 10; i++)
{
if (i == 1)
{
continue; // 不会打印1
}
if (i == 5)
{
break; // 不会打印5,6,7,8,9
}
Console.WriteLine(i);
}
Console.ReadKey();
···

ps: for循环其实也可以解决2^n > 50,求最小的整数n的问题,只是将n定个较大的整数,达到条件后,用break跳出循环即可(请各位读者自行尝试~)

foreach:适用对象集合(例:数组,list等),无需知道索引(第几个)
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/guggle15/article/details/123335310