常量与变量

《阿里巴巴Java开发手册1.4.0》阅读总结与心得(一)

好久不见. 提交于 2020-01-17 07:02:05
前言   下面是阿里对《阿里巴巴 Java 开发手册》(下称《手册》)的介绍:   凝聚了阿里集团很多同学的知识智慧和经验,这些经验甚至是用血淋淋的故障换来的,希望前车之鉴,后车之师,能够帮助更多的开发者少踩坑,杜绝踩重复的坑。      在知乎上,也有关于这本开发手册的讨论十分热烈的帖子:https://www.zhihu.com/question/55642203。      其中一位网友的话让楼主觉得十分有趣,现贴出来博大家一笑:         在楼主看来,阿里巴巴的这本Java开发手册,可谓包罗万象,几乎日常Java开发中方方面面都有所涉及。    由于里面涉及的内容比较多,下面重点罗列下一些楼主读过之后十分赞同与持保留意见的条目: (一)编码规范 (一)命名规约   8. 【强制】 POJO 类中布尔类型的变量,都不要加 is 前缀 ,否则部分框架解析会引起序列化错误。   反例: 定义为基本数据类型 Boolean isDeleted 的属性,它的方法也是 isDeleted() , RPC 框架在反向解析的时候, “误以为” 对应的属性名称是 deleted ,导致属性获取不到,进而抛出异常。   看法:此条级别为强制,不过是有特殊的应用场景的,boolean类型变量加上is前缀无可厚非。举例来说,对于处理状态标志,我觉得isProcessed/processed

PHP define 常量

橙三吉。 提交于 2020-01-16 18:48:07
常量是一个简单值的标识符(名字)。如同其名称所暗示的,在脚本执行期间该值不能改变(除了所谓的魔术常量,它们其实不是常量)。常量默认为大小写敏感。按照惯例常量标识符总是大写的。 常量名和其它任何 PHP 标签遵循同样的命名规则。合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线。用正则表达式是这样表达的:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* 合法与非法的常量名 <?PHP // 合法的常量名 define("w3sky", "something"); define("w3sky2", "something else"); define("w3sky_BAR", "something more") // 非法的常量名 define("2w3sky", "something"); // This is valid, but should be avoided: // PHP may one day provide a magical constant // that will break your script define("__w3sky__", "something"); ?> 注: 在这里,字母是 a-z,A-Z,以及从 127 到 255(0x7f-0xff)的 ASCII 字符。 和 superglobals 一样

Java中Class对象详解

