C#学习笔记-基本数据类型

@C#学习笔记

C#

1. 基本数据类型

1.1 Int

  • sbyte(-128 to 127 ): signed 8-bit

  • byte(0 to 255): unsigned 8-bit

  • short(-32,768 to 32,767): signed 16-bit

  • ushort(0 to 65,535): unsigned 16-bit

  • int(-2,147,483,648 to 2,147,483,647): signed 32-bit

  • uint(0 to 4,294,967,295): unsigned 32-bit

  • long(-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807):signed 64-bit

  • ulong(0 to 18,446,744,073,709,551,615): unsigned 64-bit

1.2 Float

1.2.1种类:
  1. float 32-bits
  • 默认值:0.0F
  1. double 64-bits
  • 默认值:0.0D
  1. decimal 128-bits
  • 默认值:0.0M
float floatPI = 3.141592653589793238f;
double doublePI = 3.141592653589793238;
Console.WriteLine("Float PI is: {0}", floatPI);
Console.WriteLine("Double PI is: {0}", doublePI);
1.2.2 操作
  1. equal

不能准确比较浮点数

double a = 1.0f;
double b = 0.33f;
double sum = 1.33f;
bool equal = (a+b == sum); // False!!!
Console.WriteLine("a+b={0} sum={1} equal={2}", a+b, sum, equal);
  1. 精确
double a = 2.3455;
Console.WriteLine(Math.Round(a)) 
// result: 2 取整
Console.WriteLine(Math.Round(a, 3)) 
// result: 2.346 精确到第三位
Console.WriteLine(Math.Ceiling(a)) 
// result: 3 向上取整
Console.WriteLine(Math.Floor(a)) 
// result: 2 向下取整

1.3 Bool

  • 默认值:false
int a = 1;
int b = 2;
bool greaterAB = (a > b);
Console.WriteLine(greaterAB);  // 错误
bool equalA1 = (a == 1);
Console.WriteLine(equalA1);    // 正确

1.4 Character

与C++不同

  • ?:int?double?//支持int/double 为空
  • 默认值:‘\0’
char symbol = 'a';
Console.WriteLine("The code of '{0}' is: {1}", symbol, (int) symbol);
symbol = 'b';
Console.WriteLine("The code of '{0}' is: {1}", symbol, (int) symbol);
symbol = 'A';
Console.WriteLine("The code of '{0}' is: {1}", symbol, (int) symbol);
symbol = 'щ';  //西里尔字母“sht”
Console.WriteLine("The code of '{0}' is: {1}", symbol, (int) symbol);

1.6 String

  • 默认值:null(no value)
  • 字符串可用**‘+’**操作符相加
string firstName = "Ivan";
string lastName = "Ivanov";
Console.WriteLine("Hello, {0}!", firstName);
string fullName = firstName + " " + lastName;
Console.WriteLine("Your full name is {0}.", fullName);
//甚至可以将字符串和数字相加
int age = 21;
Console.WriteLine("Hello, I am " + age + " years old");

1.7 object

  • c#中独特的特数据类型
  • 是其他所有类型的基类
  • 可以存任何值!
object dataContainer = 5;
Console.Write("The value of dataContainer is: ");
Console.WriteLine(dataContainer);
dataContainer = "Five";
Console.Write("The value of dataContainer is: ");
Console.WriteLine(dataContainer);

2.变量

2.1 变量声明

  1. 语法如下:
<data_type> <identifier> [= <initialization>];
  1. eg:
int height = 200;

2.2 变量定义

int New = 2; // 字母N开头
int _2Pac; // 下划线_开头
string поздрав= "Hello";  // 可用Unicode符号命名
string greeting = "Hello";
int n = 100; // 无描述命名
int numberOfClients = 100; // 有描述命名,推荐!!!
int numberOfPrivateClientsOfTheFirm = 100; // 描述的过分,看的头疼
int new;   // new是一个关键字,不能用作变量名
int 2Pac;  // 变量名不能用数字开头

2.3 变量赋值

// 变量赋值
// 整型变量赋值:
int num = new int(); // num = 0
// 浮点型变量赋值
float heightInMeters = 1.74f;
// 使用一个已经赋值的变量
string greeting = "Hello World!";
string message = greeting;
  • 注意变量的作用域
  • 常量:const int x=1; //不可更改

2.4 Literals

Literals:源代码中值的表示形式

2.4.1 Real Literals
// 以下变量初始化为相同的值:
int numberInHex = -0x10;
int numberInDec = -16;
// 正确的赋值方法如下:
float realNumber = 12.5f;
// 指数格式赋值:
float realNumber = 6.02e+23f;
float realNumber = 1.25e-7f
2.4.2 Characters Literals
char symbol = 'a'; // 普通符号
symbol = '\u006F'; // 字符a的Unicode表示
symbol = '\u8449'; // 葉
symbol = '\''; // 赋值单引号符号
symbol = '\\'; // 赋值反斜杠符号
symbol = '\n'; // 换行符
symbol = '\t'; // 制表符
symbol = "a"; // 不正确!应使用单引号
2.4.3 String Literals

string s = @"C:\WINDOWS\System32\drivers";
@后面的内容忽略使用的转义序列

2.5 Nullable Types

Nullable类型是System.Nullable 结构的实例,一个nullable类型能代表它下面的值的正确范围,还能取null值

eg:
int ? ,double ?// int/double可为空值

//拿整型举例:
int? someInteger = null;
Console.WriteLine("This is the integer with Null value -> " + someInteger);
someInteger = 5;
Console.WriteLine("This is the integer with value 5 -> " +  someInteger);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值