继续更新第二篇:
1:一元运算符:++ --
++:不管是前加加还是后加加,变量的值最终都会自身加一。
前加加和后加加的区别体现在参与运算的时候,如果是后加加,则首先拿原值参与运算,
运算完成后再自身加一,而前加加则是首先自身加一,然后拿着加一后的值参与运算。
--:不管是前减减还是后减减,变量的值最终都会自身减一。
+ - * / % 是二元运算符,在一个表达式当中,既有一元运算符,也有二元运算符,应该首先计算一元运算符,一元运算符的优先级要高于二元运算符。
2:复合赋值运算符
+=:eg;a=a+5;=>a+=5;
-= :eg;a=a-5;=>a-=5;
*=:同上
/=
%=
3:关系运算符:用来描述两者之间的关系(简单不多说)
>
<
>=
<=
==
!=
由关系运算符连接的表达式叫做关系表达式,每一个表达式都能够求解出一个定值。
4:bool类型:
用bool类型来描述对或者错,bool类型只有两个值:true false。
5:逻辑运算符:
逻辑与 :&&
//让用户输入老苏的语文和数学成绩,输出以下判断是否正确,正确输出True,错误输出False
//1)老苏的语文和数学成绩都大于90分
Console.WriteLine("请输入老苏的语文成绩");
int chinese = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入老苏的数学成绩");
int math = Convert.ToInt32(Console.ReadLine());
//bool b = chinese > 90 && math > 90;
//Console.WriteLine(b);
//2)语文和数学有一门是大于90分的
bool b = chinese > 90 || math > 90;
Console.WriteLine(b);
Console.ReadKey();
逻辑或 :||
//润年的判定(符合下面两个条件之一):
//年份能够被400整除.(2000)
//年份能够被4整除但不能被100整除.(2008)
//让用户输入一个年份,如果是润年,则输出true,如果不是,则输出false.
Console.WriteLine("请输入一个年份");
int year = Convert.ToInt32(Console.ReadLine());
bool b = (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);
Console.WriteLine(b);
Console.ReadKey();
逻辑非:!
逻辑与和逻辑或运算符两边要求放置关系表达式或者bool类型的值,辑与的优先级要高于逻辑或。
6:语法结构
顺序结构:从上到下。
分支结构:
if结构、
语法:
if(判断条件):判断条件一般为bool类型的值或者关系表达式或者逻辑表达式
{
要执行的代码;
}
执行过程:
程序执行到if处,首先判断if所带的判断条件是否成立,如果成立,也就是返回true,
则进入大括号中执行代码。
如果判断条件不成立,也就是返回false,则直接跳过大括号。
语法特点:先判断,再执行,有可能一条代码都不会执行。
//让用户输入年龄,如果输入的年龄大于23(含)岁,则给用户显示你到了结婚的年龄了.
Console.WriteLine("请输入你的年龄");
int age = Convert.ToInt32(Console.ReadLine());
bool b = age >= 23;
if (b)
{
Console.WriteLine("你可以结婚啦");
}
Console.ReadKey();
if-else结构
语法:
if(判断条件)
{
要执行的代码;
}
else
{
要执行的代码;
}
执行过程:程序运行到if处,首先判断if所带的判断条件是否成立,如果成立的话,则执行
if所带的大括号中的代码,执行完成后,则立即跳出if-else结构。
如果判断条件不成立,则跳过if所带的大括号,执行else所带的大括中的代码,执行完成后,
跳出if-else结构。
所以,if-else结构最少都会执行一条代码。
注意:else永远跟离它最近的那个if配对
要求用户输入两个数a、b,如果a和b整除或者a加b大于100,则输出a的值,否则输出b的值
//Console.WriteLine("请输入a的值");
//int a = Convert.ToInt32(Console.ReadLine());
//Console.WriteLine("请输入b的值");
//int b = Convert.ToInt32(Console.ReadLine());
//if ((a % b == 0) || (a + b) > 100)
//{
// Console.WriteLine(a);
//}
//else
//{
// Console.WriteLine(b);
//}
选择结构:
if else-if结构、
这个结果用于多条件的判断,表示在多个判断条件中选择一个来执行。
语法:
if(判断条件)
{
要执行的代码;
}
else if(判断条件)
{
要执行的代码;
}
else if(判断条件)
{
要执行的代码;
}
else if(判断条件)
{
要执行的代码;
}
else
{
要执行的代码;
}
执行过程:程序首先会判断第一个if所带的小括号中的判断条件是否成立。如果成立,
则执行该if所带的大括号中的代码,执行完成后,跳出当前if else-if结构。
如果第一个if所带的判断条件不成立,则继续向下判断,依次判断每个if中的条件是否成立。
如果成立,则执行该if所带的大括号中的代码,执行完成后,跳出 if else-if结构。如果
每个if所带的判断条件都不成立,则看当前 if else-if结构中是否存在else
如果有else,则执行else中的代码,如果没有,则跳出当前结构,什么都不做。
static void Main(string[] args)
{
//对学员的结业考试成绩评测(考虑用if好还是用if-else好)
// 成绩>=90 :A
//90>成绩>=80 :B
//80>成绩>=70 :C
//70>成绩>=60 :D
// 成绩<60 :E
int score = 0;
bool b = true;
string level = "";
Console.WriteLine("请输入考试成绩");
try
{
score = Convert.ToInt32(Console.ReadLine());
if (score >= 90)
{
level = "A";
}
else if (score >= 80)
{
level = "B";
}
else if (score >= 70)
{
level = "C";
}
else if (score >= 60)
{
level = "D";
}
else
{
level = "E";
}
}
catch
{
Console.WriteLine("输入有误,程序退出");
b = false;
}
if (b)
{
Console.WriteLine(level);
}
Console.ReadKey();
//Console.ReadKey();
}
(demo包含try-catch)
switch-case结构。
语法:
switch(变量的值或者表达式)
{
case 值1:要执行的代码;
break;
case 值2:要执行的代码;
break;
case 值3:要执行的代码;
break;
case 值4:要执行的代码;
break;
.....
default:
要执行的代码;
break;
}
执行过程:程序首先计算switch小括号中的变量或者表达式的值。
拿着计算出来的定值依次的跟每个case所带的值进行匹配。
如果匹配成功,则执行该case所带的代码,执行完成后,遇到break,
跳出当前switch-case结构。
如果跟每个case所带的值都不匹配,则看当前switch-case中是否存在default。
如果存在default,则执行default中的代码,如果没有default,则该结构什么都不做。
(
如果判断的多条件,是一个区间性的判断。推荐使用if else-if.
如果判断的是一个多条件的定值。推荐使用switch-case。
)
//对学员的结业考试成绩评测 // 成绩>=90 :A //90>成绩>=80 :B //80>成绩>=70 :C //70>成绩>=60 :D // 成绩<60 :E
console.writeline("请输入考试成绩");
int score = convert.toint32(console.readline());
string level = "";
switch (score/10)
{
case 10:
case 9:
level = "a";
break;
case 8:
level = "b";
break;
case 7:
level = "c";
break;
case 6:
level = "d";
break;
default:
level = "e";
break;
}
console.writeline(level);
循环结构:所谓循环,指的是不停的同一件事情。就算是循环,也会结束的时候,如果一个循环,永远都不会结束,这种循环叫做死循环。
while循环、
while循环的语法:
while(循环条件)//bool类型的值,关系表达式,逻辑表达式
{
循环体;//指的就是不停的在做的那件事儿
}
执行过程:程序执行到while处,首先判断while小括号中所带的循环条件是否成立。
如果循环条件成立,也就是返回true,则执行while大括号中的循环体,当循环体
执行完一遍后,我们回到循环条件继续判断,如果循环条件成立,则继续执行循环体,
如果循环条件不成立,则立即跳出当前while循环。
在一个循环中,总会有那么一行代码能够改变循环条件,使之终有一天不再成立,
如果没有那么一行代码能够改变循环条件,那么这种循环我们叫做死循环。
最常用的死循环:
while(true)
{
}
break关键字
1)、跳出当前switch-case结构
2)、可以跳出当前的循环
break最常跟while(true)死循环配合使用
//求1-100之间所有整数的和 求1-100之间所有奇数的和 求1-100之间所有偶数的和
//循环体:不停的去相加
//循环条件:还没有加到100
//int sum = 0;//总和
//int i = 1000;
//while (i <= 100)
//{
// if (i % 2 == 0)
// {
// sum += i;//sum=sum+i;
// }
// i++;
//}
//Console.WriteLine(sum);
//Console.ReadKey();
do-while循环、
语法:
do
{
循环体;
}while(循环条件);
执行过程:
程序首先执行do中的循环体,执行完成后,带着执行的结果去判断循环条件是否成立。
如果成立,则继续执行do中的循环体,如果不成立,则跳出do-while循环。
特点:先执行,再判断,最少都要执行一遍循环体。
static void Main(string[] args)
{
//明天小兰就要登台演出了,老师说再把明天的演出的歌曲唱一遍,如果满意,小兰就可以回家了.否则就需要再练习一遍,直到老师满意为止.(y/n)
//循环体:小兰唱一遍 问老师 你满意了么?老师回答
//循环条件:老师不满意
//Console.WriteLine("老师,我唱的这一遍,你满意么?");
//string answer = Console.ReadLine();
//while (answer == "no")
//{
// Console.WriteLine("老师,我再唱一遍,你满意么?");
// answer = Console.ReadLine();
//}
//Console.WriteLine("满意了,你可以回家了");
string answer = "";
do
{
Console.WriteLine("我唱的这一遍,老师你满意么?");
answer = Console.ReadLine();
} while (answer == "no");
Console.ReadKey();
}
for循环、
作用:专门用来处理已知循环次数的循环。
语法:
for(表达式1;表达式2;表达式3)
{
循环体;
}
执行过程:
首先执行表达式1,声明循环变量,然后执行表达式2,判断循环条件是否成立。
第一次循环的时候,并没有执行表达式3,而是直接进入循环执行循环体。
循环体执行完成后,执行表达式3,然后执行表达式2判断循环条件是否成立,
如果成立,则继续执行循环体,如果不成立,则跳出当前for循环。
//找出100-999间的水仙花数?
//水仙花数:当前这个百位数字的百位的立方+十位的立方+个位的立方==当前这个百位数字
//153 1 + 125 + 27=153
//153
//百位:153/100
//十位:153%100/10
//个位:153%10
//3*3*3
//GC Garbage Collection
for (int i = 100; i <= 999; i++)
{
int bai = i / 100;
int shi = i % 100 / 10;
int ge = i % 10;
if (bai * bai * bai + shi * shi * shi + ge * ge * ge == i)
{
Console.WriteLine(i);
}
}
Console.ReadKey();
foreach循环
关于foreach循环可以看看这个简单的demo:梦断难寻 C# foreach 循环遍历数组
7:try-catch 异常捕获
语法:
try
{
有可能会出现异常的代码;
}
catch
{
出现异常后要执行的代码;
}
执行过程:
如果try中的代码出现了异常,则这行异常代码后面,哪怕有一百行代码,都不会再被执行了,
而是直接跳到catch中,执行catch中的代码。
反之,如果try中的代码没有出现异常,则不会执行catch的代码;
(try-catch最后还有finally,意思是如果加上了finally的话,finally中的代码在最后都必须会执行)
static void Main(string[] args)
{
int number = 0;
bool b = true;
Console.WriteLine("请输入一个数字,我们将打印这个数字的2倍");
try
{
number = Convert.ToInt32(Console.ReadLine());//50a
Console.WriteLine("啦啦啦啦啦");
Console.WriteLine("啦啦啦啦啦");
Console.WriteLine("啦啦啦啦啦");
Console.WriteLine("啦啦啦啦啦");
}
catch
{
Console.WriteLine("输入的数字不正确,程序退出!!!!");
b = false;
}
if (b)
{
Console.WriteLine(number * 2);
}
Console.ReadKey();
}
8:局部变量的作用域
在Main函数当中,声明的所有变量都叫做局部变量。而局部变量的作用域是有范围的。
所谓作用域指的就是能够使用这个变量的范围(比如所大括号可以看做是一个作用域)。
(暂时这么点 所有的demo都是最基础的 希望能明白,可能排版有点问题,还望忍耐。如果哪儿有写的不对的地方还望指教。)
2015-04-01
36E
最后祝大家愚人节快乐!!