第4章 - 变量与数据类型
嗨,朋友!我是长安。
这一章我们要学习编程中最基础也是最重要的概念——变量和数据类型。理解了这个,你就能开始存储和处理数据了!
🤔 什么是变量?
变量就像一个贴了标签的盒子,用来存储数据。
类比:
- 你的手机通讯录里,"妈妈" 这个名字对应一个电话号码
- 这里"妈妈"就是变量名,电话号码就是变量的值
🌟 变量的声明和使用
基本语法
// 数据类型 变量名 = 值;
int age = 25;
string name = "张三";
double price = 99.99;
完整示例
using System;
namespace VariablesDemo
{
class Program
{
static void Main(string[] args)
{
// 声明并初始化变量
int age = 25;
string name = "张三";
double height = 1.75;
bool isStudent = true;
// 输出变量
Console.WriteLine($"姓名:{name}");
Console.WriteLine($"年龄:{age}");
Console.WriteLine($"身高:{height}米");
Console.WriteLine($"是否学生:{isStudent}");
// 修改变量的值
age = 26;
Console.WriteLine($"修改后的年龄:{age}");
Console.ReadKey();
}
}
}
📚 C# 的数据类型
C# 是强类型语言,每个变量都必须有明确的类型。
1. 整数类型
| 类型 | 大小 | 范围 | 说明 |
|---|---|---|---|
| byte | 1字节 | 0 ~ 255 | 无符号,小整数 |
| sbyte | 1字节 | -128 ~ 127 | 有符号 |
| short | 2字节 | -32,768 ~ 32,767 | 短整型 |
| ushort | 2字节 | 0 ~ 65,535 | 无符号短整型 |
| int | 4字节 | -2,147,483,648 ~ 2,147,483,647 | 最常用 |
| uint | 4字节 | 0 ~ 4,294,967,295 | 无符号整型 |
| long | 8字节 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | 长整型 |
| ulong | 8字节 | 0 ~ 18,446,744,073,709,551,615 | 无符号长整型 |
byte age = 25; // 年龄
short year = 2024; // 年份
int population = 1000000; // 人口数
long distance = 384400000; // 地球到月球的距离(米)
选择建议
- 90% 的情况使用 int 就够了
- 需要存储很大的数时用 long
- 需要节省内存时用 byte 或 short
2. 浮点类型
| 类型 | 大小 | 精度 | 范围 |
|---|---|---|---|
| float | 4字节 | 7位数字 | ±1.5 × 10^−45 ~ ±3.4 × 10^38 |
| double | 8字节 | 15-16位数字 | ±5.0 × 10^−324 ~ ±1.7 × 10^308 |
| decimal | 16字节 | 28-29位数字 | ±1.0 × 10^−28 ~ ±7.9 × 10^28 |
float pi1 = 3.14f; // 注意要加 f 后缀
double pi2 = 3.141592653; // 默认是 double
decimal price = 99.99m; // 注意要加 m 后缀,用于货币
选择建议
- float:一般科学计算
- double:默认选择,最常用
- decimal:金融计算,精度高
3. 字符类型
char letter = 'A'; // 单个字符,用单引号
char chinese = '中'; // 可以是中文
char digit = '9'; // 也可以是数字字符
4. 字符串类型
string name = "张三"; // 字符串,用双引号
string empty = ""; // 空字符串
string multiLine = @"第一行
第二行
第三行"; // 多行字符串,用 @ 符号
// 字符串拼接
string firstName = "张";
string lastName = "三";
string fullName = firstName + lastName; // "张三"
// 字符串插值(推荐)
int age = 25;
string message = $"我叫{name},今年{age}岁"; // "我叫张三,今年25岁"
5. 布尔类型
bool isStudent = true; // 真
bool isMale = false; // 假
// 常用于条件判断
if (isStudent)
{
Console.WriteLine("是学生");
}
6. var 关键字(类型推断)
var age = 25; // 编译器自动推断为 int
var name = "张三"; // 编译器自动推断为 string
var price = 99.99; // 编译器自动推断为 double
// 注意:必须在声明时初始化
// var x; // ❌ 错误,无法推断类型
使用建议
- 类型明显时可以使用
var,代码更简洁 - 但初学阶段建议明确写出类型,帮助理解
📝 本章小结
- 变量是存储数据的容器
- C# 是强类型语言,必须声明类型
- 整数类型首选
int,浮点类型首选double - 字符串使用
string,字符使用char - 布尔类型只有
true和false
🎯 下一步
掌握了变量和数据类型后,下一章我们要学习运算符,让数据动起来!
💪 练习题
- 声明一个变量存储你的年龄,并输出
- 计算圆的面积(π = 3.14,半径 = 5)
- 创建变量存储你的姓名、年龄、身高,并用字符串插值输出
- 声明一个布尔变量表示"是否下雨",并根据它输出不同的信息
答案提示
int age = 25; Console.WriteLine(age);double area = 3.14 * 5 * 5;string message = $"我叫{name},{age}岁,身高{height}米";- 使用
if-else判断布尔变量
