首页 > 技术文章 > c#知识点

you-zi 2015-03-19 18:21 原文

C#是跨语言、java是跨平台

C#是面向对象的语言

面向对象三大基本特征:
1、封装
2、继承
3、多态

输出不换行
Console.write();
输出换行
Console.writeLine();

非打印字符
空格
\t 制表位
\n 换行
\' 单引号
\" 双引号

数据类型
1、值类型
整型:short、int、long
浮点型:float(单精度)、double(双精度)
布尔类型:bool
枚举:enum
2、引用类型
字符型:char、string
类:class
接口:interface
数组:[]
对象:object

注意:
小数默认为double,若是float类型需在小数后加f
bool的值只有两个:真为true,假为false
char的值必须使用'',string的值必须使用""


变量名命名规则:
首字母 其他字母
字母 _ 字母 _ 数字

例如:
age
首字母 其他字母
a ge

变量
定义:
其内部的值可以改变的一个存储空间
特点:
该存储空间的值可以通过赋值发生改变
例如:
int age=10;//声明时赋值
age=11;//再次赋值
最后age的值是11
语法:
一次声明一个:
数据类型 变量名;
例如:
1)string name;
2)int age;
一次声明同类型多个:
数据类型 变量名1,变量名2;
例如:
1)string name1,name2;
2)int num1,num2,num3;
赋值:
1、声明时赋值
例如:
1)string name="ccliu";
2)int num1=15,num2=30;
2、先声明后赋值
例如:
1)string name;name="ccliu";
2)int num1,num2;
num1=15;num2=10;//值不相同赋值
num1=num2=10;//值相同赋值


常量
定义:
其内部的值不可改变的存储空间
特点:
该存储空间声明时给值之后,值将不可改变
语法:
const 数据类型 名称=值;
例如:
const double PI=3.1415;
注意:
1)常量名必须大写
2)常量必须在声明时赋值
3)常量的值不可改变

输入:
作用:Console.ReadLine()的作用是用于在控制台接收用户录入的一行字符串
语法:
Console.ReadLine();
例如:
接收字符串类型语法如下:
string name=Console.ReadLine();
接收整型类型语法如下:
int age=Convert.ToInt32(Console.ReadLine());
接收双精度浮点
double money=Convert.ToDouble(Console.ReadLine());
类型转换:
1、显示转换(强制转换)
1)Convert.ToXXX(任意类型数据);//建议使用第一种
2)XXX.Parse(字符串数据);

int money=(int)3.14;

int money=Convert.ToInt32(3.14);

int money=int.Parse(3.14+"");

2、隐示转换(默认转换)
char short int long float double
注意:
1)char不能隐示转换为short
2)从左向右是隐示转换(默认转换)
3)从右向左是显示转换(强制转换)


运算符
()
一元
++ -- !(逻辑非)
二元

先* / % 后 + -

先> >= < <=后== !=

先&&(逻辑与) 后 ||(逻辑或)

先*= /= %= 后 += -= =
三元
表达式?值1:值2


接收用户录入:
//接收用户录入数字
int num = Convert.ToInt32(Console.ReadLine());
//接收用户录入小数
double money = Convert.ToDouble(Console.ReadLine());
//接收用户录入字符串
string name = Console.ReadLine();
//接收用户录入字符
char ch = Convert.ToChar(Console.ReadLine());

 

三种基本的流程控制结构
1、顺序
特点:程序将完全按照书写顺序依次执行所有的语句
2、条件
特点:根据条件判断结果来决定程序的执行流程
分类:
1)判断
if-else
2)分支
switch-case
3、循环
特点:在给定条件成立时反复执行某程序段,直到条件不成立为止
分类:
1)while循环
2)do-while循环
3)for循环

剖析:
判断if-else
分类:
1)简单if
使用场合:
对一个条件进行判断,条件成立就执行,否则什么事都不做
语法:
if(表达式)
{
语句块;
}
表达式包含:
bool类型的值/关系表达式/逻辑表达式
解析:
当表达式的值为真(true)则会执行if后{}内语句块
例如:
if(true) if(1==1) if((1==1)||false)
{ { {

} } }
2)一般if
使用场合:
对一个条件进行判断,条件成立则执行一个操作,否则执行另外一个操作
语法:
if(表达式)
{
语句块1;
}
else
{
语句块2;
}
表达式包含:
bool类型的值/关系表达式/逻辑表达式
解析:
当表达式的值为真(true),则执行if后{}内的语句块1
当表达式的值为假(false),则执行else后{}内的语句块2
3)多重if
使用场合:
对一个条件进行多次判断执行不同的操作
语法:
if(表达式1)
{
语句块1;
}else if(表达式2)
{
语句块2;
}else if(表达式3)
{
语句块3;
}else
{
语句块4;
}
表达式包含:
bool类型的值/关系表达式/逻辑表达式
解析:
当表达式1的值为真(true),则执行语句块1.
当表达式2的值为真(true),则执行语句块2.
当表达式3的值为真(true),则执行语句块3.
否则执行语句4

