C#基础语法全解析:变量、数据类型与运算符
·
C#基础语法全解析:变量、数据类型与运算符
在C#编程中,变量、数据类型和运算符是核心基础元素。它们共同构成了程序的数据处理和逻辑控制框架。我将逐步解析这些概念,确保内容清晰、实用。以下内容基于C#标准语法,适用于大多数开发环境(如.NET Core或Unity)。代码示例使用C#编写,并遵循最佳实践。
1. 变量
变量是程序中存储数据的命名容器。声明变量时,需指定数据类型和变量名,并可初始化值。C#是强类型语言,变量类型必须明确。
- 声明语法:
数据类型 变量名 = 值; - 命名规则:
- 变量名以字母或下划线开头,后可接字母、数字或下划线。
- 区分大小写(如
age和Age不同)。 - 避免使用C#关键字(如
int、class)。
- 作用域:变量在声明块(如方法或类)内有效。
- 示例代码:
using System;
class Program
{
static void Main()
{
// 声明并初始化变量
int age = 25; // 整数变量
string name = "Alice"; // 字符串变量
bool isStudent = true; // 布尔变量
// 输出变量值
Console.WriteLine($"姓名: {name}, 年龄: {age}, 学生: {isStudent}");
// 重新赋值
age = 26;
Console.WriteLine($"更新后年龄: {age}");
}
}
- 关键点:
- 使用
var关键字可隐式声明变量(编译器推断类型),如var count = 10;(count为int类型)。 - 未初始化的变量可能导致编译错误(值类型默认初始化为0,引用类型为null)。
- 使用
2. 数据类型
数据类型定义了变量存储的数据种类和大小。C#分为值类型(直接存储数据)和引用类型(存储引用地址),这里聚焦基本类型。
- 值类型:
- 整数类型:存储整数值,大小和范围不同。
int:32位整数,范围 $-2^{31}$ 到 $2^{31}-1$(约 $-2.147e9$ 到 $2.147e9$)。long:64位整数,范围 $-2^{63}$ 到 $2^{63}-1$(约 $-9.223e18$ 到 $9.223e18$)。- 其他:
byte(8位无符号)、short(16位)。
- 浮点类型:存储小数,适用于数学计算。
float:32位单精度浮点数,范围约 $\pm 1.5 \times 10^{-45}$ 到 $\pm 3.4 \times 10^{38}$,精度6-9位小数。double:64位双精度浮点数,范围约 $\pm 5.0 \times 10^{-324}$ 到 $\pm 1.7 \times 10^{308}$,精度15-17位小数。常用作默认浮点类型。
- 其他值类型:
char:16位Unicode字符,如'A'。bool:布尔值,true或false。
- 整数类型:存储整数值,大小和范围不同。
- 引用类型:
string:字符串序列,不可变(如"Hello")。- 数组、类等(本解析聚焦基础)。
- 类型转换:
- 隐式转换:小类型到大类型(如
int到long),自动完成。 - 显式转换:大类型到小类型(如
double到int),需强制转换,可能丢失数据。
- 隐式转换:小类型到大类型(如
- 示例代码:
using System;
class Program
{
static void Main()
{
// 值类型示例
int quantity = 100;
double price = 99.95; // 双精度浮点数
char grade = 'A';
bool isValid = false;
// 引用类型示例
string message = "欢迎学习C#!";
// 类型转换
int total = (int)(quantity * price); // 显式转换double到int
float ratio = quantity; // 隐式转换int到float
// 输出
Console.WriteLine($"总价: {total}, 比例: {ratio}, 消息: {message}");
}
}
- 关键点:
- 使用
sizeof()方法获取类型大小(如sizeof(int)返回4字节)。 - 浮点数计算时注意精度问题(如
0.1 + 0.2 != 0.3可能为真)。
- 使用
3. 运算符
运算符用于对变量或值执行操作,如算术、比较或逻辑运算。C#支持多种运算符,优先级从高到低执行(可用括号()改变顺序)。
- 算术运算符:执行数学计算。
- 加法
+:如a + b,结果 $a + b$。 - 减法
-:如a - b,结果 $a - b$。 - 乘法
*:如a * b,结果 $a \times b$。 - 除法
/:如a / b,结果 $a \div b$(整数除法截断小数)。 - 取模
%:求余数,如7 % 3 = 1(因为 $7 \div 3 = 2 \text{余} 1$)。 - 自增
++和自减--:如x++等价于x = x + 1。
- 加法
- 关系运算符:比较值,返回布尔结果。
- 等于
==:如a == b。 - 不等于
!=:如 `a != b$。 - 大于
>、小于<、大于等于>=、小于等于<=。
- 等于
- 逻辑运算符:用于布尔表达式。
- 逻辑与
&&:如(a > 0) && (b < 10),当两者为真时返回真。 - 逻辑或
||:如(a == 0) || (b == 0),任一为真时返回真。 - 逻辑非
!:如!isValid,取反。
- 逻辑与
- 赋值运算符:赋新值。
- 基本赋值
=:如x = 5。 - 复合赋值如
+=:x += 3等价于x = x + 3。
- 基本赋值
- 其他运算符:条件运算符
?:(三元操作),如result = (a > b) ? a : b。 - 示例代码:
using System;
class Program
{
static void Main()
{
int a = 10, b = 5;
bool check = true;
// 算术运算
int sum = a + b; // 15
int product = a * b; // 50
double quotient = (double)a / b; // 2.0(显式转换避免整数除法)
// 关系运算
bool isEqual = (a == b); // false
bool isGreater = (a > b); // true
// 逻辑运算
bool andResult = (a > 0) && (b < 10); // true
bool orResult = (a == 0) || !check; // false(因为!true=false)
// 输出
Console.WriteLine($"和: {sum}, 积: {product}, 商: {quotient}");
Console.WriteLine($"相等: {isEqual}, 大于: {isGreater}, 与运算: {andResult}, 或运算: {orResult}");
}
}
- 关键点:
- 运算符优先级:算术 > 关系 > 逻辑 > 赋值(例如
a + b * c先计算b * c)。 - 使用括号提高可读性,如
(a + b) * c。 - 避免除以零错误(如
int x = 10 / 0;会抛出异常)。
- 运算符优先级:算术 > 关系 > 逻辑 > 赋值(例如
总结
变量、数据类型和运算符是C#编程的基石:
- 变量:存储和操作数据的基础单元。
- 数据类型:确保数据正确存储和处理,选择合适类型优化性能。
- 运算符:实现数据计算和逻辑控制。 通过结合这些元素,您可以构建高效、可靠的C#程序。建议多实践代码示例(如使用Visual Studio或.NET CLI编译),以加深理解。遇到问题时,查阅官方文档(如Microsoft Learn)获取更多细节。
所有评论(0)