C#入门之语法基础
2017-01-03 16:05
197 查看
一. C#中的关键字
关键字,是一些被C#规定了用途的重要单词。所有关键字都是由小写字母组成的。
在Visual Studio的开发环境中,关键字被标识为蓝色。
例如
using System;
using System.Collections.Generic;
using System.Text; // 关键字 using ,用途是导入命名空间。比如这句,作用是导入System.Text命名空间中的类。
namespace Test // 关键字 namespace ,用途是声明“命名空间”。比如例子中,命名空间叫做Test。
{
class Program // 关键字 class ,用途是声明类。比如例子中,类名叫做Program。
{
static void Main(string[ ] args) // 关键字 static (静态的)、 void (无返回值)、 string (字符串类型)。常常在Main()方法的声明中看到。
// Main() 方法是 C# 中的特殊方法,是程序的入口,就是说,如果没有 Main ()方法,程序就无法启动。
{
Console.WriteLine("今日事,今日毕。");
}
}
}
二. C#的注释
注释分为:单行注释、多行注释、文档注释。
单行注释的符号是2条斜线(请注意斜线的方向),2条斜线右侧的内容就是注释,左侧的代码不会受影响。
多行注释以“/*”开始,以“*/”结束,之间的内容就是注释,可以包含多行。
文档注释写在类、方法或属性(以后会学到)的前面,它的符号是3条斜线“///”。
小贴士:Console.WriteLine()与Console.Write()不同,后者不换行,而前者会在打印之后换行。
例如
int count;//声明了一个int型变量
/*打印*/
Console.Write("Yeah!");
/*
*打印
*/
Console.Write("Yeah!");
三. C#的常量
常量,顾名思义,就是“不会改变的量”。
我们平时书写的数字(比如12.85)、字符(比如'F')、字符串(比如"谢谢"),它们都属于“字面常量”。
有一些常量既重要又容易出错,比如圆周率π的值为3.1415926......,所以,我们常常会使用自定义常量。
例如
const 关键字,表明 PI 是一个常量。
double 关键字,表明 PI 的类型为双精度浮点型(一种精度很高的数字类型)。
这段代码中使用了2次圆周率(周长、面积),但是因为使用自定义常量,所以字面常量3.1415926只书写了一次。这样做避免了重复书写导致的错误。
小贴士:常量在声明时赋值,之后是不能修改的。声明常量必须同时赋值。
例如
using System;
using System.Collections.Generic;
using System.Text;
namespace Test
{
class Program
{
static void Main(string[ ] args)
{
const string CITY = "布宜诺斯艾利斯"; //常量,城市
const string NAME = "列奥波尔多·福图纳托·加尔铁里·卡斯特利"; //常量,姓名
Console.WriteLine(NAME+"出生在"+CITY+"的一个工人家庭"); //使用常量
}
}
}
四. c#变量
4000
变量能够存储数据,并且与常量不同,变量存储的数据可以修改。比如今年18岁,明年可以变成19岁。
使用变量分为3步:声明、赋值、使用。
声明变量的语法:数据类型 变量名;
给变量赋值的语法:变量名=值;
例如
变量的声明和赋值可以同时完成,上面代码Main()方法中的前两行可以改写为:
int age=18; //声明并赋值
五. 算法:交换
解决实际问题的步骤就叫做“算法”,交换就是最常用的一种算法。
将2个变量的值交换,需要一只“空杯子”,就是中间变量。
例如
六. C#的数据类型
1. 字符类型 char ,存储用 '' (单引号)括起来的一个字符
char
sex='男';//存储性别
2. 字符串类型 string ,存储用“”(双引号)括起来的一串字符
stringaddress="北京市宣武区牛街北口";//存储地址
3. 整数类型 int ,存储整数
intage=23;//存储年龄
4. 双精度浮点型 double ,存储小数
doublesalary=7991.63;//存储工资
七. C#的类型转换
1. 自动类型转换:2种不同类型的数据运算,低精度类型会自动转换为较高精度的类型。
以3.5+8为例,显然数字8的精度较低(int),而3.5的精度较高(double),所以,8会自动转换为double型,即转换为3.5+8.0进行运算,结果为11.5。
例如
double d=2;
2的精度显然低于变量d的精度,所以2会自动转换为2.0然后赋值给d。
例如
int i=3.0;
变量i的精度低于3.0,但是由于i已经声明为int型的变量,变量的值可以变,但变量的类型可不能变来变去的,所以这条命令会出错的。
2. 强制类型转换:无法自动转换为我们需要的类型,可以用强制类型转换.
比如上例可以这样完成:
int i=(int)3.0;
数字前面的(int)表示转换的目标类型为int,3.0会被强制转换为3。
需要注意, double 型强制转换为int型将失去小数部分,比如(int)2.8,我们得到的将是2。
八. C#标识符的命名规则
程序中的变量名、常量名、类名、方法名,都叫做标识符。
C#有一套标识符的命名规则,如果命名时不遵守规则,就会出错。这套规则简单说有下面三条:
1. 标识符只能由英文字母、数字和下划线组成,不能包含空格和其他字符。
错误的标识符声明
string $user; //错在使用了其他字符
2. 变量名不能用数字开头。
错误的标识符声明 double 6h; //错在用数字开头
3. 不能用关键字当变量名。
错误的标识符声明 char static; //错在用关键字static做变量名
九. C#的算术运算符(一)
1. 加:+ 。加号有2个用途:当用加号连接两个数字时,会计算出这两个数字的和。
另一种情况,当加号两边包含字符串的时候,会把两边的表达式连接成新的字符串。
例如
Console.WriteLine(9+2.2);//输出11.2
Console.WriteLine(9+"2.2");//输出92.2,因为"2.2"是字符串,所以9也被转换为"9",+起的作用是连接字符串
2. 减:- 。减号的作用就是减法。
Console.WriteLine(15-23);//输出-8
3. 乘:* 。乘号的作用是求2数的乘积。
Console.WriteLine(0.8*3);//输出2.4
4. 除:/ 。除号的作用是求2数相除的商。
Console.WriteLine(2/0.5);//输出4.0
但是,2个整数相除,结果仅保留整数部分,小数部分会被舍去。
Console.WriteLine(5/10);//输出0
十. C#的算术运算符(二)
取余运算符 % ,求两个数字相除的余数。
编程中,%常常用来检查一个数字是否能被另一个数字整除。
例如
如果输出0,表示没有余数,即number能够被2整除(是偶数);如果输出1,表示有余数,即number不能被2整除(是奇数)。
十一. C#的算术运算符(三)
1. ++,叫做自加运算符。
例如 你今年18岁,明年长了一岁,用代码写出来是这样:
也可以写成这样:
age++;与age=age+1;作用相同,都是变量的值+1。
2. --,叫做自减运算符。
例如 你今年18岁,用了XX护肤水以后,明年变成17岁了,可以这样写:
3. 另外,age++;与age--;也可以写作++age;或--age;
但请注意:如果与其他运算在同一语句中,++写在变量前面或后面,算法不一样
例如
Console.WriteLine(age++); 作用等同于下面两句:
Console.WriteLine(++age); 作用等同于下面两句:
你看,运算顺序不一样吧,所以输出的结果也不会相同。
例如
static void Main(string[] args)
{
int x = 5;
int y = 5;
int z = 5;
x++;
Console.Write(x);
Console.Write(y++);
Console.Write(++z);
}
输出结果是656
十二. C#的比较运算符
比较运算的结果,都是布尔类型( bool ),它表示逻辑上的真(成立)与假(不成立)。真与假用关键字 true 和 false 表示。
十三. C#的逻辑运算符
逻辑运算符用来连接多个 bool 类型表达式,实现多个条件的复合判断。
C#中的逻辑运算符包括:逻辑非( ! )、逻辑与( && )、逻辑或( || )。
1. 逻辑非用来对某一个 bool 类型表达式取反,即“真变假”或“假变真”。
2. 逻辑与用来判断 2 个 bool 类型表达式是否同时为 true 。
只有当&&两边的表达式均为 true 时,整个表达式才为 true ;若任意一个表达式为 false ,整个表达式即为 false 。
3. 逻辑或用来判断2个 bool 类型表达式中是否有一个为 true 。
只要||两边的表达式有一个为 true ,整个表达式即为 true ;若两边的表达式均为 false ,整个表达式为 false 。
对比一下,就是说: && 运算符,两边同真才算真,一边为假就算假; || 运算符,一边为真即为真,两边同假才是假。
例如
小张想结婚,未来丈母娘开出的条件是:存款必须过10万,必须有房子,这两条少一条都不行。
运行结果为false
丽丽选择男朋友的标准,要么是“工程师”,要么是“运动员”,二者居其一即可
运行结果为true
十四. C#的赋值运算符
与其他运算符从左向右计算不同,赋值运算符从右向左计算。
1. 加赋值“+=”:先加后赋值。
2. 减赋值“-=”:先减后赋值。
3. 乘赋值“*=”:先乘后赋值。
4. 除赋值“/=”:先除后赋值。
5. 取余赋值“%=”:先取余后赋值。
十五. C#的运算符优先级
1. 括号。如果有多层括号,要从里向外计算。括号优先级最高。
2. 一元运算符。
只有一个操作数的叫做一元运算符,它们的优先级高于二元运算符。
一元运算符包括:++(自加) 、 --(自减) 、 !(逻辑非)。
有些运算符两边有2个操作数,比如2+3、6%5等等,这些叫做二元运算符。
3. *(乘)、/(除)、%(取余)。
4. +(加)、-(减)。
5. >(大于)、<(小于)、>=(大于等于)、<=(小于等于)。
6. ==(等于)、!=(不等于)。
7. &&(逻辑与)。
8. ||(逻辑或)。
9. 赋值运算符。包括:=、+=、-=、*=、/=、%=。
小贴士:优先级相同的运算符从左向右计算(赋值运算符相反)。
例如
static void Main(string[] args)
{
int x=1;
bool a = ++x * x > 3; //x变为2, 2*2得4, 4>3为true
bool b = true;//请赋值
Console.WriteLine(a==b); //输出结果为ture
}
关键字,是一些被C#规定了用途的重要单词。所有关键字都是由小写字母组成的。
在Visual Studio的开发环境中,关键字被标识为蓝色。
例如
using System;
using System.Collections.Generic;
using System.Text; // 关键字 using ,用途是导入命名空间。比如这句,作用是导入System.Text命名空间中的类。
namespace Test // 关键字 namespace ,用途是声明“命名空间”。比如例子中,命名空间叫做Test。
{
class Program // 关键字 class ,用途是声明类。比如例子中,类名叫做Program。
{
static void Main(string[ ] args) // 关键字 static (静态的)、 void (无返回值)、 string (字符串类型)。常常在Main()方法的声明中看到。
// Main() 方法是 C# 中的特殊方法,是程序的入口,就是说,如果没有 Main ()方法,程序就无法启动。
{
Console.WriteLine("今日事,今日毕。");
}
}
}
二. C#的注释
注释分为:单行注释、多行注释、文档注释。
单行注释的符号是2条斜线(请注意斜线的方向),2条斜线右侧的内容就是注释,左侧的代码不会受影响。
多行注释以“/*”开始,以“*/”结束,之间的内容就是注释,可以包含多行。
文档注释写在类、方法或属性(以后会学到)的前面,它的符号是3条斜线“///”。
小贴士:Console.WriteLine()与Console.Write()不同,后者不换行,而前者会在打印之后换行。
例如
int count;//声明了一个int型变量
/*打印*/
Console.Write("Yeah!");
/*
*打印
*/
Console.Write("Yeah!");
三. C#的常量
常量,顾名思义,就是“不会改变的量”。
我们平时书写的数字(比如12.85)、字符(比如'F')、字符串(比如"谢谢"),它们都属于“字面常量”。
有一些常量既重要又容易出错,比如圆周率π的值为3.1415926......,所以,我们常常会使用自定义常量。
例如
const 关键字,表明 PI 是一个常量。
double 关键字,表明 PI 的类型为双精度浮点型(一种精度很高的数字类型)。
这段代码中使用了2次圆周率(周长、面积),但是因为使用自定义常量,所以字面常量3.1415926只书写了一次。这样做避免了重复书写导致的错误。
小贴士:常量在声明时赋值,之后是不能修改的。声明常量必须同时赋值。
例如
using System;
using System.Collections.Generic;
using System.Text;
namespace Test
{
class Program
{
static void Main(string[ ] args)
{
const string CITY = "布宜诺斯艾利斯"; //常量,城市
const string NAME = "列奥波尔多·福图纳托·加尔铁里·卡斯特利"; //常量,姓名
Console.WriteLine(NAME+"出生在"+CITY+"的一个工人家庭"); //使用常量
}
}
}
四. c#变量
4000
变量能够存储数据,并且与常量不同,变量存储的数据可以修改。比如今年18岁,明年可以变成19岁。
使用变量分为3步:声明、赋值、使用。
声明变量的语法:数据类型 变量名;
给变量赋值的语法:变量名=值;
例如
变量的声明和赋值可以同时完成,上面代码Main()方法中的前两行可以改写为:
int age=18; //声明并赋值
五. 算法:交换
解决实际问题的步骤就叫做“算法”,交换就是最常用的一种算法。
将2个变量的值交换,需要一只“空杯子”,就是中间变量。
例如
string a="振刚";//第一个变量 string b="文峰";//第二个变量 string temp;//中间变量 //第一步:将变量a赋值给中间变量 temp=a;//如同牛奶倒入空杯 //第二步:将变量b赋值给变量a a=b;//如同咖啡倒入牛奶杯 //第三步:将中间变量赋值给变量b b=temp;//如同空杯中的牛奶倒入咖啡杯 //此时交换完成,变量a存储了“文峰”,b存储了“振刚”
六. C#的数据类型
1. 字符类型 char ,存储用 '' (单引号)括起来的一个字符
char
sex='男';//存储性别
2. 字符串类型 string ,存储用“”(双引号)括起来的一串字符
stringaddress="北京市宣武区牛街北口";//存储地址
3. 整数类型 int ,存储整数
intage=23;//存储年龄
4. 双精度浮点型 double ,存储小数
doublesalary=7991.63;//存储工资
七. C#的类型转换
1. 自动类型转换:2种不同类型的数据运算,低精度类型会自动转换为较高精度的类型。
以3.5+8为例,显然数字8的精度较低(int),而3.5的精度较高(double),所以,8会自动转换为double型,即转换为3.5+8.0进行运算,结果为11.5。
例如
double d=2;
2的精度显然低于变量d的精度,所以2会自动转换为2.0然后赋值给d。
例如
int i=3.0;
变量i的精度低于3.0,但是由于i已经声明为int型的变量,变量的值可以变,但变量的类型可不能变来变去的,所以这条命令会出错的。
2. 强制类型转换:无法自动转换为我们需要的类型,可以用强制类型转换.
比如上例可以这样完成:
int i=(int)3.0;
数字前面的(int)表示转换的目标类型为int,3.0会被强制转换为3。
需要注意, double 型强制转换为int型将失去小数部分,比如(int)2.8,我们得到的将是2。
八. C#标识符的命名规则
程序中的变量名、常量名、类名、方法名,都叫做标识符。
C#有一套标识符的命名规则,如果命名时不遵守规则,就会出错。这套规则简单说有下面三条:
1. 标识符只能由英文字母、数字和下划线组成,不能包含空格和其他字符。
错误的标识符声明
string $user; //错在使用了其他字符
2. 变量名不能用数字开头。
错误的标识符声明 double 6h; //错在用数字开头
3. 不能用关键字当变量名。
错误的标识符声明 char static; //错在用关键字static做变量名
九. C#的算术运算符(一)
1. 加:+ 。加号有2个用途:当用加号连接两个数字时,会计算出这两个数字的和。
另一种情况,当加号两边包含字符串的时候,会把两边的表达式连接成新的字符串。
例如
Console.WriteLine(9+2.2);//输出11.2
Console.WriteLine(9+"2.2");//输出92.2,因为"2.2"是字符串,所以9也被转换为"9",+起的作用是连接字符串
2. 减:- 。减号的作用就是减法。
Console.WriteLine(15-23);//输出-8
3. 乘:* 。乘号的作用是求2数的乘积。
Console.WriteLine(0.8*3);//输出2.4
4. 除:/ 。除号的作用是求2数相除的商。
Console.WriteLine(2/0.5);//输出4.0
但是,2个整数相除,结果仅保留整数部分,小数部分会被舍去。
Console.WriteLine(5/10);//输出0
十. C#的算术运算符(二)
取余运算符 % ,求两个数字相除的余数。
Console.WriteLine(19/5);//求19除以5的商,输出3 Console.WriteLine(19%5);//求19除以5的余数,输出4(商3余4)
编程中,%常常用来检查一个数字是否能被另一个数字整除。
例如
int number = 29; Console.WriteLine(number%2);//求number除以2的余数
如果输出0,表示没有余数,即number能够被2整除(是偶数);如果输出1,表示有余数,即number不能被2整除(是奇数)。
十一. C#的算术运算符(三)
1. ++,叫做自加运算符。
例如 你今年18岁,明年长了一岁,用代码写出来是这样:
int age=18;//今年18岁 age=age+1;//明年,在今年的年龄上加1岁
也可以写成这样:
int age=18;//今年18岁 age++;//明年,在今年的年龄上加1岁
age++;与age=age+1;作用相同,都是变量的值+1。
2. --,叫做自减运算符。
例如 你今年18岁,用了XX护肤水以后,明年变成17岁了,可以这样写:
int age=18;//今年18岁 age--;//等同于 age=age-1;
3. 另外,age++;与age--;也可以写作++age;或--age;
但请注意:如果与其他运算在同一语句中,++写在变量前面或后面,算法不一样
例如
Console.WriteLine(age++); 作用等同于下面两句:
Console.WriteLine(age);//先打印 age=age+1;//后自加
Console.WriteLine(++age); 作用等同于下面两句:
age=age+1;//先自加 Console.WriteLine(age);//后打印
你看,运算顺序不一样吧,所以输出的结果也不会相同。
例如
static void Main(string[] args)
{
int x = 5;
int y = 5;
int z = 5;
x++;
Console.Write(x);
Console.Write(y++);
Console.Write(++z);
}
输出结果是656
十二. C#的比较运算符
比较运算的结果,都是布尔类型( bool ),它表示逻辑上的真(成立)与假(不成立)。真与假用关键字 true 和 false 表示。
十三. C#的逻辑运算符
逻辑运算符用来连接多个 bool 类型表达式,实现多个条件的复合判断。
C#中的逻辑运算符包括:逻辑非( ! )、逻辑与( && )、逻辑或( || )。
1. 逻辑非用来对某一个 bool 类型表达式取反,即“真变假”或“假变真”。
Console.WriteLine(1 > 0);//条件表达式为true,输出True Console.WriteLine(!(1 > 0));//用逻辑非对条件表达式取反,输出False
2. 逻辑与用来判断 2 个 bool 类型表达式是否同时为 true 。
int x = 5, y = 2;//同时声明2个int型变量并赋值 Console.WriteLine(x>3 && y>3);//判断x>3和y>3是否同时为true,由于y>3为false,所以整个表达式为false
只有当&&两边的表达式均为 true 时,整个表达式才为 true ;若任意一个表达式为 false ,整个表达式即为 false 。
3. 逻辑或用来判断2个 bool 类型表达式中是否有一个为 true 。
int x = 5, y = 2;//同时声明2个int型变量并赋值 Console.WriteLine(x>3 || y>3);//判断x>3和y>3是否有一个为true,由于x>3为true,所以整个表达式为true
只要||两边的表达式有一个为 true ,整个表达式即为 true ;若两边的表达式均为 false ,整个表达式为 false 。
对比一下,就是说: && 运算符,两边同真才算真,一边为假就算假; || 运算符,一边为真即为真,两边同假才是假。
例如
小张想结婚,未来丈母娘开出的条件是:存款必须过10万,必须有房子,这两条少一条都不行。
运行结果为false
丽丽选择男朋友的标准,要么是“工程师”,要么是“运动员”,二者居其一即可
运行结果为true
十四. C#的赋值运算符
与其他运算符从左向右计算不同,赋值运算符从右向左计算。
1. 加赋值“+=”:先加后赋值。
int x=5; x += 2;//这句等同于x=x+2;执行后,x的值为7
2. 减赋值“-=”:先减后赋值。
int x=5; x -= 2;//这句等同于x=x-2;执行后,x的值为3
3. 乘赋值“*=”:先乘后赋值。
int x=5; x *= 2;//这句等同于x=x*2;执行后,x的值为10
4. 除赋值“/=”:先除后赋值。
int x=5; x /= 2;//这句等同于x=x/2;执行后,x的值为2
5. 取余赋值“%=”:先取余后赋值。
int x=5; x %= 2;//这句等同于x=x%2;执行后,x的值为1
十五. C#的运算符优先级
1. 括号。如果有多层括号,要从里向外计算。括号优先级最高。
2. 一元运算符。
只有一个操作数的叫做一元运算符,它们的优先级高于二元运算符。
一元运算符包括:++(自加) 、 --(自减) 、 !(逻辑非)。
有些运算符两边有2个操作数,比如2+3、6%5等等,这些叫做二元运算符。
3. *(乘)、/(除)、%(取余)。
4. +(加)、-(减)。
5. >(大于)、<(小于)、>=(大于等于)、<=(小于等于)。
6. ==(等于)、!=(不等于)。
7. &&(逻辑与)。
8. ||(逻辑或)。
9. 赋值运算符。包括:=、+=、-=、*=、/=、%=。
小贴士:优先级相同的运算符从左向右计算(赋值运算符相反)。
例如
static void Main(string[] args)
{
int x=1;
bool a = ++x * x > 3; //x变为2, 2*2得4, 4>3为true
bool b = true;//请赋值
Console.WriteLine(a==b); //输出结果为ture
}
相关文章推荐
- jsp入门语法基础
- java入门(2)--基础语法
- Objective-C深入浅出,ios开发零基础入门(Xcode入门及语法入门)课程分享
- scala入门3(基础语法之操作符运算)
- scala入门2(简介与基础语法2--数值类型)
- MySQL基础入门-05MySQL的SQL语法
- C++基础入门教程(七):一些比较特别的基础语法总结
- javascript快速入门7--ECMAScript语法基础
- [GO编程] GO入门语法基础
- scala入门5(基础语法之通用规范、脚本入门)
- java入门(2)--基础语法
- 入门2--Objective-C基础语法和关键字
- java 学习笔记(入门篇)_java的基础语法
- lua学习之入门(二)----基础语法1
- python 基础教程之语法篇章——一小时入门python__对比python与C语言的语法异同
- shell基础语法和简单命令入门
- 【JavaSE入门系列】第03章_Java基础语法
- PHP快速基础语法入门
- 课程分享Objective-C深入浅出,ios开发零基础入门(Xcode入门及语法入门)
- Go语言入门教程之基础语法快速入门