教育路上

全国站>Java>基本程序>常量、变量与基本数据类型
学员需求

常量、变量与基本数据类型

摘要:java 常量、变量与基本数据类型,常量与变量。顾名思义,常量是指在程序运行过程中 为固定值的数据,其值不能改变,。以下是我们为大家整理的,相信大家阅读完后肯定有了自己的选择吧。

2022-05-21 21:24网络推荐

发布时间:
2022-05-21 21:24
信息来源:
网络推荐
浏览次数:
630
常量、变量与基本数据类型

现在让我们来考虑一个实际问题,假设我们需要编写一个程序来帮助我们计算矩形的周长和
面积。首先我们要想让计算机来帮助我们进行数据处理就必须告知计算机要处理的数据是什
么,即以合适的方式将数据放入到计算机的内存中。
数据在计算机内存中有两种存在形式,常量与变量。顾名思义,常量是指在程序运行过程中
为固定值的数据,其值不能改变,而变量在程序运行的过程中其值可以通过赋值改变。在程
序中常量可以直接使用,而变量需要定义,并赋值后才能使用。当我们在程序中需要变量时,
可以使用如下形式来定义一个变量:
数据类型 变量名
通常我们会使用变量来表示待处理的数据,如前所述求矩形周长和面积的问题,要解决这个
问题,就需要告知计算机待计算矩形的长度和宽度,因此我们可以定义两个变量 width 和
height 来存储矩形的长度和宽度(假设它们都是整数),如:
int width;
int height;
int 是 java 中的关键字。关键字是指在 Java 中具有特定意义的单词,如第一章中见到的 class,
它表示要定义一个类,int 在这里表示其后面紧跟的变量名表示的是标准整型。数据类型是
一个非常重要的概念,它指定了其所代表的类型能够表示的数据的类型和范围。变量中存储数据就好像我们现实生活中使用容器来存储物品一样,不同类型的物品我们可以使用不同的
容器来存储,例如我们使用可以使用密封的容器来存放液体,并且不同容积的容器可以容纳
液体的多少也不相同。Java 中的基本数据类型有 4 种,分别是整型、浮点型(实型)、字符

型、布尔类型,其能够表示的数据的类型和其使用的内存单元的数量如下表所示

from shengerguan


数据类型所占用的内存单元数量决定了该类型能够表示的数据的个数。我们都知道,在计算
机中一个位(bit)可以表示一个 0 或者一个 1,一个字节(Byte)有八位,因此一个字节能
够表示数据的个数为28个数据信息。以 int 为例,java 中的标准整型占用 4 个字节的内存单
元(32 位),因此它最多可以表示2 32个整数,从−2 31~2 31 − 1即−2147483648~2147483647。
接下来我们用一个简单的示例,来演示各种基本数据类型的变量的定义方式,并且对其赋值
后在控制台中进行显示,源代码如程序清单 2-1 所示:
程序清单 2-1 BasicDataTypeEx.java
1 public class BasicDataTypeEx{
2
3 public static void main(String[] args){
4 byte num1=127;
5 short num2=-32768;
6 int num3,num4=100;
7 long num5=1000000000000L;
8 float num6=32.5f;
9 double num7=3.1415926;
10 boolean flag=true;
11 char ch='a';
12 num3=65535;
13 System.out.println("字节类型:"+num1);
14 System.out.println("短整型:"+num2);
15 System.out.println("标准整型:"+num3+","+num4);
16 System.out.println("长整型:"+num5);
17 System.out.println("单精度实型:"+num6);
18 System.out.println("双精度实型:"+num7);
19 System.out.println("布尔类型:"+flag);
20 System.out.println("字符类型:"+ch);
21 }22 }
程序运行结果如图 2-3 所示:
from shengerguan



程序清单 2-1 中第 4 行开始至第 12 行位置,依次定义了各种基本数据类型的变量并使用相
应常量为其赋值。变量 num1 为字节型(byte)变量,其值为 127;变量 num2 为短整型(short)
变量,其值为 32768;变量 num3 和 num4 均为标准整型(int)变量,其值分别为 65535 和
100;num5 为长整型(long)变量,其值为 1000000000000L;num6 为单精度实型(float)
变量,其值为 32.5f;num7 为双精度实型(double)变量,其值为 3.1415926;flag 为布尔
类型(boolean)变量,其值为 true;ch 为字符类型(char)变量,其值为’a’。第 13 行至 20
行,使用了 System 类的 out 对象的 println 方法在控制台中输出了这些变量的值。
num1~num7、flag、ch 均为变量名,在 java 中我们可以使用合法的标识符来作为变量的名称。
合法标识符须符合以下规则:
◼ 标识符可以由数字、字符、下划线(
_)和美元符号(
$)组成,首字必须是字母、下划
线或美元符号。
◼ Java 关键字不能作为标识符使用。
◼ 标识符中不能包含空格。
◼ 标识符不能包含除下划线和美元符号之外的其他特殊符号。
由于 java 使用 Unicode 字符集,因此字母并不仅仅指 26 个英文字母,也包含中文字符、拉
丁字母等,但是并不建议使用它们来组建你的标示符。
使用标识符来命名变量(方法或类)时,应尽量使用有意义的单词或单词缩写,避免使用无
意义的单个字符诸如 a、b、c、d 等来作为变量名,当使用多个单词来作为标识符时,首个
单词应全部小写,其后的单词首字大写,其他字符均小写。这不是 java 的语法规则,而是
我们在进行程序设计时,应养成的一种良好的编程规范。如有如下两段代码段,均为求矩形
面积:代码段 1
int a,b,c;
a=5;
b=10;
c=a*b;
代码段 2
int width,height,area;
width=5;
height=10;
area=width*height;
代码段 2 的可读性明显高于代码段 1,代码段 1 在没有说明的情况下,只能看出是在做乘法
运算,而代码段 2 能够很容易的看出是在求矩形的面积。
在程序清单 2-1 中,除了各种基本数据类型的变量外,我们还使用了各种基本数据类型的常
量来为这些变量赋值,如 127、1000000000000L、32.5f、3.1415926、true、’a’等。
整型常量,就是我们数学中的整数。在 java 中允许我们以三种形式来提供整型常量,十进
制、八进制与十六进制。在程序清单 2-1 中,所有整型常量均以十进制形式进行表示,如
127。如果我们需要以八进制表示一个整型常量,我们需要以数字 0 来作为该常量开头,如
0177,它表示十进制的 127。如果我们需要以十六进制表示一个常量,我们需要以 0x 作为
常量的开头,如 0x7F,它同样表示十进制 127。下面我们在程序清单 2-2 中来进行演示:
程序清单 2-2 IntegerType.java
1 public class IntegerType{
2 public static void main(String[] args)
3 {
4 int decimalNum=127;
5 int octalNum=0177;
6 int hexNum=0x7F;
7 System.out.println(decimalNum);
8 System.out.println(octalNum);
9 System.out.println(hexNum);
10 }
11 }
该程序执行结果如图 2-4 所示

