您的位置:首页 > 编程语言 > Java开发

Java编程基本数据类型(datatype) 、变量和常量

2008-10-13 22:44 411 查看
程序中最核心的就是一系列的数据,或者叫程序状态,计算机为了方便的管理数据,就为数据设定了一组类型,这样在为数据分配内存以及操作数据时都比较方便,这就是数据类型的由来。其实现实生活中也存在各种数据类型,例如数字型,字符型等,数字型又可以划分为整数型和小数型,只是没有很可以的划分罢了。
在数据类型中,最常用也是最基础的数据类型,被称作基本数据类型。可以使用这些类型的值来代表一些简单的状态。

学习数据类型需要掌握每种数据类型的特征,以及对应的细节知识,这样会有助于对类型的选择。所以在初次学习时,需要记忆很多的内容Java语言的基本数据类型总共有以下8种,下面是按照用途划分出的4个类别:

整数型:byte(字节型)、short(短整型)、int(整型)、long(长整型)

小数型:float(单精度浮点型)、double(双精度浮点型)

字符型:char

布尔型:boolean

字符串型:String

1、 整数型

整数型是一类代表整数值的类型。当需要代表一个整数的值时,可以根据需要从4种类型中挑选合适的,如果没有特殊要求的话,一般选择int类型。4种整数型区别主要在每个数据在内存中占用的空间大小和代表的数值的范围。具体说明参看下表:

整数型参数表

类型名称关键字占用空间(字节)取值范围默认值
字节型byte1-27—27-10
短整型short2-215—215-10
整型int4-231—231-10
长整型long8-263—263-10
说明:

1、Java中的整数都是有符号数,也就是有正有负。

2、默认值指在特定的情况下才自动初始化,具体的情况后续将有叙述。

3、程序中的整数数值默认是int以及int以下类型,如果需要书写long型的值,则需要在数值后面添加字母L,大小写均可。

4、程序中默认整数是十进制数字,八进制数字以数字字符0开头,例如016、034等,十六进制数字以数字字符0和字母x(不区分大小写)开头,例如0xaf、0X12等。

2 、小数型

小数型是一类代表小数值的类型。当需要代表一个小数的值时,可以根据需要从以下2种类型中挑选合适的。如果没有特殊要求,一般选择double类型。

由于小数的存储方式和整数不同,所以小数都有一定的精度,所以在计算机中运算时不够精确。根据精度和存储区间的不同,设计了两种小数类型,具体见下表:

小数型参数表

类型名称关键字占用空间(字节)取值范围默认值
单精度浮点型float4-3.4E+38—3.4E+380.0f
双精度浮点型double8-1.7E+308—1.7E+3080.0
说明:

1、取值范围以科学计数法形式进行描述。

2、在程序中,小数的运算速度要低于整数运算。

3、float类型的小数,需要在小数后加字母f,不区分大小写,例如1.01f.

3、 字符型

字符型代表特定的某个字符,按照前面介绍的知识,计算机中都是以字符集的形式来保存字符的,所以字符型的值实际只是字符集中的编号,而不是实际代表的字符,由计算机完成从编号转换成对应字符的工作。

Java语言中为了更加方便国际化,使用Unicode字符集作为默认的字符集,该字符集包含各种语言中常见的字符。

在程序代码中,字符使用一对单引号加上需要表达的字符来标识,例如‘A’、‘a’等,当然也可以直接使用字符编码,也就是一个非负整数进行表示。

字符型参数表

类型名称关键字占用空间(字节)取值范围默认值
字符型char20-216-10
说明:

1、字符型的编号中不包含负数。

2、字符型由于存储的是编号的数值,所以可以参与数学运算。

3、字符型可以作为Java语言中的无符号整数使用。

4、字符型的默认值是编号为0的字符,而不是字符0

4、 布尔型

布尔型代表逻辑中的成立和不成立。Java语言中使用关键字true代表成立,false代表不成立。布尔型是存储逻辑值的类型,其实很多程序中都有逻辑值的概念,Java把逻辑的值用布尔型来进行表达。

布尔型参数表

类型名称关键字占用空间(字节)取值范围默认值
布尔型booleantrue或falsefalse
说明: 1、布尔型占用的空间取决于Java虚拟机(JVM)的实现,可能是1位也可能是1个字节。

5、 字符串型

String str;

str="abcdedf";

6、变量和常量

6.1 变量

在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量。

变量代表程序的状态。程序通过改变变量的值来改变整个程序的状态,或者说得更大一些,也就是实现程序的功能逻辑。

为了方便的引用变量的值,在程序中需要为变量设定一个名称,这就是变量名。例如在2D游戏程序中,需要代表人物的位置,则需要2个变量,一个是x坐标,一个是y坐标,在程序运行过程中,这两个变量的值会发生改变。

由于Java语言是一种强类型的语言,所以变量在使用以前必须首先声明,在程序中声明变量的语法格式如下:

