常量与变量

C#中的static、readonly与const的比较

南笙酒味 提交于 2019-11-30 17:19:00
C#中有两种常量类型,分别为readonly(运行时常量)与const(编译时常量),本文将就这两种类型的不同特性进行比较并说明各自的适用场景。 工作原理 readonly为运行时常量,程序运行时进行赋值,赋值完成后便无法更改,因此也有人称其为只读变量。 const为编译时常量,程序编译时将对常量值进行解析,并将所有常量引用替换为相应值。 下面声明两个常量: public static readonly int A = 2; //A为运行时常量 public const int B = 3; //B为编译时常量 下面的表达式: int C = A + B; 经过编译后与下面的形式等价: int C = A + 3; 可以看到,其中的const常量B被替换成字面量3,而readonly常量A则保持引用方式。 声明及初始化 readonly常量只能声明为类字段,支持实例类型或静态类型,可以在声明的同时初始化或者在构造函数中进行初始化,初始化完成后便无法更改。 const常量除了可以声明为类字段之外,还可以声明为方法中的局部常量,默认为静态类型(无需用static修饰,否则将导致编译错误),但必须在声明的同时完成初始化。 数据类型支持 由于const常量在编译时将被替换为字面量,使得其取值类型受到了一定限制。const常量只能被赋予数字(整数、浮点数)、字符串以及枚举类型

const 限定符

情到浓时终转凉″ 提交于 2019-11-30 16:27:13
const 限定符 const 对象一旦创建后不可改变,所以const必须初始化. const int i=get_size(); //运行时初始化 const int j=43; const int k; //错误,必须初始化 默认状态下,const对象仅在文件中有效,解决办法是 对于const变量不管是声明还说定义都添加extern关键字 extern const int bufSize=fcn(); //该常量能被其他文件访问 extern const int bufSize;//为同一个 下面那些句子是合法的,如果有不合法的句子,请说明为什么. const int buf; //必须初始化 int cnt=0; //正确 const int sz=cnt; //正确,拷贝赋值 ++cnt; //正确 ++sz; //常量对象不可改变 const 引用 引用绑定在const对象上,称为const引用 const int ci=1024; const int &r1=c1; //引用及对应的对象都是常量 const 指针 const double pi=3.14; const double *cptr=&p1; 顶层const 顶层const:指针本身是个常量 int i=0; int *const p1=&i; //不能改变p1的值,是顶层const 底层const

php基础文档

瘦欲@ 提交于 2019-11-30 15:18:57
目录 PHP 简介 PHP 概述和名词解释 PHP 常见数据类型 PHP 运算符 PHP 流程控制语句 PHP 函数 PHP 类与对象 PHP 会话 session 与缓存 cookie (扩展) 1.PHP 简介 PHP ,即“ PHP : hypertext prerocessor ”,是一种被广泛应用的开源通用脚本语言,尤其适用于 web 开发并可嵌入 HTML 中去。他的语法利用了 C 、 Java 和 Perl ,易于学习。该语言的主要目标是允许 web 开发人员快速编写动态生成的 web 界面,但 PHP 的用途远不止于此。 2.PHP 名词解释 基本语法与名词解释 变量 常量 表达式 1)基本语法与名词解释 PHP 标记:当 PHP 开始解析一个文件时,会寻找开始与结束标记,也就是 <?php 和 ?> 。 这告诉 php 开始和停止解析二者之间的代码。 此种解析方式使得 php 可以被嵌入到各种不同的文档中区,而任何起始和结束标 记之外的部分都会被 php 解析器忽略。 分割符号: php 需要在每个语句后用分号;结束指令,需要注意的是必须采用英文输出。 注释方法: php 的注释虽然支持 C 、 C++ 、 unit shell 风格等的注释方法,但我们仍然保持在 Js 中的注释风格即可,其余注释方法暂且不提。 输出方法: echo 命令表示输出,而卸载 echo

PHP入门(三)

