c#入门(一)基本语法

一、visual studio的安装网址

https://visualstudio.microsoft.com/zh-hans/free-developer-offers/

二、基本知识

1、第一个hello world程序

using System;
//引入命名空间
namespace c_sharp_rumen
    //定义命名空间
{
   
    class Program
    {
   //定义类
        static void Main(string[] args)
            //定义一个Main方法
        {
   
            Console.WriteLine("Hello World!");
            //方法体
        }
    }
}

using System 告诉编译器使用System命名空间中的类型。

namespace c_sharp_rumen 声明一个新的命名空间,名字为c_sharp_rumen,下面的类属于这个命名空间。

class Program 声明一个新的类类型,名字叫做Program。

static void Main(string[] args) 声明一个方法,名称为Main,Main方法就是类的一个成员,Main是一个特殊函数,编译器把它作为程序的起始点。

语句以分号结束;这个语句使用命名空间System下的Console类把一个字符串输出到控制台;没有第一行的using语句,编译器就找不到Console类。

2、标识符,关键字,命名规范

标识符:字母 下划线 可以用在任何位置,数字不能放在首位, @字符只能放在标示符的首位。

标识符不能与关键字重复,

保留关键字
abstract as base bool break byte case
catch char checked class const continue decimal
default delegate do double else enum event
explicit extern false finally fixed float for
foreach goto if implicit in in (generic modifier) int
interface internal is lock long namespace new
null object operator out out (generic modifier) override params
private protected public readonly ref return sbyte
sealed short sizeof stackalloc static string struct
switch this throw true try typeof uint
ulong unchecked unsafe ushort using virtual void
volatile while
上下文关键字
add alias ascending descending dynamic from get
global group into join let orderby partial (type)
partial (method) remove select set

Camel命名法: 首个单词的首字母小写,其余单词的首字母大写(enemyHp)。

Pascal命名规范: 每个单词的第一个字母都大写(EnemyHp),如果使用到英文单词的缩写,全部使用大写(PI HP MP)。

变量使用Camel命名,方法和类使用Pascal命名规范。

3、Main方法,语句,块

每个c#程序必须带一个Main方法(函数),Main方法首字母大写。

语句是描述一个类型或告诉程序去执行某个动作的一条源代码指令,语句以分号结束。

int var1 = 5;

System.Console.WriteLine("The value of var1 is {0}",var1);

块是一个由大括号包围起来的0条或多条语句序列,它在语法上相当于一条语句。

{
   

int var1 = 5;

System.Console.WriteLine("The value of var1 is {0}",var1);

}

块的内容:

1,某些特定的程序结构只能使用块

2,语句可以以分号结束,但块后面不跟分号

4、输出文本到控制台,格式化输出

