ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:89.51KB ,
资源ID:9802756      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9802756.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第二章 Java编程基础.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第二章 Java编程基础.docx

1、第二章 Java编程基础教学提示:本章把注意力集中在Java语言的基础知识,主要介绍Java语言的数据类型、基本运算方法和Java语言的表达式和运算符。教学目标:掌握标识符的命名规则和Java语言中主要的数据类型。能对变量进行基本操作并能对Java语言中的几种基本运算符进行运算。2.1 数据类型概述2.1.1数据类型的分类Java数据类型包含基本数据类型和复合数据类型,基本数据类型分为数值型、字符型和布尔型,复合类型又分为类类型和接口类型。如图2-1所示:图2-1 Java语言数据类型Java语言对不同的数据类型规定了不同的组织形式和运算方法,对不同类型的数据在内存中分配不同长度的存储空间。本

2、章只介绍基本数据类型,其它数据类型将在后面的有关章节中介绍。2.1.2基本数据类型概述1.数值型数据数值型可以分为整数类型和浮点类型。整型数据是不带小数点的数。浮点数就是数学中的实数,主要用它处理带小数点的数。(1) 整数类型Java把整型数细分为字节型、短整型、整型、长整型。它们的类型标识符、默认值、取值范围和所占字节如表2-1所示:表2-1整型数据分类名称类型标识符默认值取值范围长度字节型byte0-1281271字节短整型short0-32768327672字节整型int0-231231-14字节长整型long0-263263-18字节注意:Java中所有整数类型都是有符号的,没有无符号

3、的整数。 (2) 浮点型Java提供了两种浮点类型:单精度和双精度。它们的类型标识符、默认值、取值范围和所占字节如表2-2所示:表2-2浮点数据分类名称类型标识符默认值取值范围长度单精度float0.0f-231231-14字节双精度double0.0d-263263-18字节(3) 字符类型字符类型中每个字节占两个字节,它使用的是Unicode字符集。字符类型可以与int类型转换。它的类型标识符、默认值、取值范围和所占字节如表2-3所示:(4) 布尔型布尔类型有两种取值true和false,在内存中占1字节,Java中的布尔值和数字是不能转换的,即true和false不对应于1和0数值。它的

4、类型标识符、默认值、取值范围和所占字节如表2-3所示:表2-3字符型和布尔型数据名称类型标识符默认值取值范围长度字符型char0或u00000065535或u0000uffff2字节布尔型booleanfalsetrue,false1字节2.2 Java语法基础2.2.1基本概念1. 常量常量是指直接放入程序中保持不变的量。常量的数据类型与上面介绍的基本数据相同。例如,12、-12、0是整型常量,-2.3f、3.134是浮点型常量。a是字符常量。2. 变量变量是用来存取某种类型值的存储单元,其中存储的值可以在程序执行过程中被改变。每个变量都有一个变量名,变量名的命名法则与标识法则相同。3. 标

5、识符标识符是能被编译器识别而提供的在程序中惟一的名字。在Java语言中用标识符对变量、类、方法等进行命名。对标识符的定义需要遵守以下的规则:(1) 标识符是由字母、“_”、“$”和数字组成。(2) 标识符以字母、“_”、“$”开头。(3) 标识符不能与关键字同名。(4) 标识符区分大小写。如:sum和Sum是不同的标识符。例如:nes_id,$fail,_ese为合法标识符。 nes-id,stud*,class为不合法标识符。4. 关键字关键字是Java语言本身提供的一种特殊的标识符,又称Java保留字。Java语言的关键字有40多个,如表2-4:表2-4 Java语言的关键字abstrac

6、tboolean break bytecasecatchcharclassconstcontinuedefaultdodoubleelseextensfalsefinalfinallyfloatforifimplementsimportinstanceofintinterfacelongnativenewpackageprivateprotectedpublicreturnshortstaticsuper switchsynchronizedthisthrow throwstransienttruetryvoidvolatilewhile5. 注释合理的注释不仅可以提高程序的可读性而且对程序的

7、调试和维护也有很大的帮助。在Java语言中可以使用下面的三种形式。(1) /注释内容:注释一行。表示从/起到行尾是注释的内容。(2) /*注释内容*/:注释一行或多行。/*和*/之间的为注释内容。这种形式的注释可以扩展到多行,但不能嵌套。(3) /*注释内容*/:文档注释。表示在/*和*/之间的内容,将自动包含在用javadoc命令生成的HTML格式的文档中。2.2.2 常量在Java语言中的常量有整型常量、浮点常量、字符常量、布尔常量、字符串常量和程序中定义的常量。1 整型常量:Java把整型常量分为三中形式:十进制、八进制、十六进制。(1) 十进制整数是不以数字0开头并由09组成的数字。如