爷,独闯天下 提交于 2019-11-30 14:28:34
1. 常量    常量值被定义后,在脚本的其他任何地方都不能被改变, 一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。   注意: 常量在整个脚本中都可以使用。   设置常量,使用 define() 函数,函数语法如下: bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )   该函数有三个参数: name: 必选参数,常量名称,即标志符。 value: 必选参数,常量的值。 case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。   例:    <div class="box">     <?php       define('LIANG', '欢迎来到PHP世界'); //如果第三个参数不加默认是false       echo LIANG; //输出:欢迎来到PHP世界       echo '<br>';       echo liang; //输出:liang 因为区分大小写,所以识别不到LIANG这个常量,默认为echo一个内容     ?>   </div>   <div class="box">    <?php     define('LIANG',

java的常量、变量及相关知识

妖精的绣舞 提交于 2019-11-30 14:04:44
今天付老师给我们说了java基础的第二课。主要说了很多常量、变量、进制转换和码表方面的内容。传智的老师果然还是很牛啊,一些以前看书不能看懂的问题一看就了解了。 常量(Constant),就是恒定不变的量。所以定义好变量后,是只会初始化一次。初始化后方可在程序中使用。 2.常量类型 整型: 十进制: 直接写阿拉伯数字 八进制: 以0开头 十六进制: 以0x开头 长整型: 以L结束, 占8字节 浮点型: 已F结束, 占4字节 双精度浮点型: 占8字节 布尔型: 真或假, 占1字节 字符型: 用两个单引号表示, 2个字节 字符"\"是特殊字符, 用来转义后面的一个字符, 一些不可见的字符或者有特殊意义的字符都需要用\来转义 \r, \n, \t, \b, \', \", \\ 字符串型: 用两个双引号表示, 若干个字符组成. 可以是0到多个字符. 二.进制转换 1.进制的种类 二进制: 由0和1组成, 逢二进一 八进制: 由0到7组成, 逢八进一 十进制: 由0到9组成, 逢十进一 十六进制: 由0到9和A到F组成, 逢十六进一 2.十进制转二八十六进制 将要转换的数除以进制数取余数 3.二八十六进制转十进制 将要转换的数编号, 编号从低位开始, 从0开始. 然后将每一位上的数乘以进制数的编号次方, 再相加 4.二进制和八十六进制的快速转换 二进制每三位一看就是八进制

青岛哪里有卖银行卡

