# 第二课：变量和数据类型

## 基本数据类型

| 类型 | 说明 | 示例 |
|------|------|------|
| `int` | 整数 | `int age = 25;` |
| `double` | 小数 | `double pi = 3.14;` |
| `string` | 字符串 | `string name = "无言势";` |
| `char` | 单字符 | `char grade = 'A';` |
| `bool` | 布尔值 | `bool isActive = true;` |
| `var` | 自动推断 | `var msg = "自动推断为string";` |

## 声明和赋值

```csharp
// 声明 + 赋值
int score = 100;

// 先声明，后赋值
int score;
score = 100;

// 多个变量
int a = 1, b = 2, c = 3;
```

## 常量

```csharp
const double PI = 3.14159;  // const 声明后不可修改
```

## 类型转换

```csharp
// 隐式转换（自动）
int i = 10;
double d = i;  // int -> double

// 显式转换（强制）
double d = 3.14;
int i = (int)d;  // double -> int，结果是 3

// ToString / Parse
int i = int.Parse("123");
string s = i.ToString();
```

## 输入输出

```csharp
// 输出
Console.WriteLine("Hello");           // 换行
Console.Write("Hello");               // 不换行

// 输入（返回 string）
string name = Console.ReadLine();

// 输入数字要转换
int age = int.Parse(Console.ReadLine());
```
