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版) - 变量和表达式的更多相关文章

  1. 《c#入门经典第五版》简介及pdf电子书网盘下载地址(收藏)

    <C#入门经典(第5版)>全面讲解C# 2010和.net架构编程知识,为您编写卓越C# 2010程序奠定坚实基础.C#入门经典系列是屡获殊荣的C#名著和超级畅销书.最新版的<C#入 ...

  2. c语言入门经典(第5版)

    文章转载:http://mrcaoyc.blog.163.com/blog/static/23939201520159135915734 文件大小:126MB 文件格式:PDF    [点击下载] C ...

  3. C语言学习书籍推荐《C语言入门经典(第5版)》下载

    霍尔顿 (Ivor Horton) (作者), 杨浩 (译者) 下载地址:点我 C语言是每一位程序员都应该掌握的基础语言.C语言是微软.NET编程中使用的C#语言的基础:C语言是iPhone.iPad ...

  4. HTML与CSS入门经典(第9版)试读 附随书源码 pdf扫描版​

    HTML与CSS入门经典(第9版)是经典畅销图书<HTML与CSS入门经典>的最新版本,与过去的版本相同,本书采用直观.循序渐进的方法,为读者讲解使用HTML5与CSS3设计.创建并维护世 ...

  5. C语言学习书籍推荐《C语言入门经典(第4版)》

    霍顿 (Ivor Horton) (作者), 杨浩 (译者) <C语言入门经典(第4版)>的目标是使你在C语言程序设计方面由一位初学者成为一位称职的程序员.读者基本不需要具备任何编程知识, ...

  6. C#入门经典第五版之变量的更多内容编码题训练

    1. 编写一个控制台应用程序,它接收用户输入的一个字符串,将其中的字符以与输入相反的顺序输出. public string ReverseString(string str) { string rev ...

  7. C#入门经典第五版之变量与表达式编码题训练

    问题:编写一个控制台应用程序,要求用户输入4个int值,并显示它们的乘积.提示:可以使用Convert.ToDouble()命令,把用户在控制台上输入的数转换为double, 以此类推,转换成int命 ...

  8. [刷题]算法竞赛入门经典(第2版) 5-15/UVa12333 - Revenge of Fibonacci

    题意:在前100000个Fibonacci(以下简称F)数字里,能否在这100000个F里找出以某些数字作为开头的F.要求找出下标最小的.没找到输出-1. 代码:(Accepted,0.250s) / ...

  9. [刷题]算法竞赛入门经典(第2版) 5-9/UVa1596 - Bug Hunt

    //开学了,好烦啊啊啊啊啊!怎么开个学那么多破事情!!都俩星期了,终于有时间写出来一道题 题意:不难理解,不写了.这几天忙的心累. 代码:(Accepted, 0.010s) //UVa1596 - ...

随机推荐

  1. Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具

    前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...

  2. EntityFramework的多种记录日志方式,记录错误并分析执行时间过长原因(系列4)

    前言 Entity Framework 延伸系列目录 今天我们来聊聊EF的日志记录. 一个好的数据库操作记录不仅仅可以帮你记录用户的操作, 更应该可以帮助你获得效率低下的语句来帮你提高运行效率 废话不 ...

  3. java面向对象中的关键字

    1,super关键字 super:父类的意思 1. super.属性名 (调用父类的属性) 2. super.方法名 (调用父类的方法) 3. super([参数列表])(调用父类的构造方法) 注意: ...

  4. javascript排序

    利用array中的sort()排序 w3cfunction sortNumber(a,b) { return a - b } var arr = new Array(6) arr[0] = " ...

  5. 5.2 Array类型的方法汇总

    所有对象都具有toString(),toLocaleString(),valueOf()方法. 1.数组转化为字符串 toString(),toLocaleString() ,数组调用这些方法,则返回 ...

  6. swift开发新项目总结

    新项目用swift3.0开发,现在基本一个月,来总结一下遇到的问题及解决方案   1,在确定新项目用swift后,第一个考虑的问题是用纯swift呢?还是用swift跟OC混编      考虑到新项目 ...

  7. linux系统内存爆满的解决办法!~

    1.首先用free工具检查一下内存的使用情况: 这个是我的linux时时数据 Mem: 4046824 763620 3283204 9004 10284 61560  -/+buffers/cach ...

  8. Ubuntu手动设置DSL连接

    在安装完Ubuntu之后,发现图形界面的DSL连接不管用了,郁闷了好几天,想想移动每个月120个小时的流量岂不是白白浪费了.正当我想重返Windows系统的时候,却发现了手动设置连接DSL的好方法,感 ...

  9. 一步步学习javascript基础篇(8):细说事件

    终于学到事件了,不知道为何听到“事件”就有一种莫名的兴奋.可能是之前的那些知识点过于枯燥无味吧,说起事件感觉顿时高大上了.今天我们就来好好分析下这个高大上的东西. 可以说,如果没有事件我们的页面就只能 ...

  10. NodeJs 开发微信公众号(三)微信事件交互

    微信公众号有个规则,一旦开启了开发者模式,其他的常规功能就都必须通过接口调用完成.比如说自定义菜单功能,必须通过发送post请求的方式生成.本章就通过关注到取消关注的整个过程来谈一谈nodejs是怎么 ...