from shengerguan


在程序清单 2-2 中我们对三个变量 decimalNum、octalNum 和 hexNum 分别以十进制、八进
制和十六进制的形式进行了赋值,最后输出结果均为 127。
另外我们在程序清单 2-1 中看到,在向长整型变量 num5 赋值时,我们使用的常量
1000000000000L,在 java 中长整型的常量,在尾部必须添加小写字母 l 或大写字母 L 来表示
该常量是一个长整型变量。
实型常量,就是我们数学中的小数。Java 中实型常量的默认类型为双精度实型,其有效位数
为 15~16 位,如果希望使用单精度实型的常量,需要在尾部添加小写字母 f 或大写字母 F 来
表示该常量是一个单精度实型的常量,单精度实型的有效位数为 6~7 位。实型数据在做运算
的过程中可能出现误差,因此适合于做科学计算或工程计算,而不适合于商业计算。我们在
程序清单 2-3 中来进行演示:
程序清单 2-3 RealType.java
1:public class RealType{
2: public static void main(String[] args){
3: float op1=2.45f;
4: float op2=4.554271f;
5: float result=op1+op2;
6: System.out.println(op1+"+"+op2+"="+result);
7: double num1=2.45;
8: double num2=3.001;
9: double sum=num1+num2;
10: System.out.println(num1+"+"+num2+"="+sum);
11: }
12:}
其执行结果如图 2-5 所示:

from shengerguan


我们可以看到,程序运行的结果与我们预期的结果有差异。造成这种差异的原因是浮点数在
计算机中进行表示时采用了近似值,在计算机中 1.0 的表示有可能是 0.99999999999999,也
可能是 1.000000001,因此在实际运算中可能出现误差。要解决这个问题,我们可以使用
BigDecimal 类来处理浮点数运算,具体操作过程我们将在后面的章节中给大家进行讲解。
字符常量是用单引号括起来的单个字符,如’a’、’谢’、’Ф’等,java 使用的是 Unicode 码,因
此在 java 程序中,字符并不仅仅只是 26 个英文符号,也可以是中文或拉丁字母等。有时候
我们在程序中需要输出一些控制字符,或在 java 中有特殊意义的字符,如单引号,这时我
们可以使用转义字符。
转义字符是一种特殊的字符,它是以反斜线开始,后面跟上一个对编译器而言具有特殊意义
的字符。常用转义字符如表 2-2 所示
from shengerguan



我们通过一个示例来演示字符常量及转义字符的使用,源码如程序清单 2-4 所示:
程序清单 2-4 CharacterType.java
1:public class CharacterType{
2: public static void main(String[] args){
3: char ch='a';
4: char chinese='中';
5: char diamond='\004';
6: char blank='\t';
7: System.out.println(""+ch+blank+chinese+blank+diamond);
8: }
9:}
程序清单 2-4 中第 3 行定义了一个字符变量 ch 并将一个英文字符’a’赋值给它,第 4 行定义了
一个字符变量 chinese 并将一个中文字符’中’赋值给它,第 5 行定义了一个字符变量 diamond并使用转义字符的形式,将 Unicode 码为 004 的字符赋值给它,第 6 行定了一个字符变量 blank
并将制表符赋值给它,最后将它们连接在一起,并输出到控制台,其运行结果如图 2-6 所示:
from shengerguan



布尔类型常量最简单,它只有两个值,一个是 true 表示真值,一个是 false 表示假值,注意
这两个值均为小写形式。




上一篇:
计算机内存地址
下一篇:
算术运算符
标签:
网友评论
发布评论

访客的评论 2024/04/26 22:23

文中描述的是准确的吗,如何报名!

相关推荐
我也来发表评价关闭
我对该内容的评价:
0
评价500
验证码: 看不清 换一张
提交 (匿名发布,无须担心别人知道您的身份)
学校免费发布信息关闭
我们审核后会尽快展示,如有图片请发邮件到:edu63@foxmail.com

姓      名:

内      容:

手机号码:

验  证  码:  换一张

确认提交
填写需求信息关闭
我们会根据您的需求匹配并审核留言

姓      名:

意向城市:

留      言:

手机号码:

验  证  码:  换一张

确认提交
完善补充本文信息关闭
非常感谢您帮助完善补充本文信息


 换一张

确认提交