“好读书,不求甚解;每有会意,便欣然忘食。”
文章目录
- 前言
- 文章有误敬请斧正 不胜感恩!||Day02
- 一、C#语法基础都有什么?
- 1. 基本结构
- 2. 数据类型和变量
- 3. 操作符
- 4. 控制结构
- 5. 方法
- 6. 面向对象编程
- 7. 属性
- 8. 异常处理
- 9. 委托和事件
- 10. 泛型
- 二、C#基本结构、数据类型和变量和基本操作符
- 1.C#基本结构
- 1. `using` 指令
- 2. 命名空间
- 3. 类
- 4. `Main` 方法
- 5. 语句
- 6. 注释
- 7. 完整的C#程序示例
- 2.数据类型和变量
- 1. 数据的量级
- 2.数据类型
- 3.常量与变量
- 4.命名规则
- 3.运算和类型转换等
- 1.运算符
- 2.输入与输出
- 3.类型转换
- 4预编译指令
- 总结:
前言
昨天我们对C#语言有了一个初步的体验,今天我们来学习C#语言的语法基础部分:
我们今天主要学习基本语法,看不懂的没有关系我们会在后面的内容中详细学习。
C# 属于 C 语言家族。 如果你使用过 C、C++、JavaScript 或 Java,那么也会熟悉 C# 语法。 与 C 语言家族中的所有语言一样,分号 (;) 定义语句的结束。 C# 标识符区分大小写。 C# 同样使用大括号({ 和 })、控制语句(例如 if、else 和 switch)以及循环结构(例如 for 和 while)。 C# 还具有适用于任何集合类型的 foreach 语句。
文章有误敬请斧正 不胜感恩!||Day02
提示:以下是本篇文章正文内容
一、C#语法基础都有什么?
总结C#语法基础主要包括以下几个方面:
1. 基本结构
- 命名空间:用于组织代码。使用
namespace
关键字。 - 类:C# 是一种面向对象的语言,所有代码都包含在类中。使用
class
关键字定义类。 - 主方法:程序的入口点。
static void Main(string[] args)
。
namespace MyNamespace
{
class MyClass
{
static void Main(string[] args)
{
// 程序入口
}
}
}
2. 数据类型和变量
- 基本数据类型:int, float, double, char, string, bool。
- 变量声明和初始化:可以在声明时赋值。
int number = 10;
float pi = 3.14f;
double bigNumber = 1.23e5;
char letter = 'A';
string message = "Hello, World!";
bool isTrue = true;
3. 操作符
- 算术操作符:
+
,-
,*
,/
,%
- 比较操作符:
==
,!=
,<
,>
,<=
,>=
- 逻辑操作符:
&&
,||
,!
4. 控制结构
- 条件语句:
if
,else if
,else
,switch
if (condition)
{
}
else if (anotherCondition)
{
}
else
{
}
switch (variable)
{
case value1:
break;
case value2:
break;
default:
break;
}
- 循环语句:
for
,while
,do...while
,foreach
for (int i = 0; i < 10; i++)
{
}
while (condition)
{
}
do
{
} while (condition);
foreach (var item in collection)
{
}
5. 方法
- 方法声明:包括返回类型、方法名和参数。
public returnType MethodName(parameters)
{
// 方法体
}
- 调用方法:通过实例或者类名调用。
MyClass myObject = new MyClass();
myObject.MethodName();
6. 面向对象编程
- 类和对象:使用
class
关键字定义类,通过new
关键字创建对象。 - 继承:使用
:
关键字实现继承。 - 封装:使用
private
,public
,protected
控制成员的访问权限。 - 多态:通过方法重载和重写实现。
- 这点与Java的思想比较类似,可以试着融汇贯通。
public class BaseClass
{
public virtual void Method()
{
// 基类方法
}
}
public class DerivedClass : BaseClass
{
public override void Method()
{
// 派生类方法
}
}
7. 属性
- 自动属性:简化的属性定义方式。
- 完整属性:包含自定义逻辑的属性。
public class MyClass
{
public int MyProperty { get; set; }
private int _myField;
public int MyField
{
get { return _myField; }
set { _myField = value; }
}
}
8. 异常处理
- try-catch-finally 结构用于处理运行时错误。
try
{
// 可能产生异常的代码
}
catch (Exception ex)
{
// 处理异常
}
finally
{
// 总是执行的代码
}
9. 委托和事件
- 委托:类似于函数指针,用于引用方法。
- 事件:基于委托,用于实现发布-订阅模式。
public delegate void MyDelegate();
public class MyClass
{
public event MyDelegate MyEvent;
public void RaiseEvent()
{
if (MyEvent != null)
{
MyEvent();
}
}
}
10. 泛型
- 泛型类和方法:提供类型参数以实现代码的重用。
public class GenericClass<T>
{
public T Value { get; set; }
}
public void GenericMethod<T>(T parameter)
{
// 方法体
}
二、C#基本结构、数据类型和变量和基本操作符
1.C#基本结构
C#语言的基本结构包括命名空间、类、方法和语句。以下是一个简单的C#程序示例,以及对其各个部分的解释:
using System;
namespace MyNamespace
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
}
1. using
指令
using
指令用于引入命名空间,使得在代码中可以直接使用命名空间中的类和方法。
using System;
System
是一个常见的命名空间,其中包含了基本的输入输出操作(如 Console
类)。
2. 命名空间
命名空间用于组织代码和避免名称冲突。
namespace MyNamespace
{
// 类和其他代码定义在这里
}
在这个示例中,MyNamespace
是命名空间的名称。
3. 类
类是C#的基本结构,用于封装数据和行为。每个C#程序至少包含一个类,其中包含 Main
方法,这是程序的入口点。
class Program
{
// 方法和其他代码定义在这里
}
在这个示例中,Program
是类的名称。
4. Main
方法
Main
方法是C#程序的入口点。当程序运行时,首先执行 Main
方法中的代码。
static void Main(string[] args)
{
// 代码执行的入口
}
static
关键字表示Main
方法是静态的,可以通过类名直接调用而不需要实例化类。void
表示方法不返回任何值。string[] args
表示Main
方法可以接受一个字符串数组作为参数,这些参数通常是命令行参数。
5. 语句
语句是执行单元。每个语句以分号(;
)结尾。
Console.WriteLine("Hello, World!");
Console.WriteLine
方法用于向控制台输出文本并换行。"Hello, World!"
是要输出的字符串。
6. 注释
注释用于增加代码的可读性,不会被编译器执行。
- 单行注释以
//
开头:
// 这是一个单行注释
- 多行注释以
/*
开头并以*/
结束:
/*
这是一个
多行注释
*/
7. 完整的C#程序示例
using System;
namespace MyNamespace
{
class Program
{
static void Main(string[] args)
{
// 输出 "Hello, World!" 到控制台
Console.WriteLine("Hello, World!");
// 定义并初始化一个变量
int number = 10;
Console.WriteLine("Number: " + number);
// 调用一个方法
PrintGreeting("Alice");
}
// 定义一个方法
static void PrintGreeting(string name)
{
Console.WriteLine("Hello, " + name + "!");
}
}
}
在这个示例中,除了基本的结构外,还展示了如何定义和调用方法,以及如何使用变量。通过理解这些基本结构,可以开始编写和理解C#程序。
2.数据类型和变量
1. 数据的量级
1024字节(byte)= 1KB
- 1024KB = 1MB
- 1024MB = 1GB
- 1024GB = 1TB
- 1024TB = 1PB
2.数据类型
- bool:
0000 0000
表示false
0000 0001
表示true
- sbyte: 有符号的8位整数。范围:-128 到 +127。
- 第一位表示符号(+/-)。
- 特殊情况:
1000 0000
表示 -128。
- byte: 无符号的8位整数。范围:0 到 255。
- short: 有符号的16位整数。范围:-32768 到 +32767。
- int: 有符号的32位整数。范围:-2,147,483,648 到 +2,147,483,647。最常用的整数类型,占4个字节。
- long: 有符号的64位整数。范围:-9,223,372,036,854,775,808 到 +9,223,372,036,854,775,807。
- float: 单精度浮点数,通常用于表示小数。
- double: 双精度浮点数,用于需要更高精度的小数。
- decimal: 高精度浮点数,极少使用,一般用于需要极高精度的计算。
3.常量与变量
- 变量:在程序运行期间可以改变。
- 声明:
数据类型 变量名 = 初值;
- 默认值:int/float 默认值是 0,char 默认值是 ‘\0’。
- 声明:
- 常量:在程序运行期间不能改变。
- 声明:
const 数据类型 变量名 = 初值;
- 例如:
const float MONEY = 100.35f;
- 声明:
4.命名规则
- 变量名只能包含字母、数字、@和下划线(_),且不能以数字开头。
- 不能使用系统关键词。
- 推荐使用英文单词,不要用拼音。
- 驼峰命名法:
- 大驼峰:每个单词的首字母大写。例如:
MyHeroDamage
。 - 小驼峰:第一个单词首字母不大写,后面每个单词的首字母大写。例如:
myHeroDamage
。 - 见名知意:约等于不会的用拼音。
- 大驼峰:每个单词的首字母大写。例如:
3.运算和类型转换等
1.运算符
- 赋值运算符:
=
,将后面的值赋给前面的变量。 - 算术运算符:
+
,-
,*
,/
,%
。- 例如:
a / b
,除法中除数不能为0。
- 例如:
- 自增和自减运算符:
++
和--
。- 例如:
a++
等价于a = a + 1
。
- 例如:
- 复合运算符:
+=
,-=
,*=
,/=
,%=
。- 例如:
a += 4
等价于a = a + 4
。
- 例如:
2.输入与输出
- 输出:
Console.WriteLine();
:输出内容并换行。Console.Write();
:输出内容但不换行。
- 输入:
Console.Read();
:从屏幕读取一个字符,并返回该字符所对应的整型数字。Console.ReadLine();
:从屏幕读取一串字符,并返回该字符串。
3.类型转换
-3.1 隐式转换:将占用字节小、取值范围小、精度小的类型转换为占用字节大、取值范围大、精度高的类型。例如:
sbyte englishScore = 100;
int myScore = englishScore; // sbyte --> int
long classScore = myScore; // int --> long
float newScore = myScore; // int --> float
double newClassScore = newScore; // float --> double
- 3.2显式转换(强制转换):将占用字节大、取值范围大、精度高的类型转换为占用字节小、取值范围小、精度小的类型。需要强制转换修饰符,可能会丢失精度。例如:
int damage = 10000; sbyte health = (sbyte)damage; // int --> sbyte Console.WriteLine(health); // 输出结果:16 float mathScore = 90.5f; int myAllScore = (int)mathScore; // float --> int Console.WriteLine(myAllScore); // 输出结果:90
4预编译指令
- Region:用于代码的折叠和展开。
#region MyRegion // 代码块 #endregion
总结:
例如:以上就是今天要讲的内容,本文详细讲了变量和运算符部分,明天我们会讲逻辑语句和控制语句等,持续更新中~
如有帮助,请留下您的关注~