C#个人学习笔记之变量与数据类型-002
·
变量与数据类型
一、基本概念
1. 什么是变量
变量是内存中一块命名的存储空间,用来存储数据,程序运行中值可以被修改。
语法格式:
// 格式:数据类型 变量名 = 初始值;
int age = 18;
2. 变量命名规则
- 只能由**字母、数字、下划线
_**组成 - 不能以数字开头
- 不能使用 C# 关键字(如
int、string、class) - 区分大小写(
Name和name是两个变量) - 推荐规范:
- 局部变量:小驼峰(
userName) - 类/常量:大驼峰(
UserName)
- 局部变量:小驼峰(
二、C# 两大数据类型分类
C# 数据类型分为 值类型 和 引用类型。
(一)值类型(Value Type)
数据直接存放在栈内存,赋值是值拷贝,修改互不影响。
常用内置值类型:
1. 整型(整数)
| 类型 | 字节 | 取值范围 | 示例 |
|---|---|---|---|
sbyte |
1 | -128 ~ 127 | sbyte a = 10; |
byte |
1 | 0 ~ 255(无符号) | byte b = 20; |
short |
2 | -32768 ~ 32767 | short s = 100; |
ushort |
2 | 0 ~ 65535 | ushort us = 200; |
int |
4 | -2¹⁰左右,最常用 | int num = 1000; |
uint |
4 | 0 ~ 4294967295 | uint un = 5000; |
long |
8 | 超大整数 | long l = 9999999999; |
ulong |
8 | 无符号长整型 | ulong ul = 88888; |
2. 浮点型(小数)
float:单精度,4字节,赋值后缀加ffloat f = 3.14f;double:双精度,8字节,默认小数类型(最常用)double d = 3.1415;decimal:高精度小数,适合金额/金融,后缀mdecimal money = 99.99m;
3. 布尔类型
bool:只有两个值 true(真) / false(假),占1字节
bool isOk = true;
bool isFail = false;
4. 字符类型
char:存储单个字符,用单引号包裹,占2字节
char ch = 'A';
char ch2 = '5';
补充:值类型还包含结构体
struct、枚举enum。
(二)引用类型(Reference Type)
数据存放在堆内存,变量本身存的是内存地址,赋值是地址拷贝。
常用引用类型:
1. 字符串 string(最常用)
存储一串字符,双引号包裹
string str1 = "Hello C#";
string str2 = ""; // 空字符串
特点:string 不可变,每次修改都会生成新字符串。
2. object 类型
所有类型的父类,可以存放任意数据
object obj1 = 123;
object obj2 = "文本";
其他引用类型:数组、类 class、接口、委托等。
三、变量的几种声明方式
1. 先声明,后赋值
int num;
num = 100;
2. 声明并初始化(推荐)
int num = 100;
3. 一次声明多个同类型变量
int a = 1, b = 2, c;
4. 隐式类型 var
编译器自动推断数据类型,必须初始化,只能用于局部变量
var name = "张三"; // 推断为 string
var age = 20; // 推断为 int
四、类型转换
1. 隐式转换(自动转换)
小范围 → 大范围,系统自动完成,不会丢失数据
int a = 100;
double b = a; // int 自动转 double
2. 显式转换(强制转换)
大范围 → 小范围,手动强制,可能丢失精度
语法:(目标类型)变量
double d = 3.99;
int num = (int)d; // 结果:3,小数直接截断
3. 字符串与基本类型转换
使用 Convert 类 / 类型自带 Parse 方法
// 字符串转 int
string s = "123";
int n = int.Parse(s);
int n2 = Convert.ToInt32(s);
// int 转字符串
int m = 456;
string str = m.ToString();
五、常量
常量:值固定不可修改,关键字 const,声明时必须赋值
const double PI = 3.1415926;
// PI = 3.14; 报错,常量不能二次赋值
六、完整示例代码(可直接运行)
using System;
class Program
{
static void Main()
{
// 1. 值类型演示
int age = 22;
double score = 95.5;
bool isStudent = true;
char sex = '男';
// 2. 引用类型 string
string name = "小明";
// 3. 隐式类型 var
var height = 175.5;
Console.WriteLine("姓名:" + name);
Console.WriteLine("年龄:" + age);
Console.WriteLine("成绩:" + score);
// 4. 类型转换
string strNum = "666";
int num = int.Parse(strNum);
Console.WriteLine("转换后数字:" + num);
}
}
七、笔记总结(考点/重点)
- 变量:命名空间 + 类型 + 变量名 + 赋值,局部变量必须初始化。
- 分类:值类型(栈)、引用类型(堆)。
- 常用类型:
int、double、bool、char、string。 var隐式类型:编译器推断,必须初始化。- 转换:小转大自动,大转小强制,字符串用
Parse/Convert。 const常量:只读,定义时赋值。
更多推荐
所有评论(0)