数据类型 变量名称;

例如:int x;

在该语法格式中,数据类型可以是Java语言中任意的类型,包括前面介绍到的基本数据类型以及后续将要介绍的复合数据类型。变量名称是该变量的标识符,需要符合标识符的命名规则,在实际使用中,该名称一般和变量的用途对应,这样便于程序的阅读。数据类型和变量名称之间使用空格进行间隔,空格的个数不限,但是至少需要1个。语句使用“;”作为结束。

也可以在声明变量的同时,设定该变量的值,语法格式如下:

数据类型 变量名称 = 值;

例如:int x = 10;

在该语法格式中,前面的语法和上面介绍的内容一致,后续的“=”代表赋值,其中的“值”代表具体的数据。在该语法格式中,要求值的类型需要和声明变量的数据类型一致。

也可以一次声明多个相同类型的变量,语法格式如下:数据类型 变量名称1,变量名称2,…变量名称n;例如:int x,y,z;在该语法格式中,变量名之间使用“,”分隔,这里的变量名称可以有任意多个。

也可以在声明多个变量时对变量进行赋值,语法格式如下:

数据类型 变量名称1=值1,变量名称2=值2,…变量名称n=值n;

例如:int x = 10,y=20,z=40;

也可以在声明变量时,有选择的进行赋值,例如:int x,y=10,z;以上语法格式中,如果同时声明多个变量,则要求这些变量的类型必须相同,如果声明的变量类型不同,则只需要分开声明即可,例如:

int n = 3;

boolean b = true;

char c;

在程序中,变量的值代表程序的状态,在程序中可以通过变量名称来引用变量中存储的值,也可以为变量重新赋值。例如:

int n = 5;

n = 10;

在实际开发过程中,需要声明什么类型的变量,需要声明多少个变量,需要为变量赋什么数值,都根据程序逻辑决定,这里列举的只是表达的格式而已。

6.2 常量

常量代表程序运行过程中不能改变的值。

常量在程序运行过程中主要有2个作用:

代表常数,便于程序的修改

增强程序的可读性

常量的语法格式和变量类型,只需要在变量的语法格式前面添加关键字final即可。在Java编码规范中,要求常量名必须大写。

则常量的语法格式如下:

final 数据类型 常量名称 = 值;

final 数据类型常量名称1 = 值1, 常量名称2 = 值2,……常量名称n = 值n;

例如:

final double PI = 3.14;

final char MALE=‘M’,FEMALE=‘F’;

在Java语法中,常量也可以首先声明,然后再进行赋值,但是只能赋值一次,示例代码如下:

final int UP;

UP = 1;

常量的两种用途对应的示例代码分别如下:

代表常数

final double PI = 3.14;

int r =5;

double l = 2 * PI * r;

double s = PI * r * r;

在该示例代码中,常量PI代表数学上的∏值,也就是圆周率,这个是数学上的常数,后续的变量r代表半径,l代表圆的周长,s代表圆的面积。

则如果需要增加程序计算时的精度,则只需要修改PI的值3.14为3.1415926,重新编译程序,则后续的数值自动发生改变,这样使代码容易修改,便于维护。

增强程序的可读性

int direction;

final int UP = 1;

final int DOWN = 2;

final int LEFT = 3;

final int RIGHT = 4;

在该示例代码中,变量direction代表方向的值,后续的四个常量UP、DOWN、LEFT和RIGHT分辨代表上下左右,其数值分别是1、2、3和4,这样在程序阅读时,可以提高程序的可读性。

6.3 语句块

在程序中,使用一对大括号{}包含的内容叫做语句块,语句块之间可以互相嵌套,嵌套的层次没有限制,例如:

{

int a;

}

语句块的嵌套:

{

int b;

{

char c;

}

}

以上代码只是演示语法,没有什么逻辑意义。在后续的语法介绍中,还会有语句块的概念,就不再重复介绍了。

6.4 变量的作用范围

每个变量都有特定的作用范围,也叫做有效范围或作用域,只能在该范围内使用该变量,否则将提示语法错误。通常情况下,在一个作用范围内部,不能声明名称相同的变量。

变量的作用范围指从变量声明的位置开始,一直到变量声明所在的语句块结束的大括号为止。例如以下代码:

{

{

int a = 10;

a = 2;

}

char c;

}

在该代码中,变量a的作用范围即从第三行到第五行,变量c的作用范围即从第六行到第七行。

6.5 常量的作用范围

常量的作用范围和变量的作用范围规则完全一致。

6.6 总结

对于变量和常量的内容就介绍这么,下面是一个完整的代码,可以在JDK或Eclipse中进行编译和运行。代码文件名为aaa.java,示例代码如下:

public class aaa{

public static void main(String[] args){

int n = 0;

char c = ‘A’;

System.out.println(n);

n = 10;

System.out.println(n);

System.out.println(c);

}

}

说明:在该代码中,System.out.println的功能是输出变量中存储的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