首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java中变量替换详解。

群友在微信群讨论一个话题,有点意思,特拿出来分享一下。 输出true false 来看下面这段程序,和群友分享大致一样。...首先来理解下变量: Java中,一个用final定义变量,不管它是类型变量,只要用final定义了并同时指定了初始值,并且这个初始值是在编译时就被确定下来,那么这个final变量就是一个变量。...编译器会把程序所有用到该变量地方直接替换成该变量值,也就是说编译器能对变量进行替换。...final String a = "hello"; final String b = a; final String c = getHello(); a在编译期间就能确定下来,而b、c不行,所以a是变量...所以,再回到上面的程序,finalWorld2和finalWorld4是final定义,也是在编译期间能确定下来,所以它能被替换,编译器就会让finalWorld2和finalWorld4指向字符串池中缓存字符串

3.7K50

C++定义 | 定义求面积

C++定义 学过C语言读者,对定义应该不陌生,同样在C++中,也可以用定义命令将一个指定标识符来代表一个字符串,定义作用一般是用一个短名字代表一个长字符串。...一般形式为: #define 标识符 字符串 定义PI符号常量: #define PI 3.14 在C++中还可以用#define命令定义带参数定义,一般形式为: #define 名(参数表)...字符串 比如,定义正方形面积Area: #define Area(long,wide) long*wide 看完之前推文读者,应该知道C++中增加了内置函数,比用带参数定义更方便,因此在C++...经典案例:C++定义求面积,要求可以手动输入长和宽。...C++定义求面积 更多案例可以go公众号:C语言入门到精通

1.7K2828
您找到你想要的搜索结果了吗?
是的
没有找到

、继承、包含、特殊变量

模板使用 2. 定义在外部使用 3. 模板继承 4. 模板包含 5....Flask中特殊变量和方法 模板使用 大家可能是第一次接触这个字,在这里是什么意思呢?其实就类似于python中函数,作用就是在模板中重复利用代码,避免代码冗余。...定义了这个,那该如何去使用它? {{ input()}} 直接通过两个大括号就ok了 既然有不带参数,肯定有带参数,如何写?...定义在外部使用 除了在模板当中去编写,还能单独一个模板专门来写吗?答案当然是可以,其实这一点也很类似于python。...Flask中特殊变量和方法 这里给大家补充一下Flask当中一些特殊变量和方法,大家之前肯定也看到过。

1.4K40

C++和枚举

大家好,又见面了,我是全栈君 我们计算器程序,用1234对应加减乘除,对于人阅读很产生一点障碍。...隔一个月后再看此代码可能想不起是0123还是1234了,还得去代码中查找,如果能为代表四则运算四个数取个有意义别名就好了,一看是知道对应什么。没问题,用啊。...实质就是替换。在编译时,第一步就是把代码中用实际值代替。用还一个好处,当你把对值改动的话,程序其余地方不用动。比如你可以把1234,改成0123,程序照样运行不出错。...枚举每一项就是为一个整数取了个名字,每一项都是一个常量,而不是的成员变量。枚举用处更像是把表示某种东西相关值组织到一起,而就做不到了。...比如四则运算,每一项都可以随意找位置放,它们不紧邻也没有语法错误。而枚举是强制把相关项放在一起。 枚举名字一般不大写,当然你可以像一样大写。只要你整个工程中都能坚持统一风格就行了。

29910

C++】static 变量详解-变量

static修饰变量的话,有两点要注意。 1.变量存储区域在全局区,不管变量是在函数体内,class内,还是cpp文件内。 2.变量作用域在离它最近{}内部,出了{}之外,不可以使用。...为了比较区别,在这里变量名都是a,发现都可以编译通过。这也就表明G++做了处理,可以区分出来不同作用域里面的变量。 为了进一步知道原因,我编译出来了汇编,命令G++ -S *.cpp。...从上到下,我们可以看到,不同函数内变量static int a; 会在变量前加上对应函数名,例如: 1.main函数里面的,变成了_ZZ4mainE1a; 2.Fun函数内,变成了_ZZ4FunvE1a...; 3.全局变量,变成了_ZE1a;(这里没有粘贴出来,后续补上。)...经过编译器处理之后,这些源代码中相同名字变量,在编译之后便变成了唯一标识符,这也就说明了static作用域意义了。 ----

64110

C++基础变量

变量 变量基本形式是:首先是类型说明符,随后紧跟有一个或者多个变量名组成列表,其中含有多个变量名时用逗号隔开,最后以分号结束。...int sum = 0; string first_name,last_name; 变量命名规范: (1)变量名称一般用小写字母 (2)自定义类名一般首字母大写 (3)如果变量名由多个单词组成,...限定符 我们有时候希望我们定义变量值不能被修改,为了满足这个需求,我们可以使用关键字const对变量类型进行限制 const int buffSize = 1024; buffSize...= 512;//错误, 无法修改 在程序编译时候遇到const变量会对用到该变量地方都替换成对值,也就是编译器会找到用到buffSize地方然后用1024替换掉。...默认情况下,const变量被设定为仅在文件内有效,当多个文件中出现同名const变量时候,其实会在不同文件中分别定义独立const变量

36410

