精华内容
下载资源
问答
  • Java 什么变量名合法的呢?

    万次阅读 2019-03-14 22:55:29
    Java语言规定标识符由字母,下划线(_),美元符($)和数字组成,且第一个字符不能是数字。 而上面的句子中的 字母 ,不要想当然 字母:包括大、小写字母,汉字等各种...但是合法并不一定适合使用,英文是最推荐使用的

    首先:
    Java语言规定标识符由字母,下划线(_),美元符($)和数字组成,且第一个字符不能是数字。

    而上面的句子中的 字母 ,不要想当然

    字母:包括大、小写字母,汉字等各种语言中的字符

    而且java语言使用的是Unicode字符集,它包括65 535个字符,适用于多种人类自然语言。

    猜一下以下6个变量名哪些是合法的:

    1. 2variable
    2. variable2
    3. _3_
    4. $anothervar
    5. $_¥
    6. 中国

    答案是除了第一个都是合法变量名

    public class Demo{
    	public static void main(String[] args){
    		int variable2;
    		int _3_;
    		int $anothervar;
    		int $_¥; //¥也是字母(中文中的字符)
    		int 中国; //也是字母(中文中的字符)
    	}
    } 
    

    编译通过,所以说明这五个变量都是合法的
    在这里插入图片描述

    但是合法并不一定适合使用,第二种是最推荐使用的

    1. 命名基本上是不会使用中文的
    2. 拼音也是不推荐的
    3. $,我们最好不要使用,(一般内部类的命名是由系统决定的,而且内部类的命名中使用到了$
    4. _一般用在一些特殊的变量上,用于标识其特殊性
    展开全文
  • js中定义变量名有哪些规范

    万次阅读 2016-10-11 14:52:34
    b、变量名长度不能超过255个字符。 c、变量名中不允许使用空格,首个字不能为数字。 d、不用使用脚本语言中保留的关键字及保留符号作为变量名。 e、变量名区分大小写。(javascript是区分大小写的语言) 举例: a:以...
    学习js的朋友一定要知道和注意,其实每种语言都有它的命名规则。下面总结了几条:

    a、变量命名必须以字母或是下标符号”_”或者”$”为开头。

    b、变量名长度不能超过255个字符。

    c、变量名中不允许使用空格,首个字不能为数字

    d、不用使用脚本语言中保留的关键字及保留符号作为变量名。

    e、变量名区分大小写。(javascript是区分大小写的语言)

    举例:
    a:以字母或下划线_$开头
    合法:oa、ob、AA、$aaa、_fag
    不合法:oa*bh&bhh#jj
    b:长度不超过255字符
    合法:oa、oaaaaaaaaaa、o.........aaaaaaa(......为省略,但是总长不超过255字符)
    不合法:o.........aaaaaaa(......为省略,但是总长超过255字符)
    c:不能使用空格
    合法:oa、o_a、o_A
    不合法:o aoa aoA_h h b
    d:不能使用关键字及保留字
    不合法:classstylehtml
    e:区分大小写
    oBtn与obtn不同、oa与oA不同

    补充1:变量名前缀

    Array数组:a开头

    Float浮点数l开头

    Funciton函数:f开头

    Integer(int)整形:n开头

    Object对象:o开头

    Regular Expression正则:r开头

    String 字符串:s开头

    补充2:变量名写法
    1、匈牙利命名法:类型前缀+首字母大写

    通过在变量名前面添加相应小写字母的符号标示作为前缀,标示出变量的作用域,类型等,前缀后面是一个或多个单词组合,单词描述了变量的用途,如i表示的是整数,s表示的是字符串。示例:
    var sUserName = 'css8';
    var iCount = 0;
    比如下面的登录框类名是user_login。

    2、骆驼式/驼峰命名法

    混合使用大小写字母来构成变量的名称。示例:
    var printLoadTemplates;//名称首字母小写,其他每个单词的首字母大写
    var print_load_templates;//下划线法,每个单词用一个下划线标记

    3、帕斯卡命名法
    和驼峰命名法类似,但是,驼峰第一个单词首字母小写,而帕斯卡命名法第一个单词首字母也大写。
    var PrintLoadTemplates;//第一个单词首字母也大写


    展开全文
  • 变量名和符号表

    千次阅读 2015-07-26 02:16:17
    (一)变量名 变量名是给编译器看的,编译器根据变量是局部还是全局分配内存地址或栈空间,所谓的变量名在内存中不存在,操作时转换成地址数存放在寄存器中了。其实可以理解为是符号表起到了连接作用。 ...
    (一)变量名
     
    
    变量名是给编译器看的,编译器根据变量是局部还是全局分配内存地址或栈空间,所谓的变量名在内存中不存在,操作时转换成地址数存放在寄存器中了。其实可以理解为是符号表起到了连接作用。

    (二)符号表

     在编译程序中,符号表是用来存放源程序中出现的有关名字的属性信息,这些信息集中反映了名字的语义特征属性。符号表在编译全过程的地位和作用非常重要,是进行上下文合法性检查和语义处理及代码生成的依据。符号表总体结构的设计和实现是与源语言的复杂性(包括词法结构、语法结构的复杂性)有关,还与对于编译系统在时间效率和空间效率方面的要求有关。为此在本章中应对以下几个重点、难点问题作认真的学习,并切实掌握其中的内容。

    一、掌握符号的类型、存储类别和作用域及可视性的概念

    (1)符号的类型

        标识符中除过程标识符之外,函数和变量标识符都具有数据类型属性。对于函数的数据类型指的是该函数值的数据类型。基本数据类型有整型、实型、字符型、逻辑型(布尔型)及位组型等,符号的类型属性是在语言程序中该符号的定义中得到。变量符号的类型属性决定了该变量的数据在存储空间的存储格式,还决定了在该变量上可以施加的运算操作。

    (2)符号的存储类别

        多数语言对变量的存储类别定义采用二种方式。
        一种是用关键字指定。例如在C语言中,用Static定义是属于文件的静态存储变量或属于函数内部的静态存储变量,用regist定义使用寄存器存储的变量。
        另一种方式是根据定义变量说明在程序中的位置来决定。例如在C语言中,在函数体外缺省存储类关键字所定义的变量是外部变量,即程序的公共存储变量,而在函数体内缺省存储类关键字所定义的变量是内部变量,即属于该函数所独有的私有存储变量(通常是动态分配的存储变量,详细情况参阅存储空间的组织管理)。
        符号表中设置一个符号存储类别域,存放该符号的存储类别。区别符号存储类型的属性是编译过程语义处理、检查和存储分配的重要依据。符号的存储类别还决定了符号变量的作用域、可视性和它的生命周期等问题。

    (3)符号的作用域及可视性

        一个符号变量在程序中起作用的范围,称谓它的作用域。一般来说,定义该符号的位置及存储类关键字决定了该符号的作用域。例如,C语言中一个外部变量的作用域是整个程序,因此一个外部变量符号的定义在整个程序中只能出现一次,同名变量的说明可以出现多次那是为了使用和编译的方便。
        为确立符号的作用域和可视性。符号表属性中除了需要符号的存储类别之外还需要表示该符号在程序结构上被定义的层次。符号表中设置一个表达符号所在层次的属性域,存放该符号的定义层次。无论是作为函数形参的定义也好或作为分程序中的局部定义也好,都可统一地用定义层次来区分。一般来说,若把外部变量视为0层的话,则函数内部作为第1层,依次向内嵌套定义的分程序分别为2,3,…层。在C语言程序中函数之间是并列定义的,因此每个函数内部都定义为第一层,而函数内的分程序也可以是并列定义的,对于并列定义的分程序当然具有相同的层次号。

    二、掌握符号表总体组织的选择原则

        第一种:把属性种类完全相同的那些符号组织在一起,构造出表项是分别为等长的多个符号表。
        这样组织的最大优点是每个符号表的属性个数和结构完全相同。则表项是等长的,并且表项中的每个属性栏都是有效的,对于单个符号表示来说,这样使得管理方便一致,空间效率高。但这样组织的主要缺点是一个编译程序将同时管理若干个符号表,增加了总体管理的工作量和复杂度。而且对各类符号共同属性的管理必须设置重复的运行机制。使得符号表的管理显得臃肿。
        第二种:把所有语言中的符号都组织在一张符号表中。组成一张包括了所有属性的庞大的符号表。
        这样组织方式的最大优点是总体管理非常集中单一,且不同种类符号的共同属性可一致地管理和处理。这样组织所带来的缺点是,由于属性的不同,为完整表达各类符号的全部属性必将出现不等长的表项,以及表项中属性位置的交错重叠的复杂情况,这就极大地增加了符号表管理的复杂度。为使表项等长且实现属性位置的唯一性,可以把所有符号的可能属性作为符号表项属性。这种组织方法可能有助于降低符号表管理复杂性,但对某个具体符号,可能增加了无用的属性空间,从而增加了空间开销。
        第三种:折衷方式是根据符号属性相似程度分类组织成若干张表,每张表中记录的符号都有比较多的相同属性。这种折衷的组织方式在管理复杂性及时空效率方面都取得折衷的效果,并且对复杂性和效率的取舍可由设计者根据自己的经验和要求及目标系统的客观环境和需求进行选择和调整。

    三、掌握分程序结构的符号表组织

        对于具有分程序型结构的语言程序,不同层次分程序中定义的标识符号具有不同的作用域和不同的可视性规则。通常对于具有分程序结构的语言可用两种方式组织它们的符号表:一是对每个分程序建立一个独立的分表结构的符号表;一是把各分程序符号组织在一张单表结构的符号表中。例如,图9.1给出一个分程序结构的程序示例。 

    {//第一层分程序
     int a;
         float b,d;
                 {  //第二层分程序
          int c;
            float a;
                    { //第三层分程序
              int d;
                float c;
                        { //第四层分程序
                    float d;
                  
                    a=b+c+d;
                  
          }
     }
    }
    }

    图9.1  分程序结构的程序示例

    (1)分表结构
        分表结构的组织管理,其基本思想是每当编译程序扫描到一个分程序结构开始时,为该分程序建立一张符号表,在该分程序中定义的标识符,都被登录在该符号表中。而当编译程序扫描到一个分程序的结束时,编译程序释放为该分程序所建立的符号表。图9.2给出了与上述分程序结构的程序示例相应的分表结构组织。
        根据分程序作用域和可视规则,编译程序扫描到某个分程序时,符号的登录是在为该分程序所建立的符号表中进行,而符号的查找是首先在该分程序符号表中进行;若没有查到,再根据分程序的层次结构,逐层向外地依次查找各层符号表。一直到查到为止。若所有符号表都已查完仍未找到,则表示有词法错误。

    图9.2

    (2)单表结构

        单表结构的组织管理,其基本思想是所有分程序中定义的标识符都集中在单张符号表中。为了实现分程序构造中标识符的作用域和可视性规则的要求。在这种单表组织的符号表中,由于分层的分程序结构,因此需要强调三个主要的特定要求。
        首先,为了标志一个符号所属的分程序层次,在符号表中可设立一个属性域用来登录符号所在分程序的层次。
        其次,在编译程序扫描进入一个分程序时,表示分程序层次的状态量要增加一层,使进入分程序后定义的标识符登录符号表时,有相应的层次量作为层次属性登录。
        最后,对于具有分程序结构的源程序,在不同的分程序中(指嵌套的分程序中)允许定义重名的标识符。如果有重名标识符,可用下推链来组织。图9.3给出了与上述分程序结构的程序示例相应的单表结构组织。

    图9.3

    展开全文
  • Java中变量名的命名规范

    万次阅读 2019-06-22 11:51:13
    在java中既要遵守变量的命名法则(合法法则),还要遵守约定俗成的规范(驼峰是命名法) Java变量的基本命名法则:...1、变量名必须为有意义的单词 2、变量名如果只有一个单词,则小写 3、如果有2个以及多个单词,则...

    在java中既要遵守变量的命名法则(合法法则),还要遵守约定俗成的规范(驼峰是命名法)
    Java变量的基本命名法则:
    1、以下划线、字母、美元符开头。
    2、后面跟下划线、字母、美元符以及数字。
    3、 没有长度限制(但也不能太长!)。
    4、对大小写敏感(意思是大小写代表不同含义)

    Java驼峰式命名法:
    1、变量名必须为有意义的单词
    2、变量名如果只有一个单词,则小写
    3、如果有2个以及多个单词,则从第二个单词开始首字母大写
    4
    1、合法的变量名:$ad 、abc 、ajhs01
    2、符合驼峰式命名法的变量名:play 、 $play01 、 playGame
    关系:合法的变量名不一定遵守驼峰式命名法的规范,但符合驼峰是命名法的变量名一定合法。
    在java变量命名中不仅变量名要合法而且也要遵守驼峰式命名法。

    展开全文
  • c语言变量名规则

    万次阅读 2012-06-01 09:10:42
    c语言变量名规则 在程序设计中,变量名、函数名、数组名等统称为标识 符。简单地说,标识符就是一个名字。除库函数的函数名由系统定义外,其余都由用户自定义。C语言规定,标识符只能由字母(a~z,A~Z)...
  • 教学难点: 字符数组名与字符串指针变量名的区别。 授课内容: 一、字符串指针变量的说明和使用 字符串指针变量的定义说明与指向字符变量的指针变量说明是相同的。只能按对指针变量的赋值不同来区别。 ...
  • 变量: 定义:变量是关联一个对象的标识符(符号) ...不能使用python的关键字说明: python 变量名区分大小写合法变量名: a a1 b bbb _aaa __ABCD var get_value AbCd 等不合法变量名: 1a 123 ...
  • 神秘的变量名特性

    千次阅读 2010-07-20 16:32:00
    在PHP语言中,变量都是保存在哈希表中,称为变量符号表,其中变量名为哈希表的键,变量名对应的容器zval的指针为哈希表中的值。所有全局变量放在一张主符号表中(也就是数组$GLOBALS对应的哈希表)。PHP语言有个特性,...
  • Java属性命名规范! 一般情况下。Java的属性变量名都已小写字母开头,如:userName,showMessage等,但也存在着特殊情况,...要么全部小写”的要求,如:IDCode、ICCard、idCode等属性变量名合法的,而iC、iCcard...
  • Java属性命名规范! 一般情况下。Java的属性变量名都已小写字母开头,如:userName,showMessage等,但也存在着特殊情况,考虑到...要么全部小写”的要求,如:IDCode、ICCard、idCode等属性变量名合法的,而iC、iCcar
  • 一、C语言变量名的命名规则:(可以字母,数字,下划线混合使用) 1. 只能以字母或下划线开始;2. 不能以数字开始;3. 一般小写;4. 关键字不允许用(eg:int float=2//error float 为保留字不允许用); 二、函数...
  • Java属性命名规范!...要么全部小写”的要求,如:IDCode、ICCard、idCode等属性变量名合法的,而iC、iCcard、iDCode等属性变量名是非法的。正是由于这个原因造成了下面这种情况:  举
  • Shell 变量

    千次阅读 2016-08-29 21:17:36
    同时,变量名的命名须遵循如下规则: 首个字符必须为字母(a-z,A-Z)。 中间不能有空格,可以使用下划线(_)。 不能使用标点符号。 不能使用bash里的关键字(可用help命令查看保留关键字)。 除了显式地直接赋值,...
  • 字符数组名与字符串指针变量名的区别。 授课内容: 一、字符串指针变量的说明和使用 字符串指针变量的定义说明与指向字符变量的指针变量说明是相同的。只能按对指针变量的赋值不同来区别。 对...
  • MATLAB变量

    千次阅读 2017-08-15 14:32:22
    序言在**Matlab**中,变量名由A~Z、a~z、数字和下划线组成,且变量的第一个字符必须是字母. 尽管变量名可以是任意长度, 但是Matlab只识别名称的前N=namelengthmax个字符, 这里namelengthmax函数给出Matlab所能考虑的...
  • Python 变量类型

    千次阅读 2016-09-09 22:43:18
    概述变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储...
  • SQL 变量

    千次阅读 2019-05-08 19:24:15
    变量名是一个合法的标识符。T-SQL语言包括两种形式的变量:用户自己定义的局部变量和系统提供的全局变量。 常规标识符 以ASCII字母、Unicode字母、下划线(_)、@或#开头,后续可跟一个或若干个ASCII字符、Unicode...
  • shell变量

    千次阅读 2015-03-09 19:10:48
    在shell中有3种变量:系统变量,环境变量和用户变量,其中系统变量在对参数判断和命令返回值判断时会使用,环境...变量名  含义 $#  命令行参数的个数 $n  $1表示第一个参数,$2表示第二个参数,以此类推
  • 8.1 MATLAB 变量

    千次阅读 2016-11-30 19:04:14
    此时编译器根据变量的数据类型分配一定大小的内存空间,程序就可以通过变量名来访问对应的内存了。 变量的命名 在MATLAB中,变量不需要预先声明就可以进行赋值。变量的命名遵循以下规则: (1)变量名和函数名对...
  • R语言 变量

    千次阅读 2018-03-26 10:26:34
    变量为我们提供了我们的程序可以... 变量名以字母或不以数字后跟的点开头。 变量名 合法性 原因 var_name2. 有效 有字母,数字,点和下划线 VAR_NAME% 无效 有字符’%’。只有点(.)和下划线允...
  • 在Java中,我们需要标识代码的很多元素,包括类名、方法、字段、变量、包等等。我们选择的那个名称就称为标识符,一个正确的标识符需要遵循以下规则: 1. 标识符可以由字母、数字、下划线(_)、美元符($)组成,...
  • lua语法-变量的定义与使用

    千次阅读 2018-03-04 14:45:43
    全局变量:直接定义变量名,并赋值 例如,a = 1; 注:用;结束当前语句(可选,也可以不使用分号) 局部变量:使用local关键字进行定义 例如,local b = 2; 变量命名规则 遵循C/C++语言中的变量命名规则 ...
  • 变量与常量

    2017-09-11 18:46:22
    标识符可以简单的理解为一个名字,用来标识符类名、变量名、方法名、数组名、文件名的有效字符序列。Java语言规定标识符由任意顺序的字母、下划线(_)、美元符号($)和数字组成,并且第一个字符不
  • C_C++变量命名规则

    千次阅读 2019-02-15 10:50:11
    1、 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成。 2、 第一个字母必须是字母或者下划线开头。 3、 不能使用C++关键字来命名变量,以免冲突。 4、 变量名区分大小写。   变量命名规则...
  • C语言各种变量存储方式

    千次阅读 2015-03-20 15:11:49
    特点:不同块中可以有同名变量名,代表不同的变量,互不干扰;函数形参也是局部变量。 2.全局变量: 在函数之外定义的变量,从定义处开始到文件结束均有效,当然可以使用extern修饰将其范围扩大到其他文件。 特点...
  • 变量赋值

    千次阅读 2019-04-03 00:12:34
    变量名以下划线作为开头是可以接受的 。这也反应了Tcl的特征“一切都是字符串” : Tcl对命令的求值过程分为两步:解析和执行 。在解析阶段,Tcl解释器运用规则把命令分解为一个个独立的单词,同时进行必要的...
  • 全局变量和局部变量详解

    千次阅读 2014-09-03 22:52:48
    1.局部变量 (1)局部变量也称为内部变量,他是在函数体内作定义说明的,其作用域仅限于函数内部,离开该函数后再使用这种变量是非法的。 如:func () { int x; 局部变量x的作用域 在函数体内  //...... ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 86,154
精华内容 34,461
关键字:

以下合法的变量名