时光怂恿深爱的人放手 提交于 2020-01-16 07:27:50
参考文献: 深入理解Java类型信息(Class对象)与反射机制 一、RRTI的概念以及Class对象作用   认识Class对象之前,先来了解一个概念,RTTI(Run-Time Type Identification)运行时类型识别,其作用 是在运行时识别一个对象的类型和类的信息;   这里分两种:传统的”RRTI”,它假定我们在编译期已知道了所有类型(在没有反射机制创建和使用类对象时,一般都是编译期已确定其类型,如new对象时该类必须已定义好),另外一种是反射机制,它允许我们在运行时发现和使用类型的信息。在Java中用来表示运行时类型信息的对应类就是Class类,Class类也是一个实实在在的类,存在于JDK的java.lang包中,其部分源码如下: public final class Class<T> implements java.io.Serializable,GenericDeclaration,Type, AnnotatedElement { private static final int ANNOTATION= 0x00002000; private static final int ENUM = 0x00004000; private static final int SYNTHETIC = 0x00001000; private static native

Solidity教程系列1 - 类型介绍

风流意气都作罢 提交于 2020-01-16 01:24:58
最新内容会更新在主站 深入浅出区块链社区 原文链接: 智能合约语言 Solidity 教程系列1 - 类型介绍 现在的Solidity中文文档,要么翻译的太烂,要么太旧,决定重新翻译下,再加上代码事例讲解。 写在前面 Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解, 如果你还不了解,建议你先看 以太坊是什么 Solidity教程会是一系列文章,本文是第一篇:介绍Solidity的变量类型。 本文前半部分是参考Solidity官方文档(当前最新版本:0.4.20)进行翻译,后半部分是结合实际合约代码实例说明类型的使用(仅针对 专栏 订阅用户)。 类型 Solidity是一种静态类型语言,意味着每个变量(本地或状态变量)需要在编译时指定变量的类型(或至少可以推倒出类型)。Solidity提供了一些基本类型可以用来组合成复杂类型。 Solidity类型分为两类: 值类型(Value Type) - 变量在赋值或传参是,总是进行值拷贝。 引用类型(Reference Types) 值类型(Value Type) 值类型 包含: 布尔类型(Booleans) 整型(Integers) 定长浮点型(Fixed Point Numbers) 定长字节数组(Fixed-size byte arrays) 有理数和整型常量(Rational and

带你重新认识指针(下)

谁说胖子不能爱 提交于 2020-01-16 00:54:10
目录 真的猛士,敢于直面惨淡的人生,敢于正视淋漓的鲜血。这是怎样的哀痛者和幸福者?然而造化又常常为庸人设计,以时间的流驶,来洗涤旧迹,仅使留下淡红的血色和微漠的悲哀。在这淡红的血色和微漠的悲哀中,又给人暂得偷生,维持着这似人非人的世界。我不知道这样的世界何时是一个尽头!我们还在这样的世上活着;我也早觉得有写一点东西的必要了。 ——鲁迅 本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues。 https://github.com/midou-tech/articles 点关注,不迷路!!!   看完我上一篇指针的讲解之后很多同学反馈很不错,有网友给私信说之前在大学里面一直搞不懂指针的问题,说到指针都是云里雾里,老师讲的也是很难听懂 , 点击即可进入 指针(上) 。也有很多网友表示非常期待指针下的文章,所以我就马不停蹄的继续写 ,下 主要讲解指针的特性以及指针安全问题。 指针的特性 指针和常量  先说下什么是常量,常量就是不可变的量,一旦定义该常量,其值在整个程序生命周期都是不可变的,常量存放在虚拟地址空间的常量区。  在C语言里面有两种定义常量的方法。 使用const关键字 , const 定义的是变量不是常量,只是这个变量的值不允许改变是常变量,带有类型。编译运行的时候起作用存在类型检查。 使用#define预处理器, define 定义的是不带类型的常数

Python第二节(基础语法)

不羁岁月 提交于 2020-01-16 00:13:58
标识符 Python标识符 所谓的标识符就是对变量、常量、类等对象起的名字。首先必须说明的是,Python语言在任何场景都严格区分大小写!也就是说A和a代表的意义完全不同。 命名规定 1)标识符对大小写敏感(严格区分大小写) 2)标识符的其他的部分由字母、数字和下划线组成(数字不能开头) 3)见名知意 4)单词组合:下划线/小驼峰/大驼峰命名法 5)变量通常小写,常量全部大写 6)不以关键字作为标识符 注释 我们写的程序里,不光有代码,还有很多注释。注释有说明性质的、帮助性质的,它们在代码执行过程中相当于不存在,透明的。 单行注释 # CTRL+/ 多行注释 “”" “”" 注释文档 ‘’’ ‘’’ 语句缩进pass 语句 在代码中,能够完整表达某个意思、操作或者逻辑的最短代码,被称为语句。这里强调一下,python的标准语言不需要使用分好。简单的换行就表示语句已经结束。 代码块 为完成某一特定功能而联系在一起的一组语句构成一个代码块。有判断、循环、函数、类等各种代码块。代码块的首行通常以关键字开始,以冒号(:)结束。 Python最具特色的语法就是使用缩进来表示代码块,不需要大括号。 pass 占位语句 变量的创建 Python保留字 不管是python语言还是其他语言,最终目的都是为了对数据进行处理。并且,这些数据实际上就是存储在变量与常量当中。 简之

嵌入式面试题(C/C++)

故事扮演 提交于 2020-01-15 11:38:27
目录 概念区分 编程 概念区分 变量的声明和定义有什么区别 为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明,但只能在一个地方定义。加入 extern 修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分定义。 说明:很多时候一个变量,只是声明,不分配内存空间,知道具体使用时才初始化,分配内存空间,如外部变量。 sizeof和strlen的区别 sizeof 是一个操作符 ( 关键词 ) ,strlen是库函数。 sizeof 的参数可以是数据的类型,也可以是变量,而strlen只能以结尾为‘\ 0 ‘的字符串作参数。 编译器在编译时就计算出了 sizeof 的结果。而strlen函数必须在运行时才能计算出来。 sizeof 计算的是数据类型占内存的大小,而strlen计算的是字符串实际的长度。 写一个“标准”宏MIN # define min(a,b) ((a)<=(b)?(a):(b)) //加圆括号,保护数据 一个指针可以是volatile吗? 可以,因为指针和普通变量一样,有时也有变化程序的不可控性。常见例:子中断服务子程序修改一个指向一个buffer的指针时,必须用 volatile 来修饰这个指针。 a 和 &a 有什么区别请写出以下代码的打印结果,主要目的是考察a和&a的区别。 # include <stdio.h> int

