变量
来源:互联网 发布:百年经典分析软件 编辑:程序博客网 时间:2024/05/16 16:49
变量的定义
- 语法:datatype identifier;
- 如果一条语句中声明和初始化了多个变量,那么它们应具有相同的数据类型;
变量的初始化
- 变量在使用前必须初始化;
- 变量是类或结构中的字段,如果没有显式初始化,创建时,其默认值是0;
- 方法的局部变量,必须在代码中显式初始化,之后才能使用;
- 在创建一个对象时,没有对该对象创建一个引用,对该对象调用方法和属性时,将会发生错误;
类型推导
- 类型推导使用var关键字, 编译器会根据变量的初始化值“推断”变量的类型;
- 需要遵循的规则:
- 变量必须初始化,否则编译器就没有推断变量类型的依据;
- 初始化器不能为空;
- 初始化器必须放在表达式中;
- 不能把初始化器设置为一个对象,除非在初始化器中创建了一个新对象;
变量的作用域
- 类的成员变量的作用域,取决于类的对象的作用域;
- 局部变量的作用域,在右花括号之前的作用域内;
- for, while语句中声明的局部变量存在于该循环体内;
const 常量
- 在变量前加上const关键字就能将该变量指定为常量;
- 常量有如下特点:
- 常量必须声明时初始化;
- 常量的值必须能在编译时用于计算;不能用一个变量的值来初始始化常量;
- 常量总是静态的,不需要加上static关键字;
- 使用常量的好处:
- 易于读取的名字代替较难读取的数字或字符串,见名思义;
- 使程序易于修改;
- 更容易避免程序出错;
预定义数据类型
值类型:
存储在堆栈中;
在赋值是实行的是值拷贝;
- 整形:
- byte: 8bit无符号整数
- ushort: 16bit无符号整数
- uint: 32bit无符号整数
- ulong: 64bit无符号整数
- sbyte: 8bit有符号整数
- short: 16bit有符号整数
- int: 64bit有符号整数
- long : 64bit有符号整数
- 浮点类型:
- float: 32bit单精度浮点型 7位
- double: 64bit双精度浮点型 15/16位
- decimal类型
- decimal: 128bit 高精度十进制数表示法 28位 在数字后面加上m/M;
- bool类型
- bool : true/false;
- 字符类型
- char : 16bit(Unicode)字符
引用类型:
存储在托管堆上
- object类型:所有类型的最终父类型,所有的内置类型和用户定义的类型都是由它派生而来;
- 用object的引用绑定任何子类型的对象;
- object类型执行许多一般用途的基本方法,如Equals(), GetHashCode(), GeyType(), ToString();
- string类型
- 可以在字符串字面量的前面加上字符 @;在 这个字符后的所有字符都看作是其原来的含义 —— 它们不会解释为转义字符 ;
0 0
- 变量
- 变量
- 变量
- 变量
- 变量
- 变量
- 变量
- 变量
- 变量
- 变量
- 变量
- 变量
- 变量
- 变量
- 变量
- 变量
- 变量
- 变量
- java实训感想
- 浅谈LLDB调试器
- LSM树由来、设计思想以及应用到HBase的索引
- TCP交互数据流
- js的事件流模型
- 变量
- nefu487最长递增子序列问题【网络流24题】超详细讲解+模板
- webkitAnimationEnd事件与webkitTransitionEnd事件
- 欢迎使用CSDN-markdown编辑器
- [Qt] fontawesome图标
- MMD_3a_CommunitiesInSN
- c++设计模式-----中介者模式Mediator
- HDU5478取模恒等式
- Android 教程:如何刷入通讯基带