C++工程中常用定义(#define)

参考链接: C++ vsnprintf() 尽管说define有很多不足之处,很多时候我们需要使用const来替代define, 也可以使用typedef来替代define。 ...但是,在一些实际工程中,我们还是不可避免使用到了define,这给我们带来了极大方便。 ...1 定义头文件,防止重复包含  其实不是真正防止重复包含头文件,而是忽略除了第一次之外其他包含:  http://blog.csdn.net/wangshubo1989/article/details...#endif // WANGSHUBO_BASE_H_  2 定义变量  #define WANGSHUBO_SELF_MSG WM_USER + 29 static const std::string...kDate = "2016-11-25";  3 分平台实现  对于一些快平台开发,完全可以使用define来包含不同文件,或是实现不同功能:  #if (MY_PLATFORM == MY_PLATFORM_WIN32

1.8K20

C++变量总结束 | 输出各种变量

C++register寄存器变量 变量除了数据类型以外,还有3种属性:  存储类别,C++允许使用auto,static,register和extern4种存储类别。...作用域,指程序中可以引用该变量区域。 存储期,指变量在内存存储期限。 auto, static和register3种存储类别只能用于变量定义语句中。...C++中一个函数一般由:声明部分、执行语句两部分组成,声明部分作用是对有关标识符属性进行说明,对于函数,声明和定义区别是明显,函数声明是函数原型,而函数定义是函数功能的确立。...在声明部分出现变量有两种情况:一种是需要建立存储空间;另一种是不需要建立存储空间。 经典案例:C++输出各种变量。...C++输出各种变量值 更多案例可以go公众号:C语言入门到精通

2K2828

C++ 变量类型

C++ 变量类型 变量其实只不过是程序可操作存储区名称。C++ 中每个变量都有指定类型,类型决定了变量存储大小和布局,该范围内值都可以存储在内存中,运算符可应用于变量上。...变量名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同,因为 C++ 是大小写敏感。...下面我们将讲解如何定义、声明和使用各种类型变量C++变量定义 变量定义就是告诉编译器在何处创建变量存储,以及如何创建变量存储。...变量定义指定一个数据类型,并包含了该类型一个或多个变量列表,如下所示: type variable_list; 在这里,type 必须是一个有效 C++ 数据类型,可以是 char、wchar_t...C++变量声明 变量声明向编译器保证变量以给定类型和名称存在,这样编译器在不需要知道变量完整细节情况下也能继续进一步编译。

24520

C++ 变量类型

变量其实只不过是程序可操作存储区名称。C++ 中每个变量都有指定类型,类型决定了变量存储大小和布局,该范围内值都可以存储在内存中,运算符可应用于变量上。...变量名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同,因为 C++ 是大小写敏感。...void表示类型缺失。wchar_t宽字符类型。C++ 也允许定义各种其他类型变量,比如枚举、指针、数组、引用、数据结构、类等等,这将会在后续章节中进行讲解。...下面我们将讲解如何定义、声明和使用各种类型变量C++变量定义变量定义就是告诉编译器在何处创建变量存储,以及如何创建变量存储。...C++变量声明变量声明向编译器保证变量以给定类型和名称存在,这样编译器在不需要知道变量完整细节情况下也能继续进一步编译。变量声明只在编译时有它意义,在程序连接时编译器需要实际变量声明。

30510

c++临时变量

C++临时变量 “有时候,在求表达式期间,编译器必须创建临时变量(temporary object)。像其它任何对象一样,它们需要存储空间,并且必须能够构造和销毁。...需要注意是,编译器创建这个临时变量为常量.” – Thinking in C++ 什么情况下编译器会创建临时变量 看下面代码: class A{ public: print(){ cout...A(); return a; } int main(){ A a = generateA(); generateA(); } 在A a = generateA()时,编译器不会创建临时变量...,因为在generateA()返回之前,就已经把函数里面的a对象拷贝给了main函数中a对象。...generateA()这句会使编译器创建一个临时对象,因为generateA()是有返回值,但是在main函数中并没有对象来收留它,所以编译器会创建一个临时对象来收留它,为可能后续操作做准备。

73060

C++定义指针变量 | 使用指针变量

C++指针变量定义 C++规定所有变量在使用前必须先定义,即指定其类型,在编译时按变量类型分配存储空间,对指针 变量必须将它定义为指针类型。...即*不是指针变量一部分,在定义变量时在变量名前加一个*表示该变量是指针变量。 在C++中怎样使一个指针变量指向另一个变量呢?...只需要把被指向变量地址赋给指针变量即可: point_num1=&i; 在C++中,一般编译系统为每一个指针变量分配4个字节存储单元,用来存放变量地址, 在定义指针变量时要注意:  不能用一个整数给一个指针变量赋初值...在定义指针变量时必须指定基类型。 经典案例:C++定义指针变量。...C++定义指针变量 | 使用指针变量 更多案例可以go公众号:C语言入门到精通

2.6K2420

C++临时变量常量性

1.认识临时变量常量性 关于临时变量常量性,先看一段代码。...出错原因是编译器根据字符串"hello world"构造一个string类型临时对象,这个临时变量具有const属性,当这个临时变量传递给非conststring&引用类型时,无法隐式完成const...注意,这里与《C++编程思想》在第八章中“临时量”小节中认为“编译器使所有的临时量自动设为const”说法有些不同。 那编译器为何作出如此限制呢?...但如果把一个临时变量当作非const引用参数传进来,由于临时变量特殊性,临时变量所在表达式执行结束后,临时变量就会被释放,所以,一般说来, 修改一个临时变量是毫无意义,据此,C++编译器加入了临时变量不能作为非...---- 参考文献 [1]c++中临时变量不能作为非const引用参数 [2]C++编程思想[M].刘宗田译.8.3.2.1临时量

1.9K31
领券