PHP变量 常量

可紊 提交于 2020-01-15 07:39:17
1.变量: 1.变量必须以$开头,后面紧跟变量名 注意:通常,在“能够出现”变量的语法中,只要出现$符号,并在其后出现紧挨着的字符,就会被识别为一个变量,即使不存在该变量,比如:echo “人民币符合¥像个羊,美元符号$象个钱”; 输出到页面就是 象个钱; 2.定义变量:直接给变量赋值就是定义 ($v1=1) 注意:不支持js那种定义不赋值换句话说第一次给一个变量赋值就算是定义变量 3.取值: 1.输出:echo $v1 //取得$v1的值,并输出 2.给其他变量赋值: $v2=$v1 //取得$v1的值,并赋值给$v2 3.参与运算:$v3=$v1+3 //取得$v1的值,并跟3相加 4.判断变量是否存在 isset(): 1.存在 就返回true 不存在就返回false 1是true 0是false 2.一个变量的值是ull 返回的也是false 5.修改变量值: 1.第二次及以后给一个变量赋值,就算修改变量 6.删除 unset(): 1.就是断开变量名跟数据之间的引用关系 例如:(unset($v1 ))此时数据没有被任何一个变量名引用 变量名$v1也没有引用任何数据 他们都是存在的 7.变量间的传值方式 有两种 一种是值传递 二是引用传递 值传递:是指将一个变量的数据值(内容)拷贝一份,然后赋值给另一个变量 赋值以后这两个变量就没有关系了(互相独立) 引用传递:$v2=&

chpater 3-顺序结构的程序设计

陌路散爱 提交于 2020-01-14 07:54:11
文章目录 3.1进制与ASCALL码 3.1.1 二进制 八进制 十进制 十六进制 3.1.2 进制之间转化(手动计算) 3.1.3 ASCALL 码 3.2 常量与变量 3.2.1 常量 3.2.2 变量 3.2.3 常变量 3.2.4 标识符 3.3 数据类型 3.3.1 整数型 3.3.2字符型 3.3.3浮点型 3.4 数据类型的转换 3.5 运算符 3.6 c语言表达式处理的过程 3.7语句 3.7.1 赋值语句 3.7.2 printf输出函数 3.7.3 scanf输入函数 3.7.4 putchar 与getchar 函数 3.8例题 3.1进制与ASCALL码 3.1.1 二进制 八进制 十进制 十六进制 二进制 :逢二近一;只有01 两个基数 八进制 :逢八进一 ;只有01234567 八个基数 十进制 :逢十进一;0123456789 是个基数 十六进制 :逢十六进一;0123456789ABCDEF十五个基数 ; 咱们生活里面用到的就是数值比如:68 ,4490, 324 都是十进制;只是我们没注意罢了; 在代码的世界里面,不能说 010 ,要说(多少)进制 010. 因为 010 ,可以是二进制,八进制,十进制,也可以使十六进制。 for example : 二进制 010 , 二进制 110 八进制 767 十进制 99 十六进制AB2 3.1.2

c++注意点

穿精又带淫゛_ 提交于 2020-01-13 09:50:22
const常量 使用该修饰符定义常量,必须初始化 一旦定义任何地方没法改 如果定义的是一个整型常量,关键字 int 可以省略 const常量可以与指针一起使用,有 3 组合情况: 指向常量的指针:是指一个指向常量的指针变量 const char*p =“abcd”;,所以不能改变指针指向的字符,比如 p【3】=‘h’ 是错误的,因为它指向的事一个 字符串常量 ,所以不能更改内容,但可以改变该指针的所指方向:如 p=“kkvkvk”;那就是对的; 常指针:是一个指向固定的一个指针; char const *p=“45678”; 若这样子操作则是错的:p=“kkvkvk”;若是 p[3]='k’则对的,因为指向的地址没变; 指向常量的常指针:const char const*p=“46df”;这个就怎么不能改了; int const* a 相当于 const int *a 这是指向常量的指针 (可改变指针指向地址,不能改变指针指向的变量的内容) 不是 int *const a; 这是常指针;(不可以改变指针指向的变量,但可以改变该变量的内容) # include <iostream> using namespace std ; int main ( ) { const int a1 = 7 ; int const a2 = 8 ; int c1 = 9 ; int c2 = 10 ;