Console.Write(""Hello world1.");

System.Console.WriteLine("Hello world2.");

Console.WriteLine("两个数相加{0}+{1}={2}",3,34,34);

Write是Console类的成员,它把一个文本字符串发送到程序的控制台窗口,WriteLine是Console的另外一个成员,它和Write实现相同的功能,但会在每个输出字符串的结尾添加一个换行符。

下面的语句使用了3个标记,但只有两个值

Console.WriteLine("Three integers are {1},{0} and {1}",3,5);

但是标记不能引用超出替换值列表长度以外位置的值

三、变量与表达式

1.变量

<type> <name>;

type表示使用什么类型的变量来存储数据,name表示存储这个变量的名字

int age; int hp; string name;

类型 描述 范围 默认值
bool 布尔值 True 或 False False
byte 8 位无符号整数 0 到 255 0
char 16 位 Unicode 字符 U +0000 到 U +ffff ‘\0’
decimal 128 位精确的十进制值,28-29 有效位数 (-7.9 x 1028 到 7.9 x 1028) / 100 到 28 0.0M
double 64 位双精度浮点型 (+/-)5.0 x 10-324 到 (+/-)1.7 x 10308 0.0D
float 32 位单精度浮点型 -3.4 x 1038 到 + 3.4 x 1038 0.0F
int 32 位有符号整数类型 -2,147,483,648 到 2,147,483,647 0
long 64 位有符号整数类型 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 0L
sbyte 8 位有符号整数类型 -128 到 127 0
short 16 位有符号整数类型 -32,768 到 32,767 0
uint 32 位无符号整数类型 0 到 4,294,967,295 0
ulong 64 位无符号整数类型 0 到 18,446,744,073,709,551,615 0
ushort 16 位无符号整数类型 0 到 65,535 0

赋值变量

using System;

namespace _002_bian_liang
{
   
    class Program
    {
   
        static void Main(string[] args)
        {
   
            byte myByte = 12;
            float number = 12.5f; //注意赋值时的浮点数默认是double类型,所以需要加上f
            double number1 = 12.6;
            Console.WriteLine("byte:{0} float:{1}  double:{2}",myByte,number,number1);
            char myChar = 'a';
            string muString = "a";
            bool muBool = true;
        }
    }
}

2、转义字符

转义序列 含义
\ \ 字符
’ 字符
" " 字符
? ? 字符
\a Alert 或 bell
\b 退格键(Backspace)
\f 换页符(Form feed)
\n 换行符(Newline)
\r 回车
\t 水平制表符 tab
\v 垂直制表符 tab
\ooo 一到三位的八进制数
\xhh . . . 一个或多个数字的十六进制数

使用@不识别转义字符

如果我们不想去识别字符串中的转义字符,可以在字符串前面加一个@符号(除了双引号其他转义字符都不在识别)

举例:string sentence = @“I’m a good man. " " You are bad girl!” ,使用两个引号表示一个引号

@字符的两个作用示例:

1,默认一个字符串的定义是放在一行的,如果想要占用多行

2,用字符串表示路径

“c:\xxx\xx\xxx.doc”

使用@"c:\xxx\xx\xxx.doc"更能读懂

多变量赋值

string name1,name2;

3、表达式

算术运算符

下表显示了 C# 支持的所有算术运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:

运算符 描述 实例
+ 把两个操作数相加 A + B 将得到 30
- 从第一个操作数中减去第二个操作数 A - B 将得到 -10
* 把两个操作数相乘 A * B 将得到 200
/ 分子除以分母 B / A 将得到 2
% 取模运算符,整除后的余数 B % A 将得到 0
++ 自增运算符,整数值增加 1 A++ 将得到 11
自减运算符,整数值减少 1 A-- 将得到 9

更详细的可以参考这个网址

https://www.runoob.com/csharp/csharp-operators.html

数据类型转换

序号 方法 & 描述
1 ToBoolean 如果可能的话,把类型转换为布尔型。
2 ToByte 把类型转换为字节类型。
3 ToChar 如果可能的话,把类型转换为单个 Unicode 字符类型。
4 ToDateTime 把类型(整数或字符串类型)转换为 日期-时间 结构。
5 ToDecimal 把浮点型或整数类型转换为十进制类型。
6 ToDouble 把类型转换为双精度浮点型。
7 ToInt16 把类型转换为 16 位整数类型。
8 ToInt32 把类型转换为 32 位整数类型。
9 ToInt64 把类型转换为 64 位整数类型。
10 ToSbyte 把类型转换为有符号字节类型。
11 ToSingle 把类型转换为小浮点数类型。
12 ToString 把类型转换为字符串类型。
13 ToType 把类型转换为指定类型。
14 ToUInt16 把类型转换为 16 位无符号整数类型。
15 ToUInt32 把类型转换为 32 位无符号整数类型。
16 ToUInt64 把类型转换为 64 位无符号整数类型。

程序示例

using System;

namespace convertType
{
   
    class Program
    {
   
        static void Main(string[] args)
        {
   
            int i = 75;
            float f = 53.005f;
            double d = 2345.7652;
            bool b = true;
            
            Console.WriteLine(i.ToString());
            Console.WriteLine(f.ToString());
            Console.WriteLine(d.ToString());
            Console.WriteLine(b.ToString());

            string readContent = Console.ReadLine(); //接收用户输入的一行
            int contentConvert = Convert.ToInt32(readContent);
            Console.WriteLine(contentConvert);
        }
    }
}

四、流程控制

1、if语句

bool var1 = true;
	if(var1)
		Console.WriteLine(var1);

if (score > 50)
            {
   
                score++;
                Console.WriteLine("您输入的分数大于50"+score);
            }
            else
            {
   
                score--;
                Console.WriteLine("您输入的分数小于等于50"+score);
            }

2、?:

? :

  int myInterger = 100;
            string res = (myInterger < 10) ? "less than 10" : "more than 10";
            Console.WriteLine(res);

3、switch

 int state = 0;
            switch (state)
            {
   
                case 0:
                    Console.WriteLine("游戏开始!");
                    break;
                case 1:
                    Console.WriteLine("游戏结束!");
                    break;
               case 2:
                   Console.WriteLine("游戏胜利");
                    break;
                default:
                    Console.WriteLine("未知错误");
                    break;
            }

4、while 循环

                    int i=1,j = 1;
                    while (i < 10 )
                    {
   
                        while (j <= i)
              
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值