(4)C#变量,常量,数据类型,转义字符,数据类型转换
一、变量
程序运行期间能够被改变的量称为变量。
变量名称要用小写字母开头,避免用下划线开头。
如果包含多个单词,从第二个单词开始首字母都要大写。
定义并初始化
double pi = 3.14
二、常量
程序在运行期间不能被改变的量,它可以是任何基本数据类型。
比如整数常量、浮点常量、字符常量或者字符串常量,还有枚举常量
常量的定义方法
定义变量时在前面加上一个关键字“const”
const int a=;
只有字段是一个枚举、数值类型、字符串时才能声明为常量
三、数据类型
C#的数据类型分为三种,值类型,引用类型,指针类型。
1、值类型
也叫做基本数据类型,每一个值类型都有一个独立的内存区域保存自己的值,调用它的时候调用的是他的值。
| 类型 | 描述 | 范围 | 默认值 |
|---|---|---|---|
| bool | 布尔值 | True 或 False | False |
| byte | 8 位无符号整数 | 0 到 255 | 0 |
| char | 16 位 Unicode 字符 | U +0000 到 U +ffff | '\0' |
| decimal | 128 位精确的十进制值,28-29 有效位数 | (-7.9 x 1028 到 7.9 x 1028) / 100 到 28 | 0.0M |
| double | 64 位双精度浮点型 | (+/-)5.0 x 10-324 到 (+/-)1.7 x 10308 | 0.0D |
| float | 32 位单精度浮点型 | -3.4 x 1038 到 + 3.4 x 1038 | 0.0F |
| int | 32 位有符号整数类型 | -2,147,483,648 到 2,147,483,647 | 0 |
| long | 64 位有符号整数类型 | -923,372,036,854,775,808 到 9,223,372,036,854,775,807 | 0L |
| sbyte | 8 位有符号整数类型 | -128 到 127 | 0 |
| short | 16 位有符号整数类型 | -32,768 到 32,767 | 0 |
| uint | 32 位无符号整数类型 | 0 到 4,294,967,295 | 0 |
| ulong | 64 位无符号整数类型 | 0 到 18,446,744,073,709,551,615 | 0 |
| ushort | 16 位无符号整数类型 | 0 到 65,535 |
0 |
2、引用类型
不像是值类型样直接保存在内存中。引用类型开辟了两块内存空间,第一块存放地址指向第二块,第二块才存放值。当使用引用类型的变量时,首先找到内存地址,根据地址才能找到
引用类型的数据有:对象(Object)类型,动态(Dynamic)类型,字符串(String)类型
.对象类型
所有类型的基类
object obj=abc;
.动态类型
dynamic d = ;
.字符串类型
String str = "w3cschool.cc";
3、指针类型
指针类型变量存储另一种类型的内存地址。C# 中的指针与 C 或 C++ 中的指针有相同的功能。
例如:
char* cptr;
int* iptr;
四、字符转义
表示特殊含义的字符,通常以 \ 开头
\n ------------------------- 换行
\r ------------------------- 回车
\t ------------------------- 制表符
\b ------------------------- 退格
\f ------------------------- 换页
\0 ------------------------- 空符号
\" ------------------------- 双引号
\'''' -------------------------单引号
\\ -------------------------反斜杠
还有一个@字符,@后的字符串会原样输出
例如:
string str = @"C:\Windows\abc";
\\相当于
string str ="C:\\Windows\\abc";
五、数据类型转换
分为隐式类型转换和显式类型转换
隐式类型转换:低精度转成高精度的类型。
double a;
int b=;
a=b;
//则a=6.00
显式类型转换(强制转换):高精度转成低精度类型。
double d = 5673.74;
int i;
i = (int)d;//强制转换
类型转换用常用的的方法
ToString 转成字符串类型
ToDateTime 转成日期类型
例:
int a=;
String b;
b=a.Tostring();
六、隐式类型变量
var a=99;
var b=“ME”;
将自动识别变量的类型
只初始化不赋值,由于不能判断数据类型,系统将会报错。
例如: var b;//错误
C#默认四舍五入
1 Math.Round(45.367,2) //Returns 45.37
2 Math.Round(45.365,2) //Returns 45.36
C#中的Round()不是我们中国人理解的四舍五入,是老外的四舍五入,是符合IEEE标准的四舍五入,
具体是四舍六入,下面的才是符合中国人理解的四舍五入。
1 Math.Round(45.367,2,MidpointRounding.AwayFromZero); //Returns 45.37
2 Math.Round(45.365,2,MidpointRounding.AwayFromZero); //Returns 45.37
(4)C#变量,常量,数据类型,转义字符,数据类型转换的更多相关文章
- Java基础复习之一篇:关健字,标识符,注释,常量,进制转换,变量,数据类型,数据类型转换
1.关健字 1.1.被Java语言赋予特定意义的单词(如:class,interface,public ,static) 1.2.全部是小写 1.3.注意事项(goto和const作为关健字保留起来) ...
- Objective-C数据类型、数据类型转换
数据类型 1.Objective-C数据类型可以分为:基本数据类型.对象数据类型和id类型. 2.基本数据类型有:int.float.double和char类型. 3.对象类型就是类或协议所声明的指针 ...
- Java - 变量常量数据类型
标识符命名规范 可以有字母数字下划线和美元符组成, hello abc 不能以数字开头 123abc 严格区分大小写 void Void 不能是java的关键字和保留字 class 标识符必须是见名知 ...
- python 全栈开发,Day50(Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏)
一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...
- 前端JavaScript(1) --Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏
一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...
- 02.JS数据类型与数据类型转换
前言: 学习一门编程语言的基本步骤 (01)了解背景知识 (02)搭建开发环境 (03)语法规范 (04)常量和变量 (05)数据类型 (06)数据类型转换5.数据类型——datatype 数据 ...
- Swift数据类型及数据类型转换
整型 Swift 提供 8.16.32.64 位形式的有符号及无符号整数.这些整数类型遵循 C 语言的命名规 约,如 8 位无符号整数的类型为 UInt8,32 位 有符号整数的类型为 Int32 ...
- Python基础之模块、数据类型及数据类型转换
一.模块 1.标准库 不需要安装,直接调入使用的模块. import sys模块: import sys print(sys.path) #打印环境变量绝对路径 print(sys.argv) #打印 ...
- (6)java基础知识-基本数据类型、数据类型转换
一.基本数据类型 基本的数据类型一共有四类八种 1.整型 byte: 1字节 取值范围 -128~127 short: 2字节 取值范围 -32768~32767 int: 4字节 取 ...
随机推荐
- 【NOIP 2017 提高组】列队
题目 有一个 \(n\times m\) 的方阵,每次出来一个人后向左看齐,向前看齐,询问每次出来的人的编号. \(n\le 3\times 10^5\) 分析 我们考虑离队本质上只有两种操作: 删除 ...
- cookie不能删除
cookie不仅仅包含一个键值对,还包含域 domain 路径path, 一般domain是请求的地址 www.baidu.com/news.html 那domain就是www.baidu.com ...
- NSIS编译报错:您可能有有一个或两个(大)的旧临时文件
一.有时在编译NSIS时会出现如下错误: 注意: 您可能有有一个或两个(大)的旧临时文件 残留在临时目录文件夹中 (通常这种情况只会发生在 Windows 9x 系统中). 二.本人遇到的问题原因: ...
- STL之priority_queue使用简介
优先队列容器也是一种从一端入队,另一端出对的队列.不同于一般队列的是,队列中最大的元素总是位于队首位置,因此,元素的出对并非按照先进先出的要求,将最先入队的元素出对,而是将当前队列中的最大元素出对. ...
- qemu中device和driver的区别 使用9p文件系统
qemu配置中经常会出现-driver/-device的选项,可以理解成-driver是后端设备,即一个实际的物理的磁盘:device是把这块磁盘插入到虚机中的pci控制器中. 这样的话,虚机也能看到 ...
- Error: could not find java.dll 解决办法
Error: could not find java.dll 问题: 安装配置Java环境变量后,在命令行中运行java -version进行测试时却出现下面的问题: Error: opening r ...
- spark与storm比对与选型
大数据实时处理平台市场上产品众多,本文着重讨论spark与storm的比对,最后结合适用场景进行选型. 一.spark与storm的比较 比较点 Storm Spark Streaming 实时计算模 ...
- 命令__cp、scp(Secure Copy)
cp命令:区别:硬链接原文件&链接文件公用一个inode号,说明他们是同一个文件,而软链接原文件&链接文件拥有不同的inode号,表明他们是两个不同的文件: 在文件属性上软链接明确写出 ...
- 公路建设 (highway.c/cpp/pas)
2.公路建设 (highway.c/cpp/pas) 在滨海市一共有 n 个城市,编号依次为 1 到 n,它们之间计划修建 m 条双向道路,其中 修建第 i 条道路的费用为 ci. 海霸王作为滨海市公 ...
- 使用redis实现简单的锁机制
在测试第三方账号注册时,授权拉取后,如果两台手册同时点击注册按钮,数据库中就会新增两天一模一样的数据,而我们的需求是一个第三方账号只能绑定一个账号,所以,由此现象可以知道,这里产生了并发访问,我们应该 ...