C#高级编程学习日记之C#基础之变量和预定义数据类型
2011-12-15 00:14
435 查看
题外话:今天看到有一个园主的博客里面说的学习之塔,探讨了如何提高学习效率的问题。很受启发,自己学习程序却没有坚持程序。却一直从事程序二线实施,现在想重新拾起那些厚厚的课本走上一线。时间就是金钱,如何快速的提高自己的水平呢?
阅读
培训
向先进者学习
辅导他人学习
日记与博客
培训现在还没有条件,辅导他人学习是不大靠普的,自己对程序理解的还很浅。阅读,总结阅读。最为适合自己的学习方式,坚持下去。
好了,一切从基础开始《C#高级编程》。第一章,.Net的体系结构。最基础,却也很高深。实话,现在读不懂。没事儿,老师曾教导我们说:看不懂,没有关系,先当小说看。然后回过头去看,理解起来就不那么痛苦了。个人总结:编程语言C#和.Net之间的关系。有点像微软的Office和操作系统 的关系,要想高效的办公,不仅需要office这个工具,还需要window系统。没有操作系统的支持,好用的地office工具总不能安转载裸机上吧。没有系统,再高效的office也没用。同样,没有.Net framework x.x编写再好的程序。却无用武之地,使用开发C#需要.net framework。
第二章有14个小结,前面的hello word就省略了。从变量开始说起,平时操作变量操作贯了。却没有总结过,变量,理解:变化的量,量:计量,数量,数的多少。数:整数,小数。(想到的就是这么多了),程序里面表示为(常见):int,float。单词:variable。声明:datatype identifier;例如:int i;这样就声明了一个装整数的变量:取名叫i,这个i就能装整数,可以装负整数和正整数。装多大(多小),看数据类型一会儿写出来,变量倒是声明出来了,有什么用呢?把数据保存到电脑,保存起来有什么用?处理数据,简单作用从电脑屏幕打印出来。Int I; i=10;Console.WriteLIne(i);i=11;Console.WriteLine(i);个人理解:找来一个容器(装整数的),在容器里面放10这个数,从Dos窗体输出容器里的东西。继续这时候把容器的东西变一下,变成11,然后再输出。当然还能换别的东西(负整数也可以)。需要注意的是:要对变量进行处理(比方:打印到屏幕)。有个前提,变量里有东西,才能处理。就声明一个变量,如果不对其赋值。就处理程序就要异常。为何?我们要处理容器里的东西,容器里面没有东西。处理还有意义吗?所以.Net禁止使用未赋值的变量。(结果是错误)
变量
变量的初始化。
概括起来:c#的变量在使用前,必须初始化。那.net又是如何判断的呢?两个方法
变量如果是类或结构中的字段,创建这些变量时其值就是默认。
方法的局部变量必须在代码中显示的初始化,之后才能再语句中使用变量。
.net是怎么做到的呢?不关心,如果不这么做,。Net会怎么样呢?会很生气,后果很严重。报错:使用了未初始化的变量。英语怎么说:忘了。。。。
var:网络上有一种说法:变数。这解释有些靠谱,变着戏法的识别数据。专业一点的说法:类型推断,数据类型的推断。就是根据数据类型自动推断,变着戏法的推断数据类型。且推断十分准确,不管什么类型都能推断出来。除非:这个类型没有被初始化。
言外之意:类型推断必须是对有了值得数据类型进行推断。没值,没法推断。
变量的作用域。(这个变量的使用范围)
在同一个花括号内有效。
在同一个花括号内不能声明两个相同类型,相同名字的变量。
例如:{int i=1;int i=2;},错误,也包括{int i=1;{int i=2;}},这样也不行。 但两个for循环不嵌套也能声明为同类型,同名的变量。两个for的花括号是独立的花括号。
与变量相对的就是常量
理解:定义并且马上赋值,且在其作用域内不能修改。例如:const int i=10;
不能把变量给常量,即使变量已有值。如:int i=1; const j=I;//这样是错误的
常量是静态的,但不必在常量声明中定义'static'
预定义数据类型
差别:
值类型:直接存储值,存放在内存的堆栈中。
引用类型:存储值得引用地址,存放在内存的托管堆中。
值类型包括:
引用类型包括
使用object类型的目的
使用object引用绑定任何子类型对象。
object类型执行许多一般用途的基本方法。
string对象保留在堆上,而不是堆栈里。因此,当把一个字符串变量赋值给另一个字符串时。会得到内存中同一个字符串的两个引用,但又与引用类型有些区别,那就是修改其中一个字符串,就会创建一个全新的string对象。而另一个字符串没有改变
理解起来有些困难就直接操下来,以后再慢慢理解。
阅读
培训
向先进者学习
辅导他人学习
日记与博客
培训现在还没有条件,辅导他人学习是不大靠普的,自己对程序理解的还很浅。阅读,总结阅读。最为适合自己的学习方式,坚持下去。
好了,一切从基础开始《C#高级编程》。第一章,.Net的体系结构。最基础,却也很高深。实话,现在读不懂。没事儿,老师曾教导我们说:看不懂,没有关系,先当小说看。然后回过头去看,理解起来就不那么痛苦了。个人总结:编程语言C#和.Net之间的关系。有点像微软的Office和操作系统 的关系,要想高效的办公,不仅需要office这个工具,还需要window系统。没有操作系统的支持,好用的地office工具总不能安转载裸机上吧。没有系统,再高效的office也没用。同样,没有.Net framework x.x编写再好的程序。却无用武之地,使用开发C#需要.net framework。
第二章有14个小结,前面的hello word就省略了。从变量开始说起,平时操作变量操作贯了。却没有总结过,变量,理解:变化的量,量:计量,数量,数的多少。数:整数,小数。(想到的就是这么多了),程序里面表示为(常见):int,float。单词:variable。声明:datatype identifier;例如:int i;这样就声明了一个装整数的变量:取名叫i,这个i就能装整数,可以装负整数和正整数。装多大(多小),看数据类型一会儿写出来,变量倒是声明出来了,有什么用呢?把数据保存到电脑,保存起来有什么用?处理数据,简单作用从电脑屏幕打印出来。Int I; i=10;Console.WriteLIne(i);i=11;Console.WriteLine(i);个人理解:找来一个容器(装整数的),在容器里面放10这个数,从Dos窗体输出容器里的东西。继续这时候把容器的东西变一下,变成11,然后再输出。当然还能换别的东西(负整数也可以)。需要注意的是:要对变量进行处理(比方:打印到屏幕)。有个前提,变量里有东西,才能处理。就声明一个变量,如果不对其赋值。就处理程序就要异常。为何?我们要处理容器里的东西,容器里面没有东西。处理还有意义吗?所以.Net禁止使用未赋值的变量。(结果是错误)
变量
变量的初始化。概括起来:c#的变量在使用前,必须初始化。那.net又是如何判断的呢?两个方法
变量如果是类或结构中的字段,创建这些变量时其值就是默认。
方法的局部变量必须在代码中显示的初始化,之后才能再语句中使用变量。
.net是怎么做到的呢?不关心,如果不这么做,。Net会怎么样呢?会很生气,后果很严重。报错:使用了未初始化的变量。英语怎么说:忘了。。。。
var:网络上有一种说法:变数。这解释有些靠谱,变着戏法的识别数据。专业一点的说法:类型推断,数据类型的推断。就是根据数据类型自动推断,变着戏法的推断数据类型。且推断十分准确,不管什么类型都能推断出来。除非:这个类型没有被初始化。
言外之意:类型推断必须是对有了值得数据类型进行推断。没值,没法推断。
变量的作用域。(这个变量的使用范围)
在同一个花括号内有效。
在同一个花括号内不能声明两个相同类型,相同名字的变量。
例如:{int i=1;int i=2;},错误,也包括{int i=1;{int i=2;}},这样也不行。 但两个for循环不嵌套也能声明为同类型,同名的变量。两个for的花括号是独立的花括号。
与变量相对的就是常量
理解:定义并且马上赋值,且在其作用域内不能修改。例如:const int i=10;
不能把变量给常量,即使变量已有值。如:int i=1; const j=I;//这样是错误的
常量是静态的,但不必在常量声明中定义'static'
预定义数据类型
差别:
值类型:直接存储值,存放在内存的堆栈中。
引用类型:存储值得引用地址,存放在内存的托管堆中。
值类型包括:
类型 | 名称 | CTS类型 | 说明 | 范围 | |
类型 | 类型 | ||||
整数 | 有符号 | sbyte | System.SByte | 1个字节的有符号整数。1个字节有8位,2的8次方-1就是它的最大值 | SByte.MaxValue| SByte.MinValue |
short | System.Int16 | 2个字节的有符号 | | ||
int | System.Int32 | 4个字节的有符号 | | ||
long | System.Int64 | 8个字节的有符号,默认声明是:int类型,需要显示声明:如long longNum=123L; | | ||
无符号 | byte | System.Byte | 1个字节的无符号 | | |
ushort | System.Uint16 | 2个字节的无符号 | | ||
uint | System.Uint32 | 4个字节的无符号,默认声明是:int类型,需要显示声明:如uint longNum=123U; | | ||
ulong | System.UInt64 | 8个字节的无符号, 默认声明是:int类型,需要显示声明:如ulong longNum=123UL; | | ||
小数 | 单精度 | float | System.Single | 4个字节单精度,最长小数点7位。默认声明:double类型,需要显示声明:如:float f=123.123F; | |
双精度 | double | System.Double | 8个字节双精度,最长小数点 15|16位 | | |
多精度 | decimal | System.Decimal | 16个字节的多精度,最长小数点 128位,同要需要指定类型,decimal d=25.25365M; | | |
字符 | char | System.Char | 2个字节的unicode字符 | | |
布尔 | bool | System.Boolean | true或false | |
引用类型包括
类型 | 名称 | CTS类型 | 说明 |
对象类型 | object | System.Object | |
字符串 | string | System.String | Unicode字符串 |
使用object引用绑定任何子类型对象。
object类型执行许多一般用途的基本方法。
string对象保留在堆上,而不是堆栈里。因此,当把一个字符串变量赋值给另一个字符串时。会得到内存中同一个字符串的两个引用,但又与引用类型有些区别,那就是修改其中一个字符串,就会创建一个全新的string对象。而另一个字符串没有改变
理解起来有些困难就直接操下来,以后再慢慢理解。
相关文章推荐
- 教学思路C#之入门三 定义变量及常用数据类型
- 红皮书c#高级编程(第6版)_第2章_c#基础_预定义数据类型
- 教学思路C#之入门三 定义变量及常用数据类型
- js基础--变量、数据类型、循环、判断、函数定义
- c#学习笔记一:变量、常量、预定义数据类型
- JavaScript中基础变量和数据类型的定义
- C#基础-数据类型(常量和变量)
- 黑马程序员_C#基础之变量、数据类型、运算符
- java语言基础(7)——数据类型、变量的定义和使用
- javaee基础(变量定义与使用,数据类型及运算符)
- Python基础:数据类型、变量定义、输入/输出、逻辑、函数/模块(导入)/类、异常处理
- C语言基础之变量的命名规则、定义常量、C的数据类型
- 黑马程序员--.NET笔记--C#基础:变量、转义符、数据类型
- 黑马程序员--C#基础(二)-->关键字、数据类型、变量、常量
- Java语言基础{Java_se(02)}-字面量和常量-变量的基本定义和使用-Java表达式-数据类型和分类-基本数据类型的转换-算数运算符-赋值运算符-比较运算符-三元运算符-逻辑运算符
- JAVA 基础语法(一)——变量以及基本数据类型
- java基础(一)——变量、数据类型、运算符
- 17.2015.08.04第十八节课 C#2 (数值类型及调用、引用类型及调用、装拆箱、常量、变量、数据类型转换、算术运算符、赋值运算符、关系运算符、逻辑运算符、字符串的常用方法)
- javascript学习笔记(一):基础、输出、注释、引用、变量、数据类型
- C#基础系列(5)-- 第一部分 基础数据类型与操作 -- 反码操作符(5)