程序语言的分析分词法和语法两部分。词法分析主要用的是正规文法,也就是三型文法。这类文法主要采用正则表达式分析。正则文法分析器的特点是它是不回溯的,所以实现很简单。如果一个变量以数字开头,那么分析器就必须在遇到第一个或第二个英文字符的时候回溯来确定是否是数字、变量名还是词法错误,这时候就变成了二型文法。二型文法分析器的好处是支持回溯和递归语法(所以语法分析是靠它的),但是缺点是状态机相比正则文法状态大大增加,而且代码写起来更困难。考虑到词法分析部分只是用来断字,我们实在是没有为了支持变量名以数字开头这么一个小功能而让整个词法分析部分用二型文法写。

故,最后大家都默认了变量要避免用数字开头。

java变量命名规则

环境变量通常是指在操作系统中,用来指定操作系统运行时需要的一些参数

变量名以字母、下划线或者美元符(4上面的¥)开头,不能以数字开头,后面跟字母、下划线、美元符、数字,变量名对大小写敏感,无长度限制

驼峰命名法:

1.变量名应该用有意义的英文单词

2.变量名如果只有一个单词,则所有的字母小写

3.变量名如果由多个英文单词组成,则从第二个单词开始首字母大写

4.在java中bool值用boolean表示,只有true和false两种,不能用0和非0,或空和非空表示,如下图,这里的意思是第三行出错,不能把int型变量赋值给boolean型变量

5.java使用unicode字符码,意味着可以在java里面使用世界上的任意一种语言的字符集,用一个char类型变量可以存储一个汉字,即一个中文字符和英文字符所用的存储空间是一样的

6.乱码的出现:用a字符集将汉字转换为编码,但系统用b字符集将编码转换为汉字时,将出现找不到编码,出现乱码

java可以用数字开头做变量吗_java变量为什么不能以数字开头相关推荐

  1. java变量数据类型_Java——变量和数据类型

    变量 变量就是一个临时存储数据的空间.那么我们把数据存在内存空间里面,怎么取呢? 举例说明: 我们可以把旅馆的一个个房间看作一个存储空间,把房间的名字"101"看成变量名,把房间类 ...

  2. java变量数据类型_java变量与数据类型

    第二章 变量与数据类型 变量 变量的概述 变量是指内存中的一个存储区域,该区域要有自己的名称(变量名).类型(数据类型),该区域的数据可以在同一数据类型的范围内不断变化值. 每个变量都有自己的作用范围 ...

  3. java 声明变量 初始化_Java变量的声明和初始化

    Java 语言是强类型(strongly typed)语言,强类型包含以下两方面的含义:所有的变量必须先声明.后使用. 指定类型的变量只能接受类型与之匹配的值. 这意味着每个变量和每个表达式都有一个在 ...

  4. java 变量类型_Java 变量类型

    Java 变量类型 在Java语言中,所有的变量在使用前必须声明.声明变量的基本格式如下: type identifier [ = value][, identifier [= value] ...] ...

  5. java成员变量定义_java变量之成员变量和局部变量以及它们的运行机制

    Java语言根据变量定义位置的不同,将变量分为成员变量和局部变量.成员变量指的是定义在类中(方法外)的变量,局部变量指的是定义在方法中的变量.同时成员变量以是否用static修饰分为类变量和实例变量. ...

  6. java中使用什么来做错误处理_JAVA基础--如何通过异常处理错误

    <Thinking in Java>上对这章的讲解不少,可见重要性,学习和总结一些主要的记录下来. 一.创建自定义异常 package Exception; class SimpleExc ...

  7. java大数据开发是做什么的_Java转型大数据开发教材,技能储备都在这儿!

    如今随着环境的改变,做技术如果不想有中年危机的话,就要知道这句话: 学习新技术,更新自己的知识和技能储备. 最近在北京参加 QCon,看了<QCon 十周年特刊>里面一篇文章,讲了大数据十 ...

  8. java变换变量赋值_Java变量的类型转换

    在程序中,当把一种数据类型的值赋给另一种数据类型的变量时,需要进行数据类型转换.根据转换方式的不同,数据类型转换可分为两种:自动类型转换和强制类型转换.自动类型转换 自动类型转换也叫隐式类型转换,指的 ...

  9. java猜数字游戏课程设计报告_Java程序设计课程设计-猜数字游戏设计.doc

    Java程序设计课程设计-猜数字游戏设计.doc 还剩 23页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 课 程 设 计 报 告课程设计名称 Jav ...

最新文章

  1. 学python需要学数据库吗-学习Python爬虫前,你必须知道的一些工具!
  2. VS调试ReactOS源码环境搭建5 - VS通过串口连接虚拟机
  3. C# 任务栏的相关信息
  4. ai人工智能编程_从人工智能动态编程:Q学习
  5. 台达b2伺服modbus通讯_谁用电脑与台达ASDA-B2伺服通讯上-专业自动化论坛-中国工控网论坛...
  6. 数据分析——泰坦尼克号乘客数据集
  7. 酉矩阵/幺正矩阵(Unitary Matrix)
  8. python | 降水数据分析(Ⅰ) 绘制全国降水四季分布图
  9. SDS启动失败,提示连接primary节点失败
  10. Access violation at address 77106D4E in module 'ntdll.dll'. Write of address 004051A5.
  11. win10固态硬盘分区 整数_台式机械硬盘怎么安装?机械硬盘安装图解教程(SATA固态可参考)...
  12. PTA-数据库作业题(二)
  13. 【计算机网络系列】链路层的差错控制与流量控制
  14. 分享一下开女装服装加盟店的赚钱攻略
  15. fama french-3 模型个人理解
  16. origin 双Y轴堆积条形图
  17. 遥感图像去雾文章解读
  18. (二)安全计算-Threat Modelling威胁建模
  19. 西安未来国际java,新开工!西安文化CBD国际商业中心来了!2020 级重点建设项目发布...
  20. postman使用put方法向华为云obs桶上传文件和图片

热门文章

  1. 基于Proteus平台的TEC-5H模型计算机电路设计与仿真
  2. HealthKit 框架详细解析
  3. SQL SERVER 解析XML字符串
  4. ThinkPad SL400驱动
  5. 实战三十三:STAMP算法实现商品推荐实战 代码+数据
  6. 分享一款序列号查询神器:Serial Box mac版
  7. 勒索病毒,距离我们还有多远?
  8. ArcMap10.6以上版本添加天地图底图
  9. 【考研经验】英语如何拿高分?听听英语一92大神的经验谈!
  10. 数独的生成和破解算法分析