我们今天来说说变量这种东西,变量,变量,那就是多变的一个量,Java中有变量,C#中也有变量,C++中也有变量,变量是在编程中不可缺失的内容,使用变量可以更容易地完成程序的编写。那这些变量有什么不同或者相同的地方?我们这次就来了解一下。
C#中的变量:
一个变量只不过是一个供程序操作的存储区的名字,在C#中。每一个变量都有一个特定的类型,类型决定了变量的内存大小和布局,范围内的值可以存储在内存中,可以对变量进行一系列操作。
在定义变量时,首先要确认在变量中存放的值的数据类型,然后再确定变量的内容,最后根据C#变量命名规则定义好变量名。
定义变量的语法:数据类型 + 变量名
例如:int intPageSize = 20;
赋值:
赋值的语法有两种,一种就是在定义变量的时候直接赋值,一种是先定义变量然后再赋值
int intPageSize = 20;
int intPageIndex;
在定义变量时需要注意变量中的值要与变量的数据类型相兼容。另外,在为变量赋值时也可以一次为多个变量赋值
C#中变量的使用规则:
1、变量的名以字母、下划线或@开头,后面可以跟字母、数字、下划线,而不能包含空格、标点符号、运算符等其它符号。
2、变量名不能与C#中的关键字名称相同。这些关键字我们在附录A中给出。
3、变量名不能与C#中的库函数名称相同
4、对大小写敏感
5、同一变量名不允许重复定义
命名法:
1、pascal命名法 命名规则:
当变量名和函式名称是由二个或二个以上单词连结在一起,而构成的唯一识别字时,用以增加变量和函式的可读性。
单词之间不以空格断开或连接号(-)、底线(_)连结,第一个单字首字母采用大写字母;后续单字的首字母亦用大写字母,例如:FirstName、LastName。每一个单词的首字母都采用大写字母的命名格式,被称为“Pascal命名法”
2、驼式命名法
骆驼式命名法就是当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;第二个单词的首字母大写或每一个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。
3、匈牙利命名法
匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的
Java中的变量
变量的作用域规定了变量所能使用的范围,只有在作用域范围内变量才能被使用。根据变量声明地点的不同,变量的作用域也不同。
根据作用域的不同,一般我们分为不同的类型:类变量、局部变量、方法参数变量及异常处理参数变量
类变量
类变量也称为成员变量,声明在类中,不属于任何一个方法,作用域是整个类。在Java中也分为类变量(使用Static修饰)和实例变量(不使用Static修饰)
局部变量
局部变量是指在方法或者方法代码块中定义的变量,其作用域是其所在的代码块
方法参数变量
作为方法参数声明的变量的作用域是整个方法。
异常处理参数变量
异常处理参数变量的作用域是在异常处理块中,该变量是将异常处理参数给异常块,与方法参数变量类似。
Java中的变量使用规则:
- Java中的变量需要先声明后使用
- 变量使用时,可以声明变量的同时进行初始化,也可以先声明后赋值。
- 变量中每次只能赋一个值,但可以修改多次。
- Mian方法中定义的变量必须先赋值然后才能输出
- 虽然语法中没有提示错误,但在实际开发中,变量名不建议使用中文,容易产生安全隐患,比如后期跨平台操作出现时出现乱码等等
C++中的变量
C++ 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。
C++变量命名规则:
变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C++ 是大小写敏感的。
C++ 也允许定义各种其他类型的变量,比如枚举、指针、数组、引用、数据结构、类等。
C++中的变量定义:
变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。变量定义指定一个数据类型,并包含了该类型的一个或多个变量的列表
type variable_list;
Type必须是一个有效的C++数据类型,可以是char、wchar_t、int、float、double、bool 或是任何用户自定义的对象,variable_list 可以由一个或多个标识符名称组成,多个标识符之间用逗号分隔。
Int i, d, k;
Char c, l;
在上面的例子中,声明并定义类变量i,d,k,这指示编译器创建类型为int的名为i,d,k的变量。变量可以在声明的时候被初始化(指定一个初始值)。初始化器由一个等号,后跟一个常量表达式组成:
extern int d=4,h=5;--声明
int d=4,h=5;---定义并初始化
不带初始化的定义:带有静态存储持续时间的变量会被隐式初始化为 NULL(所有字节的值都是 0),其他所有变量的初始值是未定义的
同样的,在函数声明时,提供一个函数名,而函数的实际定义则可以在任何地方进行。
总结:其实各个语法中变量的声明和定义都是不尽相同的。我呢也只是接触过Java中的变量和C#中的变量,有什么不对的地方还望各位大佬指出。(鞠躬)