常量与变量

2_java 基础知识

烂漫一生 提交于 2020-02-28 21:13:37
1.注释,关键字,标识符 1.注释 (1)注释:解释说明程序的而文字。 (2)注释的分类:单行注释 格式: //注释的文字          多行注释 格式:/*注释的文字*/          文档注释 格式:/**注释的文字*/   注意:     对于单行和多行注释,被注释的文字,不会被JVM解释执行     对于文档注释,可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档     单行注释可以嵌套使用,多行注释不能嵌套使用 (3)注释的作用:解释说明程序,调试程序。 2.关键字 (1)关键字:java语言中被赋予特殊含义的单词 (2)特点:字母都是小写 (3)常见的关键字 3.标识符   标识符:给类、接口、方法、变量、常量、等起名时使用的字符。   组成规则:(1)英文字母的大小写;(2)数字字符;(3)$和_   注意事项:(1)不能以数字开头;(2)不能是java中的关键字;(3)区分大小写。   包(文件夹):解决同一目录下不能同时存在两个相同名称的文件,字母都是小写。   类或接口:一个单词 首字母大写,其余字母小写;多个单词 每个单词首字母大写,其余字母小写。   方法或变量:一个单词 字母全是小写;多个单词,从第二个单词开始首字母大写,其余字母小写。   常量:一个单词 字母全是大写;多个单词 字母全是大写

C/C++中的变量与常量

删除回忆录丶 提交于 2020-02-28 06:15:11
C/C++中的变量 在定义变量时,C与C++ 有明显的区别。这两种语言都要求变量使用前必须定义,但是C(和许多其他传统过程语言)强制在作用域的开始处就定义所有的变量,以便在编译器创建一个块时,能够给所有的这些变量分配空间。(这个说法已经是老皇历了,现在的编译器即使是不在开始处定义变量也是可以做优化的,所以写C程序时完全可以像C++那样在任何方便的地方定义变量)。在C/C++中变量与函数在内存中是分开存放的。 全局变量 全局变量时在所有函数体的外部定义的,程序的所有部分(甚至其他文件中的代码)都可以使用。全局变量不受作用域的影响,总是可用的(即全局变量的生命期一直到程序的结束)。如果在一个文件中使用extern关键字来声明另一个文件中存在的全局变量,那么这个文件可以使用这个数据。全局变量会被分配在内存的堆上。 局部变量 局部变量出现在一个作用域内,是局限于一个函数的。局部变量经常被称为自动变量(automatic variable),因为是进入作用域时自动生成,离开作用域时候自动消失。关键字auto可以显示的说明这个问题,但是局部变量默认为auto,所以没有必要声明为auto。局部变量的内存中会被放在栈上。 寄存器变量:是一种局部变量。关键字register告诉编译器“尽可能快地访问这个变量”。加快访问速度取决于实现,但是,正如名字所暗示的那样子

常量折叠

♀尐吖头ヾ 提交于 2020-02-26 21:37:39
今天意外见识了这个名词是在CSDN帖子里 http://topic.csdn.net/u/20120406/03/f59790a9-67b8-479c-9f43-9bc413fae761.html?95101 其实这个困惑早就出现了,记得最早是看到了这篇文章 http://www.cnblogs.com/wenzhang/archive/2011/12/30/2308052.html ,当时还请教了作者,但始终没有说服自己的理由,今天 再看到确实有种重见老朋友的感觉,所以就上网搜搜这方面的帖子了。 首先来看一个简单的例子吧: #include <iostream>using namespace std;int main(){ const int a=6;//const修饰必须初始化 int *p=(int*)&a; *p=8; cout<<"a的地址为:"<<&a<<"\t"<<"a的值为:"<<a<<endl; cout<<"p的地址为:"<<p<<"\t"<<"p指向变量的值为:"<<*p<<endl; return 0;} 运行结果: a的地址为:0012FF7C a的值为:6 p的地址为:0012FF7C p指向变量的值为:8 一个内存地址竟然同时存两个值,有点诧异。这就牵涉到了常量折叠。 常量折叠的概念:在编译器里进行语法分析的时候,将常量表达式计算求值

C++变量和基本类型知识概要总结