8、0,64、87。(2) 八进制整数是以数字0开头并由07组成的数字。如00,034、0234。(3) 十六进制整数是以数字0字母x或X开头并由09及字母AF组成的数据。如0x0,0X7F、0x53。整型常量的取值范围是有限的,它的大小取决于其整型数据的类型,与所使用的进制无关,默认的是int类型,当说明一个整型常量为长整型时,则在整数的后面加L或l。如0XfffL即为长整型。2 浮点型常量浮点型常量是带小数的十进制数,默认的类型为双精度型,表示形式分为小数形式和指数形式。(1) 小数形式:由数字和小数点组成。如:0.34,.34,35.0,35.都是浮点型常量的小数形式。 (2) 指数形式:类

9、似于数学中的科学记数法。如:1.25*107可表示为1.25E7或1.25e7。3 字符型常量字符常量是用单引号括起来的一个字符。例如:a,5,#等都是字符常量。其中单引号是字符常量的定界符,不是字符的一部分。另外,Java区分大小写,所以a和A不是同一字符。除了以上形式的字符常量外,Java语言还允许使用一种以“”开头的字符,我们称其为转义字符,用来表示一些不可显示的或有特殊意义的字符。常见的转义如表2-5所示: 表2-5 转义字符表符号功能符号功能n换行(将光标移到下一行开头)单引号r回车(将光标移到本行开头)“双引号f换页(光标移到下页开始处)反斜杠b退格(光标移到前一列)ddd 八进制

10、模式t水平制表符(光标移到下一个Tab位置)udddd十六进制模式4 布尔型常量布尔常量只有两个值:“true”和“false”,表示“真”和“假”,均为关键字。5 字符串常量字符串(String)不是基本数据类型,是复合数据类型,但在Java语言中字符串类型非常常用,所以在此简单介绍一下字符串常量。字符串常量是用双引号括起来的0个或多个字符组成的。如“abc”,“”都是字符串。6 程序中定义的常量(符号常量)在Java程序中定义常量通过final关键字实现,常量通常用大写字母表示。常量声明赋值后,在程序中就不能再修改,否则将会产生编译错误。定义语句格式如下:final 类型标识符 常量名 常

11、量值;例:final float PI 3.14159; /定义符号常量PI,其值为3.141592.2.3 变量1. 变量定义Java语言规定,程序中的变量必须先定义、后使用,即在程序中的每个变量都要在使用前定义其数据类型。定义变量语句的一般格式如下:数据类型 变量列表; 【说明】(1) “数据类型”与表2-1、2-2、2-3中的变量标识符相同。(2) “变量列表”由一个或多个变量名组成。若“变量列表”中包含多个变量,中间用逗号隔开。【例2-1】定义变量的语句举例。 int a; /定义a为整型变量 int x,y; /定义x、y为整型变量 long sum1,sum2; /定义sum1、s

12、um2为长整型变量 float n1,n2; /定义n1、n2为单精度变量 char c1,c2; /定义c1、c2为字符型变量注意:在程序中,一个变量只能有一个数据类型,不能将已经定义的变量重新定义为其它类型的变量。 2. 变量赋值定义了变量后,才能给变量赋值。给变量赋值的操作由赋值运算符“=”来完成。给变量赋值语句的一般形式为:变量名=表达式【例2-2】给变量赋值的演示。代码:变量赋值程序j202.javapublic class j202 public static void main(String arg) int a,b; /定义变量a,b为整型变量 a=1; /给变量a赋初值 Sy

13、stem.out.println(a=+a); a=a+1; System.out.println(a=+a); b=a+1; System.out.println(b=+b); a=b+2; System.out.println(a=+a); 运行程序时,屏幕显示的结果如图2-2:图2-2例2-2运行结果3. 变量初始化Java语言在定义变量同时对变量进行赋值,称为变量的初始化。【例2-3】给变量赋值的演示。代码:变量赋值程序j203.javapublic class j203 public static void main(String arg) byte a=0x78; /定义十六进制字

14、节型变量 int b=3; /定义变量b为整型变量 float c=1.23f; /定义变量c为单精度变量 double d=3.23; /定义变量d为双精度变量 boolean e=false; /定义变量e为布尔型变量 char f=A; /定义变量f为字符型变量 System.out.println(转换成十进制的a=+a); System.out.println(b=+b); System.out.println(c=+c); System.out.println(d=+d); System.out.println(e=+e); System.out.println(f=+f); 程序

