- 1、本文档共55页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.5 常量、变量和表达式 3.在声明变量时为变量赋初值 为变量赋初始值也可以在声明变量时进行,以下是把以上定义、赋初值两个步骤合并的做法。 例 声明变量的同时赋初值 int x=5, y=x+4; //定义 x, y两个整型变量并赋初值 float a=4.23F, b=2*a, c=a*a+b; //定义a, b, c三个浮点型变量并赋初值 4.变量的有效范围与生存周期 变量的有效范围或生存周期就是声明该变量时所在的语句块,也就是用一对大括号{}括起的范围。一旦程序的执行离开了定义它的语句块,变量就变得没有意义,也就不再被使用了。 2.5 常量、变量和表达式 2.5.2 常量 常量是在程序运行过程中其值始终不改变的量。常量分为直接常量和符号常量两种。直接常量就是不使用任何标识符直接引用其值的常量。虽然直接常量直接引用其值比较简单,但是有一些问题必须加以说明。 1.直接常量的后缀 使用数值型直接常量有时会引起多义性。例如直接常量“0”,就可能是byte或short或int或long或float或double类型的。为了避免这种情况的发生不加后缀时默认为int类型,此外Java为long、float和double类型的直接常量规定了使用后缀的方式,而对于byte和short类型的直接常量则只能使用强制数据类型转换,具体内容列于表2-11中。 2.5 常量、变量和表达式 表2-12 Java支持的数制 0x0000~0xFFFF或00xFFFFFFFF 以0x开头的数字,数字由0到F组成 十六进制 0000~0377相当于十进制的0~255 以0开头的数字,数字由0到7组成 八进制 默认的数制 十进制 可表示的数据范围 表示方法 数制 2.5 常量、变量和表达式 3.转义字符 为了更方便地在字符串中表示一些特殊字符,Java定义了转义字符“\”,紧接在转义字符右边的字符被解释成其他含义,或者说“\”及其右边的字符一起代表一个特殊的字符。这种方法给编程带来方便。表2-13给出了转义字符代表的意义。 表2-13 转义字符 能表示所有unicode字符 \u0000 \u0000(4位十六进制数) 能表示所有AscII字符 \000 \000(3位八进制数) 反斜杠 \u005C \\ 单引号 \u0027 \(单引号) 双引号 \u0022 \(双引号) 回车 \u000D \r 表格符 \u000C \f 换行 \u000A \n 制表符 \u0009 \t 退格 \u0008 \b 解释 对应的unicode码 转义字符 2.5 常量、变量和表达式 4.符号常量 符号常量的定义与变量类似,也是先定义一个标识符,然后通过标识符读取其值的常量。符号常量一经定义,其值不能再被改变,这是与变量的根本区别。符号常量也象变量一样,每一个符号常量都有其数据类型和作用范围。按照一般的习惯,常量标识符中的英文字母使用大写字母。 定义常量的方法是: final type identifier1 = value1 [, identifier2 = value2, …] 其中修饰符final表示定义的是常量;type为数据类型;identifier1, identifier2, …为一个或多个常量的标识符,即常量名;value1,value2, …是常量的值。 例 定义符号常量 final int x = 100, y = 200; //定义两个整型常量x = 100, y = 200 final float a = 0, b = 2.355; //定义两个浮点型常量a = 0, b = 2.355 2.5 常量、变量和表达式 2.5.3 表达式 表达式是由运算符、操作数以及方法调用组成的,用来说明运算过程并返回运算结果。表达式可以嵌套,表达式的计算是根据运算符的优先级和结合性进行的,当数据类型不一致时会自动进行数据类型的转换,如果转换不能进行,就会产生错误。 例 分析以下程序的运算结果 int x, y, z; x = 2000000000; y = 20; z = x * y / 100; System.out.println(z=+z); 计算过程: 如果按照一般数学运算的方法,结果应当是2000000000 * 20 / 100 = 400000000,实际在计算机上运行的结果其原因是当计算x * y时,由于两个操作数都是int型的,结果也应当是int
文档评论(0)