烂漫一生 提交于 2020-02-26 15:38:40
整合基本的关于c++的变量和基本类型的知识。参考于C++primer第二章 仅包含部分,而非全部 inti=b; //i的值为1 i= 3.14; //i的值为3 double pi = i; // pi的值为3.0 unsigned char C = - 1; //假设char占8比特,c的值为255 signed char c2 = 256; //假设char占8比特,c2的值是未定义的 注意:当我们赋给无符号类型一个超过它表示范围的值时,结果就是初始值对无符号类型所表示的数值总值取模后的余数。 举个清新易懂的例子 例如:八比特大小的unsigned char 可以表示0至255区间内的值,如果赋了一个区间以外的值,则实际值就是该值对256取模后所得的余数。-1赋值给unsigned char的结果时255. 但是 !!赋值给有符号类型超过它表示范围的值时,结果就是未定义的。程序可能继续工作,可能崩溃,也可能产生垃圾数据。 int类型的加了一个无符号值时,int会先变成无符号类型然后再操作。 若两个无符号相减后变成负数了,结果会是取模后的值 ‘A’ 和 "A"是有区别的,'A’就是一个单独的字符A,而"A"则代表了一个字符的数组,包含两个字符,一个是字母A ,另一个是空字符。 对于C++程序员来说,变量和对象一般可以互换使用 初始化不是赋值

switch的case后面只能是常量

无人久伴 提交于 2020-02-24 01:59:08
switch的case后面只能是常量 因为switch(选择因子变量)会与case后面的常量进行比较,来判断执行哪条分支。 所以case后面的值必须是常量。或者变量要加final关键字。变成常变量。 来源: CSDN 作者: 六月·飞雪 链接: https://blog.csdn.net/z_ssyy/article/details/104463516

变量常量

与世无争的帅哥 提交于 2020-02-22 22:45:01
1.变量就是放数据的地方 变量定义的一般形式: <变量类型名称><变量名称>; 一行里可以定义多个变量 如:int price; int amount; int price,amount; 变量的名字有一个专业术语叫标识符, 标识符有自己的规则:只能由字母、数字和下划线组成,数字不能开头,C语言中的关键字(有的地方叫保留字)不可以用做标识符 2.C语言是一种有类型的语言,数据类型表示在变量中可以存放什么样的数据,变量中只能存放指定类型的数据 程序运行过程中不能改变变量的类型 3.常量 int change=100-price; 会变的是变量如price,change.不会变的是常量如,直接写在程序里的叫直接量如100 更好的方式,是定义一个常量,而不是把100直接写在那 const int AMOUNT=100;//这也是C99写法 之后直接用int change=AMOUNT-price; 这样做有很多好处,不如别人看到100不知道是什么,但是看到AMOUNT就会知道是金额 用有意义的名字,更容易让别人理解你的这个数字是什么 第二个好处,容易修改,定义在前面很容易就能找到AMOUNT const是一个修饰符,放在一个变量前面,表示这个变量不能被修改,一定要被赋初值,初始化完之后不可再做任何赋值的操作 一般对一个const的变量,变量名全大写,用来强调它是const的

Java:枚举类也就这么回事

倾然丶 夕夏残阳落幕 提交于 2020-02-22 21:29:53
目录 一、前言 二、源自一道面试题 三、枚举的由来 四、枚举的定义形式 五、Enum类里有啥? 1、唯一的构造器 2、重要的方法们 3、凭空出现的values()方法 六、反编译枚举类 七、枚举类实现单例 八、参考资料 一、前言 本篇博客是对 JDK1.5的新特性枚举 的一波小小的总结,主要是昨天在看一部分面试题的时候,遇到了枚举类型的题目,发现自己有许多细节还需要加强,做起来都模棱两可,是时候总结一波了。 二、源自一道面试题 不多bb,直接开门见山,我遇到这样一道也许很简单的题目: enum AccountType { SAVING, FIXED, CURRENT; private AccountType() { System.out.println(“It is a account type”); } } class EnumOne { public static void main(String[]args) { System.out.println(AccountType.FIXED); } } 问打印的结果是啥?正确答案如下: It is a account type It is a account type It is a account type FIXED 至于结果为啥是这个,且看我慢慢总结。 三、枚举的由来 存在即合理。 我贼喜欢这句圣经