15、执行结果如图2-3:图2-3 例2-3运行结果注意:浮点类型的默认类型是double类型,所以float类型的数据后面必须加f或F。 4. 变量的作用域变量的作用域指变量作用的范围。变量按作用域可以分为:局部变量、类变量、方法参数、异常处理器参数。(1) 局部变量:在一个方法或一对 代码块内定义的变量称为局部变量。局部变量的作用域是整个方法或某个代码块中。(2) 类变量:在类中声明且不在任何方法体中的变量称为类变量。类变量的作用域是整个类。(3) 方法参数:方法参数定义了方法调用时传递的参数,其作用域就是所在的方法。(4) 异常处理器参数:异常处理器参数是catch语句块的入口参数。这种参数的

16、作用域是catch语句后由表示的语句块。【例2-4】变量的作用域演示代码:变量作用域j204.javapublic class j204 static int x=5; /定义变量x为类变量 public static void main(String arg) int y=23; /定义变量y为局部变量 System.out.println(x=+x); System.out.println(y=+y); m(6); /调用方法m() static void m(int z) /定义变量z为方法参数 System.out.println(z=+z); System.out.println(x

17、=+x); 运行结果如图2-4所示:图2-4 例2-4运行结果在例2-4中x为类变量,其作用域在程序类体内;y为局部变量,其作用域在main()方法体内;z为方法参数,其作用域在z方法体内。2.3 运算符与表达式Java语言运算符是一种特殊字符,他指明用户对操作数进行的某种操作。表达式是由常量、变量、方法调用以及一个或多个运算符按一定规则的组合,它用于计算或对变量进行赋值。2.3.1 算术运算符与算术表达式1. 算术运算符算术运算符分为单目算术运算符(只有一个操作数)和双目运算符(有两个操作数)。算术运算符的操作数可以是整型或浮点型。Java语言中的算术运算符如表2-6所示:表2-6算术运算符

18、类型运算符功 能用法举例双目运算符+加a+b-减a-b*乘a*b/除a/b%求余a%b单目运算符-负值-a+自增a+,+a-自减a-,-aJava语言中的算术运算符与数学中的算术运算符有许多不同的地方,下面对它们做一个简单的说明。(1) “+”运算符可以用来连接字符串;例如:String salutation=Dr.;String name=Jack;String title=salutation+name;则title值为“Dr. Jack”.(2) “/”运算符。两个整数相除的结果是整数,如果有一个操作数为小数则结果为小数。例如5/2=2;5.0/2=2.5。(3) “%”运算符。Java