强颜欢笑 提交于 2019-11-30 13:35:26
青岛哪里有卖银行卡█ █微信:619998462█ █ 我们可以使用java程序进行运算,需要掌握数据类型、常量、变量及运算符 关于数据类型我总结了一张Excel表格,其中单精度浮点型和双精度浮点型的取值范围没有精确计算。 常量是指在java程序运行期间固定不变的数据,可以打印输出 public class Demo { public static void main(String[] args) { final int c = 1; //创建一个常量,类型为整型,常量使用final关键字来定义 System.out.println(c); //输出:1 } } 变量是指在java程序运行期间可以改变的数据,可以打印输出 public class Variable { public static void main(String[] args) { int num = 50; //创建一个变量,格式:数据类型 变量名称 = 数据值 System.out.println(num);  //输出:50 int number; //创建一个变量,格式:数据类型 变量名称 ; number = 3; //向变量中存入一个数据:变量名称 = 数据值 System.out.println(number); //输出:3。 double d; //创建一个双精度浮点类型的变量

阿里巴巴Java开发手册 终极版

ぐ巨炮叔叔 提交于 2019-11-30 11:17:29
目录 start 阿里巴巴Java开发手册终极版 编程规约 命名规约 常量定义 代码格式 OOP规约 集合处理 并发处理 控制语句 注释规约 其他 异常日志 异常处理 日志规约 单元测试 安全规约 MySQL规约 建表规约 索引规约 SQL规约 ORM映射 工程规约 应用分层 二方库依赖 服务器规约 目录 end | 2018-10-28 | 码云 | CSDN | OSChina | cnblogs 阿里巴巴Java开发手册 Github: p3c 含该手册PDF GitBook等版本 | 《阿里巴巴Java开发手册》详尽 FindBugs、PMD和CheckStyle对比 编程规约 命名规约 强制 所有命名不能以 美元符和下划线 开始和结束 禁止拼音混合英文, 更不允许直接使用中文的方式。 正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式也要避免采用。 类名用 UpperCamelCase风格 但以下情形例外: DO / BO / DTO / VO / AO / PO / UID 例如: UserDO 方法名、参数名、成员变量、局部变量 都统一使用 lowerCamelCase风格 常量名全部大写, 下划线隔开, 力求语义表达完整清楚, 不要嫌名字长(枚举类中的也是)。 抽象类使用 Abstract或者Base 开头,

阿里巴巴Java开发手册

喜欢而已 提交于 2019-11-30 11:17:16
目录 一、编程规约 (一) 命名风格 (二) 常量定义 (三) 代码格式 (四) OOP规约 (五) 集合处理 (六) 并发处理 (七) 控制语句 (八) 注释规约 (九) 其它 二、异常日志 (一) 异常处理 (二) 日志规约 三、单元测试 四、安全规约 五、MySQL数据库 (一) 建表规约 (二) 索引规约 (三) SQL语句 (四) ORM映射 六、工程结构 (一) 应用分层 (二) 二方库依赖 (三) 服务器 七、设计规约 针对《阿里巴巴Java开发手册1.4》,将其中重要的整理如下: 一、编程规约 (一) 命名风格 1. 【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。 反例:_name / __name / $name / name_ / name$ / name__ 6. 【强制】抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾。 8. 【强制】POJO类中布尔类型的变量,都不要加is前缀,否则部分框架解析会引起序列化错误。 反例:定义为基本数据类型Boolean isDeleted的属性,它的方法也是isDeleted(),RPC框架在反向解析的时候,“误以为”对应的属性名称是deleted,导致属性获取不到,进而抛出异常。 9. 【强制

《阿里巴巴 Java 开发手册》(一)

穿精又带淫゛_ 提交于 2019-11-30 11:16:28
《阿里巴巴 Java 开发手册》(一) 手册下载地址 相关文章链接 《阿里巴巴 Java 开发手册》(一) 《阿里巴巴 Java 开发手册》(二) 《阿里巴巴 Java 开发手册》(三) 《阿里巴巴 Java 开发手册》(四) 目录 编程规约 命名风格 常量定义 代码格式 OOP 规约 集合处理 并发处理 控制语句 注释规约 其它 异常日志 异常处理 日志规约 单元测试 安全规约 MySQL 数据库 建表规约 索引规约 SQL 语句 ORM 映射 工程结构 应用分离 二方库依赖 服务器 编程规约 (一)命名风格 1、【强制】代码中的命名均不能以 下划线或美元符号 开始,也不能以 下划线或美元符号 结束。 反例: _name __name $Object name_ name$ Object$ 2、【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明: 正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式也要避免使用。 正例: alibaba taobao youku hangzhou 等国际通用的名称,可视同英文。 反例: DaZhePromotion 【打折】 getPingfenByName() 【评分】 int 某变量 = 3 3、【强制】类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外

阿里巴巴开发手册编程规约(一)解析个人笔记(二)

一世执手 提交于 2019-11-30 11:16:14
文章目录 1.2常量定义 1.3代码格式 1.4 OOP规约 1.2常量定义 1. 【强制】不允许任何魔法值(即未经预先定义的常量) 直接出现在代码中。 反例 String key = "Id#taobao_" + tradeId; ,这时候我每次看这个变量我们都要去确认一下这个id究竟是指的是订单id还是商品id,还是用户id 改正为 final String orderTag= "Id#taobao_"; String key = orderTag+tradeId; 2. 【强制】 在 long 或者 Long 赋值时, 数值后使用大写的 L,不能是小写的 l,小写容易跟数字 1 混淆,造成误解。 说明: Long a = 2l; 写的是数字的 21,还是 Long 型的 2? 3. 【推荐】不要使用一个常量类维护所有常量, 要按常量功能进行归类,分开维护。 4. 【推荐】常量的复用层次有五层:跨应用共享常量、应用内共享常量、子工程内共享常量、包内共享常量、类内共享常量。 5. 【推荐】 如果变量值仅在一个固定范围内变化用 enum 类型来定义。 有范围值的用enum 能保证意义被正确的理解能保证意义被正确的理解 1.3代码格式 略,纯记忆 1.4 OOP规约 1. 【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成 本,直接用类名来访问即可。