Java大学实用教程第2章基本数据类型和数组_第1页
Java大学实用教程第2章基本数据类型和数组_第2页
Java大学实用教程第2章基本数据类型和数组_第3页
Java大学实用教程第2章基本数据类型和数组_第4页
Java大学实用教程第2章基本数据类型和数组_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章基本数据类型和数组

本章导读标识符和关键字基本数据类型基本数据类型的转换数据的输入与输出数组12.1标识符和关键字

1.标识符用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。简单地说,标识符就是一个名字。

Java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字。标识符中的字母是区分大小写的,Beijing和beijing是不同的标识符。

2.关键字

关键字就是Java语言中已经被赋予特定意义的一些单词,它们在程序上有着不同的用途,不可以把关键词作为名字来用。22.2基本数据类型

基本数据类型也称作简单数据类型。Java语言有8种简单数据类型,分别是:boolean、byte、short、int、long、

float、double、char。这8种数据类型习惯上可分为4大类型:逻辑类型:boolean整数类型:byte、short、int、long字符类型:char浮点类型:float、double31.逻辑类型常量:true,false。变量的定义:使用关键字boolean来定义逻辑变量,定义时也可以赋给初值。例:

booleanx,ok=true,关闭=false;

42.整数类型

常量:123,6000(十进制),077(八进制),0x3ABC(十六进制)。

整型变量的定义分为4种。(1)int型使用关键字int来定义int型整型变量,定义时也可以赋给初值,例如:intx,平均=9898;对于int型变量,内存分配给4个字节(byte)。

int型变量的取值范围是:-231~

231-1。(2)byte型使用关键字byte来定义byte型整型变量。对于byte型变量,内存分配给1个字节,占8位,byte型变量的取值范围是-27~27-1。(3)short型使用关键字short来定义short型整型变量。对于short型变量,内存分配给2个字节,short型变量的取值范围是-215~215-1。(4)long型使用关键字long来定义long型整型变量,对于long型变量,内存分配给8个字节,long型变量的取值范围是-263~263-1。53.字符类型常量:

Uincode表中的字符就是一个字符常量,例如'A','?','9','好','き’'

等。

Java还使用转意字符常量,如:'\n'表示换行,'\b'表示退格

'\t'表示水平制表'\''表示单引号变量的定义:使用关键字char来定义字符变量,例如:

charx='A',漂亮='假',jiafei;char类型变量内存分配给2个字节,占16位,最高位不是符号位,没有负数。Char类型变量的取值范围是0~65535。对于charx='a';内存中存储的是97,97是字符

'a'在Unicode表中的排序位置。因此,允许将上面的语句写成

charx=97;

下面的例子2-1中,用显示转换来显示一些字符在Unicode表中的位置,以及某些位置上的字符。效果如图2-1所示.6例子2-1效果图74.浮点类型

浮点型分两种

(1)float型

常量:

453.5439f,21379.987F,2e40f(2乘10的40次方,科学计数法)

变量的定义:

使用关键字float来定义float型变量。对于float型变量,内存分配给4个字节,其取值范围是10-38~1038和-1038~-10-38。

(2)double型

常量:

21389.5439d(d可以省略),23189908.987,123.0,6e-140(6乘10的-140次方,科学计数法)。变量的定义:使用关键字double来定义double型变量。double型变量,内存分配给8个字节,double型变量的取值范围大约是10-308~10308

和-10308

~-10-308。82.3基本数据类型的转换

基本数据类型的转换就是把一种基本数据类型变量转变成另一种基本类型变量。下列基本类型会涉及数据转换,不包括逻辑类型和字符类型。我们将这些类型按精度从“低”到“高”排列了顺序:

byteshortintlongfloatdouble

当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换,如int型转换成long型。当把级别高的变量的值赋给级别低的变量时,必须使用显示类型转换运算。显示转换的格式:

(类型名)要转换的值;例如,intx=(int)34.89;longy=(long)56.98F;如果输出x和y的值将是34和56

例如,bytea=(byte)128;byteb=(byte)(129);那么,a和b的值分别是128和127。下面的例子2-2中,显示了类型转换的结果。效果如图2-2所示.9例子2-2效果图102.4数据的输入与输出

由于C语言出现的比较早,那个时候还没有图形用户界面的概念(GraphicsUserInterface),因此,C语言提供了许多用来输入、输出数据的函数,例如printf、scanf等。Java不象C,提供在命令行进行数据输入、输出的功能不多。关于输入、输出我们将在第九章详细介绍,现在只需知道它的作用是在命令行窗口(例如,MS-DOS窗口)输出数据即可。Sun公司新推出的JDK1.5又新增了一些在命令行进行数据输入、输出的功能。111数据输出System.out.printf

System.out.printf的功能完全类似C语言中的printf函数。pringf的一般格式:

printf(格式控制部分,表达式1,表达式2,…表达式n);

这里的用法与C语言相同,这里不再累述。下面的例子2-3中,来进一步了解System.out.printf数据输出。效果如图2-3所示。122数据的输入Scanner

Scanner是SDK1.5新增的一个类,可以使用该类创建一个对象:

Scannerreader=newScanner(System.in);

然后reader对象调用下列方法(函数),读取用户在命令行输入的各种数据类型,nextByte(),nextDouble(),nextFloat(),nextInt(),nextLine(),nextLong(),nextShort()。下面的例子2-4中,用户在键盘依次输入若干个数字,每输入一个数字都需要按回车键确认,最后在键盘输入一个非数字字符串结束整个输入操作过程。程序将计算出这些数的和以及平均值。。效果如图2-4所示。132.5数组

数组是相同类型的数据按顺序组成的一种复合数据类型。通过数组名加数组下标来使用数组中的数据。下标从0开始。

1.声明数组声明数组包括数组的名字、数组包含的元素的数据类型。

声明一维数组有下列两种格式:

数组元素类型数组名字[];数组元素类型[]数组名字;

声明二维数组有下列两种格式:

数组元素类型数组名字[][];数组元素类型[][]数组名字;142创建数组

声明数组仅仅是给出了数组名和元素的数据类型,要想使用数组还必须为它分配内存空间,即创建数组。

在为数组分配内存空间时必须指明数组的长度。格式如下:

数组名字=new数组元素的类型[数组元素的个数];

例如:

boy=newfloat[4];声明数组和创建数组可以一起完成,如

floatboy[]=newfloat[4];

intmytwo[][]=newint[3][4];

为数组分配内存空间后,数组boy获得4个用来存放float类型数据的内存空间,内存示意如图2.5所示。

153数组元素的使用

一维数组通过下标符访问自己的元素,如boy[0],boy[1]等。需要注意的是下标从0开始,因此,数组若是7个元素,下标到6为止,如果你将来使用下标超过6将会发生异常。二维数组也通过下标符访问自己的元素,如a[0][1],a[1][2]等。下标也是从0开始。164数组的初始化

创建数组后,系统会给每个数组元素一个默认的值,如,float型是0.0。我们在声明数组时同时也还可以给数组的元素一个初始值,如:

floatboy[]={21.3f,23.89f,2.0f,23f,778.98f};

175length的使用

对于一维数组,"数组名字.length"的值就是数组中元素的个数;对于二维数组"数组名字.length"的值是它含有的一维数组的个数。例如,对于float[]a=newfloat[12];int[][]b=newint[3][6];a.length的值12;而b.length的值是3。

186数组的引用

数组属于引用型变量,因此两个相同类型的数组如果具有相同的引用,它们

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论