19、中的取模运算符与C和C+不同,它的操作数可以是浮点数。例如-3.5%3=-0.5,3.5%-3=0.5。(4) +(-)运算符的操作数必须是变量,不能是常量和表达式。它们可以放在变量前,也可以放在变量后,功能都是对变量增(减)1。但从表达式的角度看,表达式的值是不同的,例如:k=a+;等价于k=a; a=a+1; 如a=5,则k=5,a=6;k=+a; 等价于a=a+1; k=a; 如a=5,则k=6,a=6;下面给出一个算术表达式的例子:【例2-5】算术运算代码:算术运算符使用j205.javapublic class j205 public static void main(String

20、arg) int a=3,b=5,c=5; System.out.println(初值a=3,b=5,c=5); System.out.println(b/a=+b/a); System.out.println(c%a=+c%a); System.out.println(-a=+(-a); System.out.println(b+=+(b+)+,+b=+b); System.out.println(+c=+(+c)+,+c=+c);运行结果如图2-5所示:图2-5 例2-5运行结果2 算术表达式中的类型转换类型转换分为自动类型转换和强制类型转换。(1) 自动类型转换整型、浮点型、字符型数据可

21、以进行混合运算,在运算中为了保证数据精度,自动把数据从低级转换向高级。类型从低级到高级的顺序为:(2) 强制类型转换高精度数据要转换成低精度数据就需要使用强制转换。其格式为:(数据类型)表达式;例如: (double)a; /将a转换成double类型 (int)(x+y); /将x+y的值转换成int类型 (int)x+y ; /将x的值转换成int类型注意:强制类型转换不是改变变量的数据类型,只是产生一个临时变量去存放改变后的数据。所以在一个程序中一个变量只能有一个类型。 2.3.2 关系运算符与关系表达式1.关系运算符组成Java语言提供了6种关系运算符。如表2-7所示:表2-7关系运算

22、符组成运算符意义运算符意义大于=大于等于小于7的值为true,10!=10的值为false。2.3.3 逻辑运算符与逻辑表达式逻辑运算与关系运算的关系十分密切,关系运算的运算结果是布尔型的运算,而逻辑运算的操作数和运算结果都是布尔型的运算。逻辑运算符有6种,分别为!(非)、&(非简洁与)、|(非简洁或)、(异或)、&(简洁与)、|(简洁或),其中!是单目运算符。逻辑运算规则如表2-8所示:表2-8逻辑运算规则op1op2!op1op1&(&)op2op1|(|)op2op1op2falsefalsetruefalsefalsefalsefalsetruetruefalsetruetruetru

23、efalsefalsefalsetruetruetruetruefalsetruetruefalseJava语言提供两种与和或的运算符:&、|和&、|。这两种运算符的区别是:(1)&、|:逻辑表达式求值过程中,对于或运算,先求左边表达式的值,如果为true,则整个逻辑表达式的结果就是true,从而不再对右边的表达式进行运算;同样对于与运算,如果左面表达式的值为false,则整个逻辑表达式的结果就是false,右面的表达式就不需在进行运算了。(2)&、|:利用&、|做运算时,运算符两边的表达式都要被判断,即不管第一个表达式的结果能否推测出整个逻辑表达式的结果,都要对第二个表达式进行运算。【例2-

24、6】逻辑运算代码:逻辑运算演示j206.javapublic class j206 public static void main(String arg) int x=1,y=2; int num1=5,num2=5,num3=5,num4=5; boolean r1,r2,r3,r4; r1=xy & num1+=5; /两边表达式都运算 r2=xy & num2+=5; /只运算左边表达式 r3=xy | num3+=5; /两边表达式都运算 r4=xy | num4+=5; /只运算左边表达式 System.out.println(逻辑值:r1=+r1+,+num1=+num1); Sy

25、stem.out.println(逻辑值:r2=+r2+,+num2=+num2); System.out.println(逻辑值:r3=+r3+,+num3=+num3); System.out.println(逻辑值:r4=+r4+,+num4=+num4); 运行结果如图2-6:图2-6 例2-6运行结果2.3.4 位运算符位运算符是用来对整型数据的二进制位进行测试、置位或移位处理。位运算符按功能划分为位逻辑运算符和位移位运算符。1 位逻辑运算符位逻辑运算符是对操作数的每位上进行相应的逻辑运算。位逻辑运算符共四种,其中一种即(非)为单目运算符,其余三种&(与)、|(或)、(异或)为双目运

26、算符,其逻辑运算规则同逻辑运算符。表2-9列出Java语言的位逻辑运算符。表2-10列出了位逻辑运算符运算规则。表2-9位逻辑运算符运算符位运算表达式功能op1按位取反&op1&op2按位与|op1|op2按位或op1op2按位异或表2-10位逻辑运算符运算规则op1op2op1op1&op2op1|op2op1op2001000011011100011110110上述每一种位逻辑运算符根据其运算规则都有一定的用途。(1) 逻辑与用途是清零:如果将一个存储单元清零,即使其全部二进制位为0,可以找一个新数,原来数为1的位,新数中相应位为0,原来数中为0的位,新数相应位可以为0或1,再对两者进行&

27、运算,就可以将其清零。例如: 原数: 11011010 新数:& 00100001 00000000(2) 逻辑或的用途是置1:如果将一个存储单元置1,即使其全部二进制位为1,可以找一个新数,原来数为0的位,新数中相应位为1,原来数中为1的位,新数相应位可以为0或1。再对两者进行|运算,就可以将其置1。例如: 原数: 11011010 新数:|00100101 11111111(3) 逻辑异或的用途有两种:一种是使特定位翻转;即将欲翻转的位与1进行异或运算;另一种是使特定位保留原值,即将欲翻转的位与0进行异或运算。例如: 原数: 11011010 新数:00001111 110101012 位移位运算符位移位运算是针对整型数的二进制进行。这里的二进制并不是该数本身的二进制码,而是要进行编码。常用的编码有:原码、反码、补码。(1) 原码:最高位为符号位,最高位为0表示正数,最高位为1表示负数,其余各位用该数的二进制码表示。如:8的原码为000010008的原码为10001000(2) 反码:正数的反码与原码相同,负数的反码将其原码按位取反(不包括符号位)。如:8的反码为000010008的反码为11110111(3) 补码:正数的补码与原码相同,负数的补码将其反码加1。如:8的补码为000010008的补码为11111000移位运算符是把操作数的第一位向左或向右移

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1