JAVA程序设计实例入门第2课

常量和变量的使用

本课实例

期末总评成绩的依据为平时成绩和期末考试成绩。平时成绩占30%,期末成绩占70%,某同学平时成绩为85分,那他要考多少分才能及格?

本课涉及的主要概念

本课实例

程序设计中处理的数据以常量和变量两种形式存在。不管是哪种形式,都有确定的数据类型。JAVA中的基本数据类型有以下几种:

不同数据类型定义了数据所占的存储空间大小,也即确定了对应数据集合的表示范围。

数据在计算机中存储是要占据一定存储空间的。存储空间越大,能存储的数值就越大。计算机的存储空间大小用字节来表示,1个字节等于8个二进制位。一个二进制位有0、1两种可能的变化,故只能用于编码两种信息,而1个字节有2^8种变化,也即可以用于编码256种信息。如果采用最简单的编码规则,将十进制整数用其对应的二进制数编码,那1个byte整数型数据可能的最大值是255,也即二进制数11111111。然而JAVA语言中的数据的所在存储空间的最高位被看作符号位,以补码形式存储数据,所以1个byte整数型可能的最大值其实是十进制127,也就是(01111111)。

由此可以推断出JAVA语言几种整数型数据的范围。

整数型byte:2^7~2^7-1,也即-128~127;

整数型short:2^15~2^15-1,也即 -32768~32767;

整数型int:2^31 ~ 2^31-1, 也即 -2147483648~2147483647

整数型long:2^63 ~ 2^63 -1 也即 -9223372036854775808 ~9223372036854775807

至于两个浮点型数据,由于其编码规则比整数型数据复杂,其表示范围在这里不做讨论,只需知道float单精度浮点型表示数据的精度为6~7位有效数字,double双精度浮点型的精度为15~16位有效数字即可。

JAVA语言的字符型数据占两个字节,是因为JAVA语言中的字符常量使用unicode编码规则。unicode占两个字节,理论上可以对2^16也即65536种信息编码,可以几乎囊括所有人类文字符号,在程序设计中,除了常见的英文字符外,一个中文字也是一个字符常量。

布尔类型只有两个常量值:true和false。尽管2种信息用1个位就可以编码,但这种类型同样是占1个字节而不是1个位。一般情况下,高级语言处理的最小数据大小单位是字节,而很少有要处理位的情况。

那么一个整数,比如说36,它在四种整数型数据任意一种的范围内。它的数据类型到底是byte、short、int 还是long呢?这就要由存储36这个常数的内存空间来决定。

计算机中所有的数都是要放在内存中才能被CPU处理的,程序使用者输入数据,其实就是将数据放入内存的过程。变量这个概念从字面上理解就是值可以发生改变的量,但它有更深一层的含义,就是内存的一个存储空间。这个存储空间的大小由变量的数据类型来决定。

使用变量,需要先向系统申请一个相应数据类型的存储空间,并指定一个变量名。这个过程叫定义变量。定义变量需要给出数据类型和变量名。变量名的指定需要满足3个条件:

1.字母、数字、下划线、美元符号$组成。

2.不能以数字开头。

3.不能与系统关键字重复。

定义变量后,就可以通过赋值运算符“ = ”将某个值赋予这个变量,即将这个数存储到该变量对应的存储空间中去。

例如

计算机开展的运算主要有算术运算和逻辑运算两种,本文中的例子就是简单的算术运算的示例。

本课实例

代码1

代码2

程序运行结果

代码1和代码2是两个独立的程序,运行的结果一样,都是下图

代码说明

程序设计语言中的常量一般有两种:符号常量和直接常量。直接常量是无需定义直接使用的数据,比如此例子中的85是整型(整数型)的直接常量,0.3和0.7是浮点型(小数型)的直接常量。符号常量由用户指定一个标识符来代表某个直接常量,此例中语句final double PASS_LINE = 60;就是用定义符号常量的系统关键字final来指定一个double类型(双精度浮点型)的符号常量PASS_LINE,其值为60. 使用符号常量的好处主要由两个,第一是“见名知义”,第二是如果将来程序中将及格线定义为70,而程序下文中有很多地方出现及格线数据,只需要在定义符号常量的地方修改代码更换PASS_LINE的值即可。而使用直接常量60,则不得不将程序代码中所有出现60的地方都改为70.

代码2中的符号常量看上去和那几个变量名一样,都是被赋予一个值,然后参与计算。然而区别在于,符号常量在整个代码中只能在一处赋值,而其他几个变量可以出现多次重新赋值。

无论是符号常量还是变量的取名,都因该能从名字上了解其含义。定义a,b这样的名字可以,但很难让人知道其含义,应该避免。符号常量的名字定义一般使用大写字母,变量名用小写,但名字中的第2个及以后的单词的首字母都大写。这并非硬性语法规定,但这是程序设计圈子里的约定俗成。类似的约定俗成还有很多,后面会接触更多。因为写程序不是只为了给自己阅读,准守被广泛接受的约定俗成也是写代码是需要注意的。

以“//”开头的,显示为灰色的中文字符串是注释。注释是为了增加代码的可读性,便于别人和以后的自己能迅速弄明白代码的含义。注释部分的代码编译器将不加理会。JAVA语言中支持的注释方式有“//”注释一行,或者由“ /* ”和“ */”包括起来的多行注释内容。

和前一课的例子不同的是,两个代码中用于输出数据的方法是System.out.printf(String format, object args ),尽管有些许不同,但是作用相近。这里的参数String format被指定为“%.1f”,这是一个格式占位符,为第二个参数的值指明格式。其中%f说明将第二个参数以浮点型数据输出,在f前加“.1”说明输出的浮点型数据小数点后保留一位有效数字。在代码1中,object args参数被指定为算术表达式(PASS_LINE – 85 *0.7)/ 0.3,此printf方法就是为了输出这个表达式的值,其格式由“.1f”指定。

算术表达式由数据和算术运算符组成。这个例子里有减“-”、乘“*”、除“/”等算术运算符。除此之外,JAVA语言还有加“+”,取余“%”等算术运算符

限时特惠:本站每日持续更新海量各大内部网赚创业教程,会员可以下载全站资源点击查看详情
站长微信:11082411

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。