1.C#基本数据类型
整型 byte,short,int ,long
浮点型 float,double
字符型和字符串类型 char,string
布尔类型 bool
2.C#运算符
算术运算符
+ 对两个操作数做加法运算
- 对两个操作数做减法运算
* 对两个操作数做乘法运算
/ 对两个操作数做除法运算
% 对两个操作数做取余运算
逻辑运算符
逻辑运算符主要包括与,或,非等
&&逻辑与,||逻辑或,!逻辑非
在使用逻辑运算符时需要注意逻辑运算符两边的表达式返回的结果都必须是布尔型的。
比较运算符
==,!=,>,<,>=,<=
位运算符
&,|,~,^,<<,>>,>>>
三元运算符
布尔表达式?表达式1:表达式2
赋值运算符
=,+=,-=,*=,/=,%=,++,--
运算符的优先级
3.C#的变量
C#变量的定义和赋值
int a=1,b=2;
4.C#的常量
与变量不同的是,常量在第一次被赋值后就不能再改变,定义常量需要使用关键字const来完成
const double PI=3.14;
5.C#的变量命名规则
常用的命名方法有两种,一种是Pascal命名法(帕斯卡命名法),一种是Camel命名法(驼峰命名法)
Pascal 命名法是指每个单词的首字母大写,也叫大驼峰命名法;
Camel 命名法是指第一个单词小写,从第二个单词开始每个单词的首字母大写。
1.变量的命名规则
变量的命名规则遵循Camel命名法,并尽量使用能描述变量作用的英文单词。例如存放学生姓名的变量可以定义成name或者studentName等。
2.常量的命名规则
为了与变量有所区分,通常将定义常量的单词的所有字母大写,例如定义求圆面积的n的值,可以将其定义为常量PI即可。
3.类的命名规则
类的命名规则遵循Pascal命名法,即每个单词的首字母大写。例如定义一个存放学生信息的类,可以定义成Student.
4.接口的命名规则
接口的命名规则也遵循Pascal命名法,但通常都是以I开头,并将其后面的每个单词的首字母大写。例如定义一个存放值比较操作的接口,可以将其命名为ICompare。
5.方法的命名规则
方法的命名遵循Pascal命名法,一般采用动词法来命名。例如实现添加用户信息操作的方法,可以将其命名为AddUser.
C#的if else
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入游戏积分(大于0的整数)");
int points = int.Parse(Console.ReadLine());
//如果输入的积分小于0则将其设置为0
if (points < 0)
{
points = 0;
}
if (points <= 100)
{
Console.WriteLine("您的游戏等级为初级");
}else if (points <= 300)
{
Console.WriteLine("您的游戏等级为中级");
}else if (points <= 500)
{
Console.WriteLine("您的游戏等级为高级");
}else
{
Console.WriteLine("您的游戏等级为特级");
}
}
}
C#的switch case
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入学生考试的成绩(0~100的整数)");
int points = int.Parse(Console.ReadLine());
switch (points / 10)
{
case 10:
Console.WriteLine("优秀");
break;
case 9:
Console.WriteLine("优秀");
break;
case 8:
Console.WriteLine("良好");
break;
case 7:
Console.WriteLine("及格");
break;
case 6:
Console.WriteLine("及格");
break;
default:
Console.WriteLine("不及格");
break;
}
}
}
C#的for循环
class Program
{
static void Main(string[] args)
{
for(int i = 1; i <= 3; i++)
{
for(int j = 1; j <= 3 - i; j++)
{
Console.Write(" ");
}
for(int k = 1; k <= 2 * i - 1; k++)
{
Console.Write("*");
}
Console.WriteLine();
}
for(int i = 2; i >= 1; i--)
{
for(int j = 1; j <= 3 - i; j++)
{
Console.Write(" ");
}
for(int k = 1; k <= 2 * i - 1; k++)
{
Console.Write("*");
}
Console.WriteLine();
}
}
}
C#的while循环
class Program
{
static void Main(string[] args)
{
int i = 1;
int sum = 0;//存放1~10的和
while (i <= 10)
{
sum = sum + i;
Console.WriteLine(i);
i++;
}
Console.WriteLine("1~10的和为:" + sum);
}
}
C#的do while
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入一个整数:");
int i = int.Parse(Console.ReadLine());
int j = 1;
do
{
Console.WriteLine(j);
} while (j < i);
}
}
C#的break
break 语句用于中断循环,使循环不再执行。如果是多个循环语句嵌套使用,则 break 语句跳出的则是最内层循环。
class Program
{
static void Main(string[] args)
{
for(int i = 1; i <= 10; i++)
{
if (i == 4)
{
break;
}
Console.WriteLine(i);
}
}
}
C#的continue
[C#]中的 continue 语句有点像 break 语句。但它不是强制终止,continue 会跳过当前循环中的代码,强制开始下一次循环。
class Program
{
static void Main(string[] args)
{
for(int i = 1; i <= 10; i++)
{
if (i == 4)
{
continue;
}
Console.WriteLine(i);
}
}
}
C#的goto
[C#]goto 语句用于直接在一个程序中转到程序中的标签指定的位置,标签实际上由标识符加上冒号构成。
class Program
{
static void Main(string[] args)
{
int count = 1;
login:
Console.WriteLine("请输入用户名");
string username = Console.ReadLine();
Console.WriteLine("请输入密码");
string userpwd = Console.ReadLine();
if (username == "aaa" && userpwd == "123")
{
Console.WriteLine("登录成功");
}
else
{
count++;
if (count > 3)
{
Console.WriteLine("用户名或密码错误次数过多!退出!");
}
else
{
Console.WriteLine("用户名或密码错误");
goto login;//返回login标签处重新输入用户名密码
}
}
}
}