《c# 从入门经典》 (第6版) - 变量和表达式
1,程序就是对一系列数据的操作;数据最终是存储在内存中的0和1数据流;我们在桌面上的任何操作都会改变内存中的数据。
2,变量存储在计算机中占用着一定的内存空间
bit: 位,计算机的最小存储单位,存储一个二进制位(0或1)
计算机存储单位:bit (位)=> byte(字节) => kb(千字节) => mb(兆字节) => ...
计算机的位是以0和1来表示的,例如定义一个byte:00001111 【8bit=1byte】
存储单位和存储空间的关系:1 byte = 8bit =1b空间
不同的数值类型存储不同范围的数值,占用不同的储存空间,以整型为例:
| C#整型定义 | 占用位数 | 计算机对应存储空间 | 数值范围 |
| byte | 8bit | 1b | 0~255 |
| short | 16bit | 2b | -216~216-1 |
| int | 32bit | 4b | -232~232-1 |
3,变量:
①不同类型的数据(图片|文档|视频)有不同的处理方式,所以变量有不同的类型。
②变量声明以后,可以作为存储数据的单元,存储所声明的数据类型的数据。
③变量在使用前必须进行初始化。
引用类型变量:字符串类型(string),string变量可以赋值为null,表示字符串变量不引用字符串。
string字符数量没有上限,它可以使用可变的大小的内存。
值类型变量
=>简单类型:占用一定(N)的位(bit)来存储数值,数值范围为:0~2N-1
整型: 【byte,short, int, long...】
浮点型:【double, float, decimal】
float i = 10.2f; "f"标记浮点数据 如果不加"f"则默认为double类型。
double 是C#编译器默认的一个小数的表示方式,如 double i=10.2
布尔型:【bool】 true/false
=>复杂类型
1. Enum枚举,定义一组 具有具体含义的数据方便调用和使用
如下,枚举中预定义好TrafficLight的值,后续使用可以通过 TrafficLight.Green调用。
enum TrafficLight
{
Green = ,
Yellow = ,
Red =
}
2. Struct结构体,结构体在构造函数中进行数据的初始化。
class Program
{
static void Main(string[] args)
{
PersonStruct per = new PersonStruct("Jack_Ma","",DateTime.Now); Console.WriteLine(per.Birthday.ToShortDateString());
}
} //Struct
public struct PersonStruct
{
public string Name;
public string MobilePhone;
public DateTime Birthday; //结构体的构造函数中进行初始化
public PersonStruct(string name,string mobilePhone,DateTime birthday){
this.Name = name;
this.MobilePhone = mobilePhone;
this.Birthday = birthday; }
}
4,变量的命名:
命名规则:第一个字符必须是:字母、_、@
后续字母:字母、_、数字
命名书写约定:
camelCase命名法:简单变量(age,firstName)
PascaCase命名法:命名空间
5,运算符的优先顺序:
①++,--(作为前缀),+,- ②*,/,% ③+,- ④=,+=,-=,*=,/= ⑤++,-- (作为后缀)
6,命名空间:
定义代码容器,命名空间可以嵌套命名空间,同一个命名空间中的变量名是惟一的。
using语句访问命名空间,减少代码量,提高代码的可读性。
7,引用类型举例:
- 自定义类
public class Fruit
{
public string furitName;
}
- 数组
Person[] arrPer = new Person[];
arrPer[] = new Person();
arrPer[] = new Person();
- deleagate , 委托实质是也是类,继承自 System.MulticastDelegate
public delegate Action myAction();
Words:
sum 加 subtract 减去 multiply 乘以 product 结果 divide 除以 remainder 余数
《c# 从入门经典》 (第6版) - 变量和表达式的更多相关文章
- 《c#入门经典第五版》简介及pdf电子书网盘下载地址(收藏)
<C#入门经典(第5版)>全面讲解C# 2010和.net架构编程知识,为您编写卓越C# 2010程序奠定坚实基础.C#入门经典系列是屡获殊荣的C#名著和超级畅销书.最新版的<C#入 ...
- c语言入门经典(第5版)
文章转载:http://mrcaoyc.blog.163.com/blog/static/23939201520159135915734 文件大小:126MB 文件格式:PDF [点击下载] C ...
- C语言学习书籍推荐《C语言入门经典(第5版)》下载
霍尔顿 (Ivor Horton) (作者), 杨浩 (译者) 下载地址:点我 C语言是每一位程序员都应该掌握的基础语言.C语言是微软.NET编程中使用的C#语言的基础:C语言是iPhone.iPad ...
- HTML与CSS入门经典(第9版)试读 附随书源码 pdf扫描版
HTML与CSS入门经典(第9版)是经典畅销图书<HTML与CSS入门经典>的最新版本,与过去的版本相同,本书采用直观.循序渐进的方法,为读者讲解使用HTML5与CSS3设计.创建并维护世 ...
- C语言学习书籍推荐《C语言入门经典(第4版)》
霍顿 (Ivor Horton) (作者), 杨浩 (译者) <C语言入门经典(第4版)>的目标是使你在C语言程序设计方面由一位初学者成为一位称职的程序员.读者基本不需要具备任何编程知识, ...
- C#入门经典第五版之变量的更多内容编码题训练
1. 编写一个控制台应用程序,它接收用户输入的一个字符串,将其中的字符以与输入相反的顺序输出. public string ReverseString(string str) { string rev ...
- C#入门经典第五版之变量与表达式编码题训练
问题:编写一个控制台应用程序,要求用户输入4个int值,并显示它们的乘积.提示:可以使用Convert.ToDouble()命令,把用户在控制台上输入的数转换为double, 以此类推,转换成int命 ...
- [刷题]算法竞赛入门经典(第2版) 5-15/UVa12333 - Revenge of Fibonacci
题意:在前100000个Fibonacci(以下简称F)数字里,能否在这100000个F里找出以某些数字作为开头的F.要求找出下标最小的.没找到输出-1. 代码:(Accepted,0.250s) / ...
- [刷题]算法竞赛入门经典(第2版) 5-9/UVa1596 - Bug Hunt
//开学了,好烦啊啊啊啊啊!怎么开个学那么多破事情!!都俩星期了,终于有时间写出来一道题 题意:不难理解,不写了.这几天忙的心累. 代码:(Accepted, 0.010s) //UVa1596 - ...
随机推荐
- PHP与JAVA构造函数的区别
早期的PHP是没有面向对象功能的,但是随着PHP发展,从PHP4开始,也加入了面向对象.PHP的面向对象语法是从JAVA演化而来,很多地方类似,但是又发展出自己的特色.以构造函数来说,PHP4中与类同 ...
- SignalR系列目录
[置顶]用SignalR 2.0开发客服系统[系列1:实现群发通讯] [置顶]用SignalR 2.0开发客服系统[系列2:实现聊天室] [置顶]用SignalR 2.0开发客服系统[系列3:实现点对 ...
- 深入理解 Android 之 View 的绘制流程
概述 本篇文章会从源码(基于Android 6.0)角度分析Android中View的绘制流程,侧重于对整体流程的分析,对一些难以理解的点加以重点阐述,目的是把View绘制的整个流程把握好,而对于特定 ...
- 【微信SEO】公众号也能做排名?
[写于2016年8月] 最近,微信团队发出一则公告,开放公众号运营者一年内更改公众号名一次,这对不少名字起的奇葩名字(包括dkplus)的公众号来说是一件好事. 为什么说是好事呢?公众号名字直接关联到 ...
- 如何使用RobotFramework编写好的测试用例
如何使用Robot Framework编写优秀的测试用例 概述 命名 测试套件命名 测试用例命名 关键字命名 setup和teardown的命名 文档 测试套件文档 测试用例文档 用户关键字文档 测试 ...
- K-近邻算法(KNN)
简介 k近邻算法是数据分类一种常用的算法,属于监督学习算法的一类,它采用不同特征值之的距离进行分类.K近邻算法具有精度高.对异常值不敏感.无数据输入假定的优点,缺点是计算复杂度高.空间复杂度高.适用于 ...
- 小丁带你走进git的世界四-重写历史记录
一.git对象文件创建 开篇先补充一个知识点,就是比如我建立一个文件之后,使用git add就会生成一个git对象,但是git对象生成后可以在.git/objects里面对应,首先我们来初始化一个仓库 ...
- With(ReadPast)就不会被阻塞吗?
在生产环境中,会有很多使用ReadPast查询提示的场合,来避免正在被其它事务锁定的行对当前查询造成阻塞,而又不会获取到“脏数据”. 可是很多人都疑惑,为什么我使用了ReadPast仍然有时会被阻塞? ...
- Convert.ToInt32()、int.Parse()和(int)三者的区别
Convert.ToInt32将object类类型转换成int类型,如Convert.ToInt32(session["shuzi"]); (int)适合简单数据类型之间的转换: ...
- 根据xml文件名获取xml数据并转化为实体。
1.定义一个xml文件. <?xml version="1.0" encoding="utf-8" ?> <UserManager xmlns ...