文章目录
写在前面
C# (英文名为 CSharp) 。.NET 是一个开发平台,而 C# 是一种在 .NET 开发平台上使用的编程语言
1、第一个C#程序
namespace test
{
class Program
{
static void Main(string[] args)
{
// 这是注释
Console.Write("第一个 C# 程序, ");
Console.WriteLine("这是第一个控制台程序");
}
}
}
- 第 11 行到第 13 行是 Main 方法,每个类中只能有一个
- Console.Write(); // 打印 , Console.WriteLine(); // 换行打印
2、基本数据类型
整数类型
类 型 |
取值范围 |
sbyte |
有符号数,占用1个字节,-27〜27-1 |
byte |
无符号数,占用1个字节,0〜28-1 |
short |
有符号数,占用2个字节,-215〜215-1 |
ushort |
无符号数,占用2个字节,0〜216-1 |
int |
有符号数,占用4个字节,-231〜231-1 |
uint |
无符号数,占用4个字节,0〜232-1 |
long |
有符号数,占用8个字节,-263〜263-1 |
ulong |
无符号数,占用8个字节,0〜264-1 |
浮点型
类 型 |
取值范围 |
float |
单精度浮点型,占用4个字节,最多保留7位小数 |
double |
双精度浮点型,占用8个字节,最多保留16位小数 |
其他类型
类 型 |
说明 |
char |
字符型,例如 ‘a’、‘中’ 等 |
String |
字符串类型,例如 “abc”、“123” 等 (String不是基本数据类型) |
bool |
布尔,只有 true 和 false两个值 |
4、各种符号
4.1、转义字符
转义字符 |
说明 |
\’ |
单引号 |
\" |
双引号 |
\ |
反斜杠 |
\0 |
空 |
\a |
警告(产生蜂鸣音) |
\b |
退格 |
\f |
换页 |
\n |
换行 |
\r |
回车 |
\t |
水平制表符 |
\v |
垂直制表符 |
4.2、算术运算符
运算符 |
说 明 |
+ |
加法 |
- |
减法 |
* |
乘法 |
/ |
除法 |
% |
取余 |
实例:
class Program
{
static void Main(string[] args)
{
Console.WriteLine("千位" +1234 / 1000);
Console.WriteLine("百位" + 1234 / 100 % 10);
Console.WriteLine("十位" + 1234 / 10 % 10);
Console.WriteLine("个位" + 1234 % 10);
Console.WriteLine("连接字符串:" + "123" + "456");
}
}
4.3、逻辑运算符
逻辑运算符 |
说明 |
&& |
逻辑与,如果运算符两边都为 True,则整个表达式为 True,否则为 False;如果左边操作数为 False,则不对右边表达式进行计算,相当于“且”的含义 |
|| |
逻辑或,如果运算符两边有一个或两个为 True,整个表达式为 True,否则为 False;如果左边为 True,则不对右边表达式进行计算,相当于“或”的含义 |
! |
逻辑非,表示和原来的逻辑相反的逻辑 |
4.4、比较运算符
运算符 |
说 明 |
== |
相等判断 |
!= |
不等判断 |
> |
表示左边表达式的值大于右边表达式的值 |
< |
表示左边表达式的值小于右边表达式的值 |
>= |
表示左边表达式的值大于等于右边表达式的值 |
<= |
表示左边表达式的值小于等于右边表达式的值 |
4.5、位运算符
运算符 |
说明 |
& |
按位与。两个运算数都为 1,则整个表达式为 1,否则为 0;也可以对布尔型的值进行比较,相当于“与”运算,但不是短路运算 |
| |
按位或。两个运算数都为 0,则整个表达式为 0,否则为 1;也可以对布尔型的值进行比较,相当于“或”运算,但不是短路运算 |
~ |
按位非。当被运算的值为 1 时,运算结果为 0;当被运算的值为 0 时,运算结果为 1。该操作符不能用于布尔型。对正整数取反,则在原来的数上加 1,然后取负数;对负整数取反,则在原来的数上加 1,然后取绝对值 |
^ |
按位异或。只有运算的两位不同结果才为 1,否则为 0 |
<< |
左移。把运算符左边的操作数向左移动运算符右边指定的位数,右边因移动空出的部分 补 0 |
>> |
有符号右移。把运算符左边的操作数向右移动运算符右边指定的位数。如果是正值,左侧因移动空出的部分补 0;如果是负值,左侧因移动空出的部分补 1 |
>>> |
无符号右移。和 >> 的移动方式一样,只是不管正负,因移动空出的部分都补 0 |
4.6、三元运算符
布尔表达式 ? 表达式 1: 表达式 2
class Program
{
static void Main(string[] args)
{
Console.WriteLine("10为:"+(10 % 2 == 0 ? "偶数":"奇数"));
}
}
4.7、赋值运算符
符号 |
说明 |
= |
x=y,等号右边的值给等号左边的变量,即把变量 y 的值赋给变量 x |
+= |
x+=y,等同于 x=x+y |
-= |
x-=y,等同于 x=x-y |
*= |
x*=y,等同于 x=x*y |
/= |
x/=y,等同于 x=x/y |
%= |
x%=y,等同于 x=x%y,表示求 x 除以 y 的余数 |
++ |
x++ 或 ++x,等同于 x=x+1 |
– |
x-- 或 --x,等同于 x=x-1 |
4.8、运算符的优先级
运算符 |
结合性 |
.(点)、()(小括号)、[](中括号) |
从左到右 |
+ (正)、-(负)、++ (自增)、–(自减)、~(按位非)、!(逻辑非) |
从右到左 |
* (乘)、/ (除)、% (取余) |
从左向右 |
+ (加)、-(减) |
从左向右 |
<<、>>、>>> |
从左向右 |
<、<=、>、>= |
从左向右 |
==、!= |
从左向右 |
& |
从左向右 |
| |
从左向右 |
^ |
从左向右 |
&& |
从左向右 |
|| |
从左向右 |
?: |
从右到左 |
=、+=、-=、*=、/=、%=、&=、 |
=、^=、~=、<<=、>>=、>>>= |
5、变量与常量
变量使用举例
class Program
{
static void Main(string[] args)
{
int num1 = 100;
double num2 = 100.123;
bool isFlag = true;
String name = "Hello";
// 变量换值
int temp;
temp = a;
a = b;
b = temp;
}
}
const 定义的变量是常量,在第一次被赋值后值就不能再改变
static void Main(string[] args)
{
const double PI = 3.14;
}
6、命名规则
变量的命名:驼峰命名,首单词的首字母小写。
常量的命名:所有字母大写。
类的命名:首字母大写,如 Student。
接口的命名:通常都是以 I 开头,第二个字母也大写,如 ICompare。
方法的命名:首字母大写,一般用动词,如 AddUser。