电脑绝技教你22天学精Csharp之第 三天
1、类型如果相兼容的两个变量,可以使用自动类型转换或者强制类型转换,
但是,如果两个类型的变量不兼容,比如 string与int或者string 与double,
这个时候我们可以使用一个叫做Convert的转换工厂进行转换。
注意:使用Convert进行类型转换,也需要满足一个条件:
面儿上必须要过的去。
2、算数运算符
++:分为前++和后++,不管是前++还是后++,最终的结果都是给这个变量加一。
区别表现表达式当中,如果是前++,则先给这个变量自身加一,然后带着这个加一后的值去参与运算。
如果是后++,则先拿原值参与运算,运算完成后,再讲这个变量自身加一。
--:同上。
3、
对于向加加或者减减这样只需要一个操作数就能完成的运算,我们称之为一元运算符。
+ - * / % 对于这些需要两个或以上才能完成运算的操作符,我们称之为二元运算符。
一元运算符的优先级要高于而元运算符。
如果在一个表达式当中,既有一元运算符,又有二元运算符,我们首先计算一元运算符。
int number=10;
int result=10 + ++number;
4、关系运算符
>
>=
==
!=
关系运算符是用来描述两个事物之间的关系
由关系运算符连接的表达式称之为关系表达式。
5、bool类型
在c#中我们用bool类型来描述对或者错。
bool类型的值只有两个 一个true 一个false
6、逻辑运算符
&& 逻辑与
||逻辑或
!逻辑非
又逻辑运算符连接的表达式叫做逻辑表达式
逻辑运算符两边放的一般都是关系表达式或者bool类型的值。
5>3 &&true
3>5||false
!表达式
逻辑表达式的结果同样也是bool类型
7、复合赋值运算符
int number=10;
+= :
number+=20;
number=number+20;
-=
number-=5;
number=number-5;
*=
number*=5;
number=number*5;
/=
%=
中级程序员 --2年 ---高级程序员---->小组组长---> 项目经理
业务经理
产品经理
高级程序员
不明觉厉
软件开发工程师
顺序结构:程序从Main函数进入,从上到下一行一行的执行,不会落下任何一行。
分支结构:if if-else
选择结构:if else-if switch-case
循环结构:while do-while for foreach
8、
if语句:
语法:
if(判断条件)
{
要执行的代码;
}
判断条件:一般为关系表达式或者bool类型的值。
执行过程:程序运行到if处,首先判断if所带的小括号中的判断条件,
如果条件成立,也就是返回true,则执行if所带的大括号中的代码,
如果判断条件不成立,也就是返回一个false。则跳过if结构,继续向下执行。
if结构的特点:先判断,再执行,有可能一行代码都不执行
用于一种情况的判断。
9、if-else
语法:
if(判断条件)
{
执行的代码;
}
else
{
执行的代码
}
执行过程:程序执行到if处,首先判断if所带的小括号中的判断条件是否成立,
如果成立,也就是返回一个true,则执行if所带的大括号中的代码,
执行完成后,跳出if-else结构。
如果if所带的小括号中的判断条件不成立,也就是返回一个false,
则跳过if语句,执行else所带的大括号中的语句,执行完成后,跳出if-else结构。
if-else特点:先判断,再执行,最少都要执行一条代码。
用于两种情况的判断
注意:else永远跟离它最近的那个if配对
10、if else-if
作用:用来处理多条件的区间性的判断。
语法:
if(判断条件)
{
要执行的代码;
}
else if(判断条件)
{
要执行的代码;
}
else if(判断条件)
{
要执行的代码;
}
else if(判断条件)
{
要执行的代码;
}
........
else
{
要执行的代码;
}
执行过程;程序首先判断第一个if所带的小括号中的判断条件,如果条件成立,也就是返回一个true,
则执行该if所带的大括号中的代码,执行完成后,立即跳出if else-if结构。
如果第一个if所带的判断条件不成立,也就是返回一个false,则继续向下进行判断,依次的判断每一个if所带
的判断条件,如果成立,就执行该if所带的大括号中的代码,如果不成立,则继续向下判断,
如果每个if所带的判断条件都不成立,就看当前这个if else-if结构中是否存在else。
如果有else的话,则执行else中所带的代码,如果没有else,则整个 if-else if神马都不做。
else可以省略。
11.switch-case(S)
switch-case语法:
switch(表达式/变量)
{
case 值1: 语句块1;
break;
case 值2: 语句块2;
break;
default:语句块3;
break;
}
12.if-else if与switch的比较(S)
相同点:都可以实现多分支结构
不同点:
if-else if:可以处理范围
switch:一般 只能用于等值比较
三者的区别:
if有条件的执行一条语句
if-else有条件的执行一条或另一条语句
switch有条件的执行一组语句中的一条语句
练习:
说出已学过的数据类型有哪些?(int double…)
举例说明已学过的运算符有哪些?(+-…)
请用户输年份,再输入月份,输出该月的天数.(结合之前如何判断闰年来做)
对学员的结业考试成绩评测(改成用Switch来做)
成绩>=90 :A
90>成绩>=80 :B
80>成绩>=70 :C
70>成绩>=60 :D
成绩
输入几个人的名字,计算这几个人上辈都是干什么的?(老杨,老苏,老邹,老虎,老牛,老蒋,老王,老马)
13循环结构(S)
实际生活中的循环:打印100份试卷 10000米 车轮(绕操场跑5圈)
李四这次考试又粗心了,爸爸让他写1000遍“下次考试一定要细心”.(复印纸加三根笔)
如何编程实现上面的问题?
Console.WriteLine("下次考试一定要细心");
Console.WriteLine("下次考试一定要细心");
Console.WriteLine("下次考试一定要细心");
......
使用循环解决
聪明的解决方法:
int i=0;
while(i
{
Console.WriteLine(“我下次一定要超越他”);
i++;
}
While(S)
语法:
while(循环条件)
{
循环体;
}
特点:先判断,再执行
练习:
打印100次"欢迎您来传智播客学习"
输入班级人数,然后依次输入学员成绩,计算班级学员的平均成绩和总成绩
老师问学生,这道题你会做了吗?如果学生答"会了(y)",则可以放学.如果学生不会做(n),则老师再讲一遍,再问学生是否会做了......
直到学生会为止,才可以放学.
直到学生会或老师给他讲了10遍还不会,都要放学
2006年培养学员80000人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人?
14.do-while(S)
明天小兰就要登台演出了,老师说再把明天的演出的歌曲唱一遍,如果满意,小兰就可以回家了.否则就需要再练习一遍,直到老师满意为止.(y/n)
while or do-while ?
do-while为先执行,再判断
do{循环体;}
while(条件);
练习:
练习1:计算1到100之间整数的和;
练习2:要求用户输入用户名和密码,只要不是admin、888888就一直提示用户名或密码错误,请重新输入。
练习3:不断要求用户输入学生姓名,输入q结束.
练习4:不断要求用户输入一个数字,然后打印这个数字的二倍,当用户输入q的时候程序退出。
练习5:不断要求用户输入一个数字(假定用户输入的都是正整数),当用户输入end的时候显示刚才输入的数字中的最大值
while与do-while区别
通过练习,希望大家已经掌握这两种循环.
语法不同
初始值不满足循环条件时:
while循环一次都不执行
do-while循环会执行一次