精华内容
下载资源
问答
  • 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. _一般用在一些特殊的变量上,用于标识其特殊性
    展开全文
  • python_字符串练习2:变量名是否合法

    千次阅读 2019-02-02 13:53:59
    变量名是否合法: 1.变量名可以由字母,数字或者下划线组成 2.变量名只能以字母或者下划线开头 s = ‘hello@’ 1.判断变量名的第一个元素是否为字母或者下划线 s[0] 2.如果第一个元素符合条件,判断除了第一个元素...

    题目要求:

    变量名是否合法:
    1.变量名可以由字母,数字或者下划线组成
    2.变量名只能以字母或者下划线开头
    s = ‘hello@’
    1.判断变量名的第一个元素是否为字母或者下划线 s[0]
    2.如果第一个元素符合条件,判断除了第一个元素之外的其他元素s[1:]

    思路:

    1.变量名的第一个字符是否为字母或下划线
    2.如果是,继续判断 --> 4
    3.如果不是,报错
    4.依次判断除了第一个字符之外的其他字符
    5.判断是否为字母数字或者下划线

    脚本内容:

    while True:
        s = input('变量名:')
        if s == 'exit':
            print('欢迎下次使用')
            break
        if s[0].isalpha() or s[0] == '_':
            for i in s[1:]:
                if not(i.isalnum() or i == '_'):
                    print('%s变量名不合法' %s)
                    break
            else:
                print('%s变量名合法' %s)
        else:
            print('%s变量名不合法' %s)
    

    运行结果:

    在这里插入图片描述

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

    千次阅读 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变量命名中不仅变量名要合法而且也要遵守驼峰式命名法。

    展开全文
  • 以下关键字不能声明为变量名 ____name也可以作为变量,任意下划线开头可以作为变量 建议变量的写法gf_of_oldboy,老男孩的女朋友 或者GfOfOldboy 如果你想表示一个常量,那么所有的变量英文字母用大写来...
  • c语言变量名规则

    万次阅读 2012-06-01 09:10:42
    c语言变量名规则 在程序设计中,变量名、函数名、数组名等统称为标识 符。简单地说,标识符就是一个名字。除库函数的函数名由系统定义外,其余都由用户自定义。C语言规定,标识符只能由字母(a~z,A~Z)...
  • 教学难点: 字符数组名与字符串指针变量名的区别。 授课内容: 一、字符串指针变量的说明和使用 字符串指针变量的定义说明与指向字符变量的指针变量说明是相同的。只能按对指针变量的赋值不同来区别。 ...
  • Python中变量名里面的下划线

    千次阅读 2018-06-10 20:49:00
    1 变量名前后都有两个下划线(__X__),表示是系统级变量; 2 变量名前只有一个下划线(_X),表示该变量不是由from module import *导入进来的; 3 变量名前有两个下划线(__X),是类内部的变量; 4 变量名本是就是一个...
  • 变量: 定义:变量是关联一个对象的标识符(符号) ...不能使用python的关键字说明: python 变量名区分大小写合法变量名: a a1 b bbb _aaa __ABCD var get_value AbCd 等不合法变量名: 1a 123 ...
  • Java属性命名规范! 一般情况下。Java的属性变量名都已小写字母开头,如:userName,showMessage等,但也存在着特殊情况,...要么全部小写”的要求,如:IDCode、ICCard、idCode等属性变量名合法的,而iC、iCcard...
  • 神秘的变量名特性

    千次阅读 2010-07-20 16:32:00
    在PHP语言中,变量都是保存在哈希表中,称为变量符号表,其中变量名为哈希表的键,变量名对应的容器zval的指针为哈希表中的值。所有全局变量放在一张主符号表中(也就是数组$GLOBALS对应的哈希表)。PHP语言有个特性,...
  • Java属性命名规范! 一般情况下。Java的属性变量名都已小写字母开头,如:userName,showMessage等,但也存在着特殊情况,考虑到...要么全部小写”的要求,如:IDCode、ICCard、idCode等属性变量名合法的,而iC、iCcar
  • 一、C语言变量名的命名规则:(可以字母,数字,下划线混合使用) 1. 只能以字母或下划线开始;2. 不能以数字开始;3. 一般小写;4. 关键字不允许用(eg:int float=2//error float 为保留字不允许用); 二、函数...
  • 【单选题】关于函数局部变量和全局变量的使用规则,以下选项中描述错误的是【单选题】Jupyter Notebook不具备的功能是【单选题】以下选项中,输出结果为False的是【单选题】在怠速工况下测量进气管真空度,若真空表读数...
  • Java属性命名规范!...要么全部小写”的要求,如:IDCode、ICCard、idCode等属性变量名合法的,而iC、iCcard、iDCode等属性变量名是非法的。正是由于这个原因造成了下面这种情况:  举
  • JS中变量名作为if条件的真/假

    千次阅读 2016-06-29 11:44:46
    原文地址:... ...在 JavaScript 里,可以直接将变量名放在if后面的括号里,如 [javascript] view plain copy var a;//甚至不定义    if (a
  • java开发定义一个好的变量名

    千次阅读 2016-08-01 11:20:20
    如何定义一个好的变量名 在日常编程中最烦恼的就是给变量取名,一段好代码,既要能完美地运行,还要能较容易地维护。这就意味着需要让日后维护代码的人能很快地看懂你的代码,而且,在团队合作中,其他开发者也...
  • 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...
  • R语言 变量

    千次阅读 2018-03-26 10:26:34
    变量为我们提供了我们的程序可以... 变量名以字母或不以数字后跟的点开头。 变量名 合法性 原因 var_name2. 有效 有字母,数字,点和下划线 VAR_NAME% 无效 有字符’%’。只有点(.)和下划线允...
  • shell变量

    千次阅读 2015-03-09 19:10:48
    在shell中有3种变量:系统变量,环境变量和用户变量,其中系统变量在对参数判断和命令返回值判断时会使用,环境...变量名  含义 $#  命令行参数的个数 $n  $1表示第一个参数,$2表示第二个参数,以此类推
  • 【单选题】下列属于合法变量名的是( )。 【单选题】关于a or b的描述错误的是( )。 【单选题】用镜像法求解电场问题时,判断镜像电荷是否正确的根据是 【判断题】Python表达式int("110", 2)的值为6。 【判断题】新闻...
  • 8.1 MATLAB 变量

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

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 84,217
精华内容 33,686
关键字:

以下变量名合法的是