Go语言基础之变量和常量

旧街凉风 提交于 2020-02-22 21:20:31
1 为什么需要变量 联想到现实中,任何事物都是变化的,如果想用程序实现对一个事情的描述,那么久的用一些变化的量去描述这个事情中的一些变化的属性,比如说人类的身高、年龄等,这些量都是随着时间变化的,或者是不同的人用不同身高和年龄。所以说,要使用变量去对这些属性进行描述。 变量是程序的基本组成单位。我们都知道程序都是对数据进行处理,那么这些数据在程序运行的过程就是存储在变量中,在Golang语言中一个变量存储一种类型的数据,程序在每次运行时变量中可能存储的是不相同的数据。 2 Golang变量介绍 2.1 变量的概念 在数学概念中,变量(variable)表示没有固定值且可改变的数。从计算机视角来说,变量相当于内存中一段或多段数据存储空间的表示。可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,同样的道理,通过变量名可以访问到变量(值)。 作为静态类型语言,Go变量总是有固定的数据类型,类型决定了变量内存的长度和存储格式。我们只能修改变量值,无法改变类型。 2.2 变量的使用步骤 声明变量(定义变量) 变量赋值 使用变量 在Golang中,既支持先声明变量,后给变量赋值;又支持在声明变量时给变量赋值。 2.3 关键字var定义变量 用关键字var定义变量 var x int //自动初始化为0 var y = false //自动推断为bool类型 一次定义多个变量 var

160622、详解JavaScript变量提升

北慕城南 提交于 2020-02-20 01:45:47
变量在程序中随处可见。它们是一些始终在相互影响,相互作用的的数据和逻辑。正是这些互动使应用程序活了起来。 在JavaScript中使用变量很重要的一方面就是变量的提升 —— 它决定了一个变量何时可以被你的代码使用。如果你在寻找关于这方面的详细介绍,那你算是来对地方了。让我们一起看看吧。 1. 简介 提升 是一种将变量和函数的声明移到函数作用域(如果不在任何函数内的话就是全局作用域)最顶部的机制。 提升影响了变量的生命周期,一个变量的生命周期包含3个阶段: 声明 - 创建一个新变量,例如 var myValue 初始化 - 用一个值初始化变量 例如 myValue = 150 使用 - 使用变量的值 例如 alert(myValue) 这个过程通常是像这样执行的:首先 声明 一个变量,然后用一个值给它 初始化 ,最后就是 使用 它。让我们看一个例子: // 声明 var strNumber ; // 初始化 strNumber = '16' ; // 使用 parseInt ( strNumber ); // => 16 在程序中一个函数可以先 声明 ,后 使用 。 初始化 被忽略掉了。例如: // 声明 function sum ( a , b ) { return a + b ; } // 使用 sum ( 5 , 6 ); // => 11 当这三个步骤按顺序执行的时候

详解JavaScript变量提升

旧街凉风 提交于 2020-02-20 01:40:32
   变 量在程序中随处可见。它们是一些始终在相互影响,相互作用的的数据和逻辑。正是这些互动使应用程序活了起来。   在JavaScript中使用变量很重要的一方面就是变量的提升 —— 它决定了一个变量何时可以被你的代码使用。如果你在寻找关于这方面的详细介绍,那你算是来对地方了。让我们一起看看吧。 1. 简介   提升是一种将变量和函数的声明移到函数作用域(如果不在任何函数内的话就是全局作用域)最顶部的机制。 提升影响了变量的生命周期,一个变量的生命周期包含3个阶段: 声明 - 创建一个新变量,例如 var myValue 初始化 - 用一个值初始化变量 例如 myValue = 150 使用 - 使用变量的值 例如 alert(myValue) 这个过程通常是像这样执行的:首先 声明 一个变量,然后用一个值给它 初始化 ,最后就是 使用 它。让我们看一个例子: // 声明 var strNumber; // 初始化 strNumber = '16'; // 使用 parseInt(strNumber); // => 16 在程序中一个函数可以先 声明 ,后 使用 。 初始化 被忽略掉了。例如: // 声明 function sum(a, b) { return a + b; } // 使用 sum(5, 6); // => 11   当这三个步骤按顺序执行的时候