4)嵌套if
使用场合:
当一个条件的成立与否影响下一个条件判断的执行
语法:
if(表达式1)
{
if(表达式2)
{
语句块2;
}
}else
{
语句块3;
}
表达式包含:
bool类型的值/关系表达式/逻辑表达式
解析:
当表达式1的值为真(true),则执行表达式2的判断.
否则执行语句3


switch结构
作用:对一个条件进行多路判断
语法:
switch (表达式)//表达式的值可以为:char、int、string类型变量
{
case 常量1:
语句1;
break;
case 常量2:
语句2;
break;
default:
语句3;
break;
}
执行过程:
将switch语句中表达式的值依次与case语句后的常量表达式进行比较,若存在匹配项,执行当前case中的语句,一直执行到break为止,然后跳出switch结构。
若不存在匹配项,则执行default语句。如果没有default则程序中断
注意:
1、case和default语句后只要有一行语句则break不能省略
2、当case语句后没有任何语句时,break可以省略
3、case语句和default语句的顺序可以改变

switch和多重if的相同点和不同点:
相同点:
两者的运行过程非常相似,均为在前一个条件不成立的情况下开始下一次条件的判断。
不同点:
switch结构仅适用于整型、字符型以及字符串类型的等值判断情况,存在一定的局限性。
多重if结构在判断条件时通用性更强,主要运用于条件判断为区间的情况

-------------------------------------------------------------

数组
定义:数组是内存一段连续存储的空间
作用:用来存储相同数据类型的一组数据的集合
声明分配空间语法:
1、先声明后分配空间语法:
数据类型[] 数组名;//声明语法
数组名=new 数据类型[大小];//分配空间
emg:
string[] names;//声明string类型的数组
names=new string[5];//为string类型的数组names分配5个空间
2、声明时分配空间语法:
数据类型[] 数组名=new 数据类型[大小];
emg:
int[] nums=new int[5];//声明int类型的数组nums并为其分配5个空间
赋值语法:
1、声明时赋值
int[] nums=new int[3]{1,2,3};
char[] chs=new char[]{1,2,3,4};
double[] moneys={12.3,23.4,34.5};
2、先声明后循环赋值
参考案例
特点:

 

------------------------------------------
循环
定义:给定条件成立时反复执行某段程序直到条件不成立为止
循环组成部分:
1、循环条件初始化
2、循环结束条件
3、循环体
4、修改循环条件变量
分类:
1、while循环
2、do-while循环
3、for循环
4、foreach循环

while循环
特点:先判断后执行
语法:
①循环条件初始化;
while(②循环结束条件)
{
③循环体;
④修改循环条件变量;
}
执行过程
先执行①,
在判断②是否成立
当②一直成立则一直执行③④
否则结束循环
do-while循环
特点:先执行后判断
语法:
①循环条件初始化;
do
{
③循环体;
④修改循环条件变量;
}while(②循环结束条件);
执行过程
先执行①③④
在判断②是否成立
当②一直成立则一直执行③④
否则结束循环
for循环
特点:先判断后执行
语法:
for(①循环条件初始化;②循环结束条件;④修改循环条件变量)
{
③循环体;
}
执行过程
先执行①,
在判断②是否成立
当②一直成立则一直执行③④
否则结束循环
----------------------------------------------------
break
作用:是用来跳出或结束代码块
语法:
break;
使用场合:
1、应用于switch-case中
作用:跳出switch-case,然后执行之后的代码
2、应用于循环
作用:结束循环,然后在执行循环之后的代码
continue
作用:是用来终止本次操作继续下次操作
语法:
continue;
使用场合:
1、应用于循环
作用:终止本次循环继续下一次循环

注意:break和continue一般和if判断结合出现


return
作用:用于返回
语法:
return 值或表达式;
使用场合:
1、应用于函数(方法)内
作用:返回特定的值
-------------------------------------------------------
分支判断
switch(char/int/string类型的变量)
{
case 常量1:
语句块1;
break;
case 常量2:
语句块2;
break;
default:
语句块;
break;
}
条件判断
简单if
if()
{

}
一般if
if()
{
}else
{
}
多重if
if()
{
}else if()
{
}else if()
{
}else
{
}
嵌套if
if()
{
if()
{
}
}

switch应用于等值判断,一般情况下应用于3次等值判断以上的时候
多重if应用于等值判断或范围判断,一般情况下应用于3次以内

 

 






推荐阅读