C#基础总复习02
继续更新第二篇:
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
最后祝大家愚人节快乐!!
C#基础总复习02的更多相关文章
- C#基础总复习01
马上就快毕业了,准备把这几个月所学到的知识梳理一下,这儿所写的都是一些C#中最基础的东西(大牛不要笑话我,这也是我记录的一些笔记等等),希望能帮到一些正在学习这方面的知识的人,如果有写的不对的地方,望 ...
- Day 20 python基础总复习
一.计算机基础 1.1 计算机基础之编程 编程语言是人与计算机之间交流的介质 编程就是写一堆文件 编程为了奴隶计算机,解放劳动力 1.2 计算机组成原理 CPU 控制器:控制硬件 运算器:逻辑运算和算 ...
- .net基础总复习(2)
第二天 文件操作常用类 File类 //操作文件的 //复制.剪切.创建.移除 //File.Create(@"C:\Users\BDSOFT\Desktop\new.txt" ...
- .net基础总复习(1)
第一天 1.new关键字 (1) 创建对象 (2) 隐藏从父类那里继承过来的成员 2.访问修饰符 public: 公开的,公共的. private:私有的,只能在当前类的内部访问,类中的成员, 如果不 ...
- C#基础总复习03
继续更新...接下来就是面向对象的知识了 1.面向对象:概念:使用面向对象的思想进行编程可以让的程序变得扩展性更高,便于维护: 我们在现实生活中去描述一个人的时候,通过描述这个人的特征和行为. 我们在 ...
- .net基础总复习(3)
第三天 2.单例模式 1) 将构造函数私有化 2) 提供一个静态方法,返回一个对象 3) 创建一个单例 3.XML 可扩展的标记语言 XML:存储数据 注意: XML严格区分大小写,并且成对出现 ...
- EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)
本来原来学的时候,挺顺利的,没想到再次使用,还是遇到很多问题,导致更新失败,所以,只能重建迁移,免得看着乱乱的. 一.删除迁移,将数据恢复到(一)结束状态 1.删除文件夹 2.删除表 3.删除列 4. ...
- EF6 在原有数据库中使用 CodeFirst 总复习(五、生成发帖页面)
有点与在原有数据库中使用 CodeFirst 远了,不过是总复习吗,总得全面点. 一.在用户表(Users)中插入两个用户 二.生成发帖界面 MVC生成的界面很多,也没使用Ajax,实际开发中很少会使 ...
- JavaSE_ Java基础 总目录(1~6)
JavaSE学习总结第01天_Java概述01.01 计算机概述01.02 计算机硬件和软件概述01.03 软件开发和计算机语言概述01.04 人机交互01.05 键盘功能键和快捷键01.06 如何打 ...
随机推荐
- 如何获得网页上的swf视频教程文件?
网上有很多免费的视频教程,但有的视频教程这能在线观看,无法离线下在,如何获得网页上的swf视频教程文件呢? 我问以"我要自学网"的视频教程为例进行讲解.这是一个我要自学网的PS视频 ...
- EASYUI- EASYUI左移右移 GRID中值
EASYUI左移右移 GRID中值 $("#addAll").click(function(){ var ids = []; var names = []; var srcrows ...
- Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
转载:http://blog.csdn.net/xiaanming/article/details/12684155 转载请注明出处:http://blog.csdn.net/xiaanming/ar ...
- 学习 MFC之 工具栏(二)
对于InitToolBar()函数进行进一步解析: 1.首先声明一个全局对象: CToolBar m_toolbar; 2.然后用create()创建toolbar: //创建ToolBar工具条 ...
- Windows Server 2012配置开机启动项
1.运行 shell:startup 命令,如下:
- Python、C和Java对比
先上一个Python小测试: #!/usr/bin/env python #coding=utf-8 ''' 等腰三角形 ''' for i in range(1,6): print ' '*(6-i ...
- javax.naming.NameNotFoundException:Name[ XXX] is not bound in this context.
在用局部数据源去连数据库的时候,在本地的项目中,都是可以的,可是一部署到服务器上,就报错了. 报的错误是:javax.naming.NameNotFoundException:Name[ XXX] i ...
- SVN安装笔记
1.先去以下网址去下载服务器端与客户端的SVN 2.服务端SVN的安装 点击next 点击next 再点击next 点击next 点击install 点击Finish,这样服务器端的SVN就安装好了, ...
- 匿名内部类new Runnable()
匿名内部类(Anonymous Inner Class),在创建实例的同时给出类的定义,所有这些在一个表达式中完成. Java code? 1 2 3 4 Runnable rn = new Runn ...
- mysql中删除表
有两种方式: 1.delete from table table_name; 2.truncate table table_name; 第一种中,清空表后,主键id会在原先的记录基础上继续增加,而第二 ...