《JAVA程序设计基础第3章陈国君》由会员分享,可在线阅读,更多相关《JAVA程序设计基础第3章陈国君(75页珍藏版)》请在金锄头文库上搜索。
1、第3章Java语言基础1通过本章的学习,主要掌握以下知识点:Java使用的数据类型数据类型转换 由键盘输入数据 运算符与表达式 本章的重点:由键盘输入数据本章的难点:数据类型转换表达式及运算符的优先级、结合性 本章主要介绍编写Java程序必须掌握的 若干语言基础知识,包括数据类型、变量、 常量、表达式等。掌握这些基础知识,是编 写正确Java程序的前提条件。 3.1 数据类型在程序设计中,数据是程序的必要组成部分,也 是程序处理的对象。不同的数据有不同的数据类型 ,不同的数据类型有不同的数据结构、不同的存储 方式,并且参与的运算也不相同。通常计算机语言 将数据按其性质进行分类,每一类称为一种数
2、据类 型(data type)。数据类型定义了数据的性质、取值 范围、存储方式以及对数据所能进行的运算和操作 。Java中的数据类型分为两大类,一类是基本数据类 型(primitive types),另一类是引用类型(reference types)。 基本数据类型有: 整型(integral) 浮点型(floting) 逻辑型(logical) 字符型(textual) 引用类型包括: 类(class) 数组(array) 接口(interface)Java定义了4类共8种基本类型,它们的分类及 关键字如下: 整型: byte,short,int,long。 浮点型:float,double
3、。 逻辑型:boolean。 字符型:char。1整型 整数有正整数、零、负整数,其含义与数学 中的含义相同。有三种进制表示形式。 Java定义了四种表示整数的类型:字节型 (byte)、短整型(short)、整型(int)、长整型(long) 。每种整型的数据都是带符号位的。Java的每种 数据类型都对应个默认的数值,使得这种数据 类型变量的取值总是确定的,体现了其安全性。 它们的特性如表3.1所示。 表3.1 Java的四种整型类类 型数据位范 围围byte(字节节型)8-128127,即2727-1Short(短整型)16-32 76832 767,即-215215-1int(整型)32
4、-2 147 483 6482 147 483 647,即-231231-1long(长长整型)64-9 223 372 036 854 775 8089 223 372 036 854 775 807,即 -263263-l2浮点型 Java用浮点型表示数学中的实数,也就是说 既有整数部分又有小数部分的数。浮点数有两种 表示方式。 标准计数法 科学计数法 Java的浮点型有单精度浮点(float)和双精度 浮点(double)两种。它们的宽度和范围如表3.2所 示。 表3.2 Java的两种浮点型类类 型数据位范 围围float(单单精度浮点) 321.4E-453.4E+38double(
5、双精度浮点)644.9E-3241.8E+3083逻辑型 逻辑型(boolean)用来表示逻辑值,也称为 布尔型。它只有true和false两个取值。其中, true代表“真”,false代表“假”,true和false不 能转换成数字表示形式。 4字符型 字符型(char)用来存储字符。Java语言是用 Unicode编码表达的字符,在内存中占两个字节 。由于Java的字符类型采用了Unicode这种新的 国际标准编码方案,因而便于东方字符和西方字 符的处理。因此,与其他语言相比,Java处理多 语种的能力大大加强。说明l字符型数据只表示单个字符,定界符为。lJava语言中所有可见的ASCI
6、I字符都可以用 单引号括起来成为字符。l字符型数据可以转化成整数。取值在 065535之间。现将Java的4类8种基本数据类型总结归纳成表3.3。 表3.3 Java的基本数据类型 数据类类型关键键字占用字节节数默认认数值值取值值范围围布尔型boolean1falsetrue,false 字节节型byte10-128127 短整型short20-3276832767 整型int40-21474836482147483647长长整型long80L-9223372036854775808 9223372036854775807 单单精度浮点型float40.0F1.410-453.41038 双精
7、度型double80.0D4.910-3241.810308字符型char2u0000 u0000uffff为了使用上的方便Java提供了数值型数据的最 大值与最小值的标识符及常量值。如表3.4所示。表3.4 数值型常量的特殊值代码 数据类类型所在的类类最小值值代码码最大值值代码码byteJava.lang.ByteByte.MIN_VALUEByte.MAX_VALUEshortJava.lang.ShortShort.MIN_VALUEShort.MAX_VALUEintJava.lang.IntegerInteger.MIN_VALUEInteger.MAX_VALUElongJava.
8、lang.LongLong.MIN_VALUELong.MAX_VALUEfloatJava.lang.FloatFloat.MIN_VALUEFloat.MAX_VALUEdoubleJava.lang.DoubleDouble.MIN_VALUEDouble.MAX_VALUE3.2 关键字与标识符1关键字 关键字(keyword)是Java中具有特殊含义的字符序 列,因此Java不允许用户对关键字赋予其他的含义 。Java定义的关键字如表3.5所示。表3.5 Java定义的关键字abstractbooleanbreakbytecasecatch charclasscontinuedefa
9、ultdodoubleelseextendsfalsefinalfinallyfloatforifimplementsimportinstanceofintinterfacelongnativenewnullpackage privateprotectedpublicreturnshortstaticsuperswitchsynchronizedthisthrowthrowstransienttruetryvoidvolatilewhile2标识符 Java用标识符(identifier)表示变量名、类名 和方法名。也就是说,任何一个变量、常量、方 法、对象和类都需要有名字,这些名字就是标识
10、符。标识符可以由编程者自由指定,但是需要遵 循一定的语法规定。标识符要满足如下的规定: (1)标识符可以由字母、数字和下划线(_)、美 元符号($)组合而成; (2)标识符必须以字母、下划线或美元符号开 头,不能以数字开头。Java编码习惯l类名首字母大写。l变量、方法及对象首字母小写。l标识符所包含的单词紧靠在一起,大写首字 母。l常量应该大写。lJava包全部小写。3.3 常量常量存储的是在程序中不能被修改的固定值, 也就是说常量是在程序运行的整个过程中保持其值 不改变的量。Java中的常量也是有类型的,包括整 型、浮点型、逻辑型、字符型和字符串型常量。 1整型常量 整型常量可以用来给整型
11、变量赋值,整型常 量可以采用十进制、八进制和十六进制表示。 2浮点型常量浮点型常量表示的是可以含有小数部分的数 值常量。根据占用内存长度的不同,可以分为一般 浮点(单精度)常量和双精度浮点常量两种。其中, 单精度常量后跟一个字母f或F,双精度常量后跟一 个字母d或D。双精度常量后的d或D可以省略。 转义符是一些有特殊含义、很难用一般方式 来表达的字符,如回车、换行等。为了表达清楚 这些特殊字符,Java中引入了一些特别的定义。 所有的转义符都用反斜线()开头,后面跟着一个 字符来表示某个特定的转义符,如表3.6所示。转义转义 字符所代表的意义义f换页 (Form feed),走纸到下一页。b退
12、格(Backspace),后退一格。n换行(New line),将光标移到下一行的开始。r回车(Carriage return),将光标移到当前行的行首,但不移到下一行。t横向跳格(Tab),将光标移到下一个制表符位置。反斜线字符(Backslash),输出一个反斜杠。单引号字符(Single quote),输出一个单引号。“双引号字符(Double quote),输出一个双引号。uxxxx1到4位十六进制数(xxxx)所表示的unicode字符。ddd1到3位八制数(ddd)所表示的unicode字符,范围在八进制的000377之间 。表3.6 常用的转义字符5字符串常量 字符串常量是用双引
13、号括起的一串若干个字 符(可以是0个)。字符串中可以包括转义符。 6. 常量的声明 常量声明的形式与变量声明基本一样,只需用 关键字final标识,通常final写在最前面。例如,final int MAX10;final float PI3.14f; 3.4 变量在程序中使用的值大多是需要经常变化的数据 ,用常数值表示显然是不够的,因此每一种计算机 语言都使用变量(variable)来存储数据,变量的值在 程序中是可以改变的,使用变量的原则是“先声明 后使用”,即变量在使用前必须先声明。1变量声明 计算机程序是通过内存变量来操纵内存中的 数据,所以程序在使用任何变量之前首先应该在 该变量和内
14、存单元之间建立联系,这个过程称为 变量的声明或称变量的定义。变量具有三个基本要素:名字、类型和值。 变量声明的格式如下: =,=例如,int i,j,k; 在声明变量的同时也可以对变量进行初始化,即赋 初值。例如,int i0;2变量的赋值 当声明一个变量并没有赋初值或需要重新对变 量赋值时,就需要使用赋值语句。Java语言的赋值 语句同其他计算机语言的赋值语相同,其格式为: 变量名=值 下面举例来说明。boolean b=true; /声明boolean型变量并赋值int x,y=8; /声明int型变量float f=2.718f; /声明float型变量并赋值double d=3.141
15、5; /声明double型变量并赋值char c; /声明char型变量c=u0031 ; /为char型变量赋值x=12; /为int型变量赋值3.5数据类型转换Java的数据类型在定义时就已经决定,因此 不能随意转换成其他的数据类型,但Java容许用 户有限度地做类型转换处理,这就是所谓的数据 类型转换,简称类型转换。类型转换就是在Java 程序中,常数或变量从一种数据类型转换到另一 种数据类型。 一、数值型不同类型数据的转换 由于数值型也分为不同的类型,所以数值型数 据也有类型转换问题。 1自动类型转换 在程序中已经定义好的数值型的变量,若是想 以另一种类型表示时,Java会在下列条件同
16、时成立 时,自动进行数据类型的转换: (1)转换前的数据类型与转换后的类型兼容。 (2)转换后的数据类型的表示范围比转换前的 类型大。 【例3.1】数据类型的自动转换。 /app3_1.java 类型自动转换 public class app3_1 public static void main(String args) int a=155; float b=21.0f; System.out.println(”a=”+a+”,b=”+b); /输出a,b的值 System.out.println(”a/b=”+(a/b); /输出a/b的值 输出结果为: a=155,b=21.0 a/b=7.38095242