java第二章java语言基础.ppt_第1页
java第二章java语言基础.ppt_第2页
java第二章java语言基础.ppt_第3页
java第二章java语言基础.ppt_第4页
java第二章java语言基础.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

第二章 Java语言基础,2.1 Java程序的基本结构 2.2 Java符号集 2.3 数据的简单类型 2.4 常量 2.5 变量 2.6 运算符与表达式 2.7 流程控制语句,2.1 Java程序的基本结构,Java语言的源程序是一个或多个以.java为扩展名的文件,这些文件就是Java编译器javac的编译单元。而每个单元又由package语句、import语句、类声明或接口声明语句构成。 包(package)是类和接口的集合,即为类库。Java语言用类库管理类,这样能够方便管理,减少类名间的竞争。Java的类都包含在类库中,package语句可用来指定类所属的类库。 import语句类似或+语言中的包含语句include语句,为程序装载类或包,使程序能够使用Java环境下的其它类。 接口(interface)声明语句是用来声明接口的各种属性的。类(class)声明语句是用来声明类的名字及相关属性等内容。,Java程序的基本结构(例子),例如有如下代码,并存入文件ClassName.java中: package Name_of_Package; import OtherClassName; class ClassName public static void main(String args) 其中Name_of_Package表示包名,OtherClassName表示某类名,ClassName表示正在创建的类名。 这里package语句将正在创建的类ClassName放到包Name_of_Package(即类库)中; import语句装载了一个名为OtherClassName的类; class声明语句则声明了一个类名为ClassName的类及其相关属性等内容。,2.2 Java符号集,符号是构成程序的基本单位,不同的语言所采用的符号标准有所不同,在和+等一些语言中,一般都采用ASCII码,而Java则采用的是Unicode字符集,又称统一码字符集,它可以支持多种语言。,2.2.1 关键字,关键字是构成编程语言本身的符号,是一种特殊的标识符,又称保留字。Java语言中关键字有40多个,它们是: abstract boolean break byte case cast catchchar class const continue default do doubleelse extends final finally float for futuregeneric goto if implements import innerinstanceof int interface long native newnull operator outer package privateprotected public rest return short staticsuper switch synchronized this throw throwstransient try var void volative while 关键字在语言中,有其特殊的意义,不能作为一般的标识符使用,即一般的标识符(变量名、类名、方法名等)不能与其同名。,2.2.2 标识符(一),标识符是变量、类、方法等在程序中的唯一名字。构造出一个标识符的名字,需要按照一定的规则取名。在Java语言中,标识符取名的规则是: 必须由字母、下划线或美元符开头; 并由字母、09的数字、下划线或美元符组成的; 不能与关键字名或布尔值(true和false)同名。,2.2.2 标识符(二),取名除了符合上述规则外,还要注意以下几个方面: 标识符名字是要具有一定的实际含义的一串字符,以便增强程序的可读性; 尽量少用除英文字母、下划线、美元符以外的字母,以减少录入难度; 少用美元符,以利于链接代码时的处理; 对标识符开头的字母以及标识符中间单词的第一个字母大写,而其余的字母都小写,最好不要用全部大写的标识符。 例如:HelloWorldApp。,2.2.3 程序中的注释,Java语言可以用三种形式在程序中注释。前两种与+形式相同,而第三种是Java新增加的形式,它们分别为:,另外在Java语言中,有一个用于提取注释的工具:javadoc,对于/*注释内容*/形式的注释,可生成十分专业的程序文档。 详细内容可参看P87。,2.3 基本数据类型,说明,每一种基本数据类型都对应一种类,例如double类型对应Double类;char类型对应Character类。 这些类在包含基本数据类型所表示的一定范围、一定格式的数值的同时,还包含了一些特定的方法,可以实现对数值的专门操作。 从这个意义上说,Java仍继承了面向过程的一些东西。,2.4 常量 (一),布尔型常量 布尔型常量包括true和false,表示“真”和“假”两种状态。 整型常量 Java整数类型常量有三种形式:十进制、八进制、十六进制 * 十进制整数是由非0开头的数值表示,如100,-50; * 八进制整数是由以0开头的数值表示,如017表示十进制的15。 * 十六进制整数是由以0x或0X开头的数值表示,如0X2F表示十进制的47。 整形常量又可分为:一般整形常量(占32位)和长整形常量(占64位),长整形常量尾部有一个大写的L或小写的l,如-286L,03356l。,常量 (二),浮点数 Java浮点数是带有分数的十进制数,它又分为以32位形式存储的单精度数和以64位形式存储的双精度数两种,我们可以分别用f/F和d/D作后缀来表示它们的类型。 浮点数可以用小数点和科学记数法两种形式表示。例如: 3.14159265f,6.07e8F,9.08418e30d,9.7823e10D 字符串常量 是用双引号括起来的一串字符,可以是0个,例如:“Hello”、“MynJava”。 在Java中可使用连接操作符“+”把两个或多个字符串常量串接起来,例如: “How are you?”+“nI am fine.”,常量 (三),字符型常量 用一对单引号括起来的单个Unicode字符表示。可以用带“”的字符来表示其中的一些不可显示或有特殊意义的字符,这类字符称为转义符。,2.5 变量:变量的声明,变量声明包括两个部分: 变量的数据类型和变量的名称。 声明语句如下所示: type identidier ,identidier; 其中,type表示数据类型的关键字。它决定了变量能存储值的类型,以及对变量能进行何种操作;identifier表示标识符,即变量名字。 在变量声明语句中,可以同时对多个变量声明成相同的类型,它们之间用逗号分隔。 下面给出几个变量声明类型的例子: char myChar = W; long myLong = -39884; int count = 5643; double salary, tax ;,变量的作用域,变量的作用域是指能够访问变量的代码块。变量一经被声明,它在被声明的程序块中有效,也就建立了变量的作用域。依照作用域,变量可分为四类: 成员变量:成员变量是一个类或对象的成员,它是在类中声明的,但不是在类的方法中声明的。 局部变量:局部变量是方法中或方法中的一个代码块中声明的。一般而言,局部变量自声明处开始,到本段代码块结束处均是有效的。 方法参数:方法参数以及构造方法参数,是用来为方法和构造方法传值的。 异常处理方法参数:异常处理方法参数是用来为异常处理方法传递值的。,2.6 运算符与表达式,赋值运算符 赋值运算符就是把右操作数的值赋给左操作数。 变量或对象 = 表达式2 数据类型转换 类型转换可分为: 自动转换是指将数据自动地转换成目标类型格式的数据; 强制转换是指将数据显式地转换成目标类型格式的数据。 Java的类型转换有严格的规定:凡是将变量从占内存较小的短数据类型转化成占内存较多的长数据类型时,可自动转换;反之,则必须强制转换,其格式如下: (数据类型) 变量名或表达式,数据类型转换:例子,byte myByte = 10; int myInteger = -1; myInteger = myByte; /自动转化 myByte = (byte) myInteger; /强制类型转换 /整型和浮点型可以互相转换 int x = 7; float y; y = (float) x/2;,2.6.2 算术运算符(一),1双目运算符 整数类型的数据进行取余运算,比较有实际意义。 两个整数类型的数据相除时,结果是截取商数的整数部分,小数部分截去不要。若希望保留小数部分,则对两操作数做强制类型转换。 浮点数的取余运算:a%b相当于a ( int( a/b ) * b )。,2.6.2 算术运算符 (二),2单目运算符,2.6.3 关系与逻辑运算(一),1关系运算符 关系运算符是比较两个数据之间大小关系的运算,其结果是布尔值。 = =(等于) !=(不等于) (大于) (小于) =(大于等于) =(小于等于) 例子: int x = 5, y = 7; boolean b = (x = = y);,2.6.3 关系与逻辑运算 (二),2逻辑运算符 针对布尔型数据进行的运算,其结果仍是布尔型。,2.6.3 关系与逻辑运算 (三),例子: int x = 3, y = 5; boolean b = x y 在计算b的取值时,先计算&左边的关系表达式x y,其结果为假,根据逻辑与运算规则,只有表达式两边值都为真时,最后结果才为真;所以不论&右边表达式结果如何,整个表达式的值都为假,右边的表达式就不予计算执行了;最后变量的取值为:x = 3,y = 5,b = false。 如果把上例中的简洁与(&)换成与(&),最后变量的取值为:x = 4,y = 4,b = false。 ,2.6.4 位运算 (一),位运算符是对操作数以二进制比特位为单位进行操作和运算,操作数和结果都是整型数。,2.6.4 位运算(二),注意:如果你操作的对象是char、byte、short,位移动作发生前其值会自动晋升为int,运算结果也为int。 例子:,2.6.5 其它运算符(一),1三目条件运算符?: 它的一般形式为: ExpreBool ? Expression1 : Expression2 其中,ExpreBool为布尔运算式,它的值为true时,则执行Expression1,否则执行Expression2。 例如: int x=5, y=8, z=2; int k = x0? x : -x / j为x的绝对值,2.6.5 其它运算符 (二),2扩展赋值运算符 是在“”的前面加上其它的运算符而构成的,它有如下形式: var op= expression 等价于: var = var op expression 例子: int a = 3,b = 6; a += b; /等价于:a = a + b a *= b; /等价于:a = a * b,2.6.5 其它运算符 (三),3对象运算符 对象运算符instanceof,用来测定一个对象是否属于某个特定类或其子类的实例,是返回true,否返回false。 例如: boolean b = MyObject instanceof TextField,2.6.6 运算符的优先级,2.7 流程控制语句,流程控制语句是用来控制程序中各语句执行顺序的语句,可以把单个语句组合成能完成一定功能的小逻辑模块。其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:顺序结构、分支结构和循环结构,如下图所示:,2.7.1 分支语句,Java中的分支语句有两个: 一个是负责实现双分支的 if 语句; 另一个是负责实现多分支的开关语句swich。,if 语句,if语句的一般形式是: if(条件表达式) 语句块; /if分支 else语句块; /else分支 其中条件表达式是用来判断程序的走向,如果表达式值为真,则执行if分支的语句块;否则执行else分支的语句块;也可以不书写else分支,若表达式为假,则绕过if分支直接执行if语句后面的其它语句。 ,多重嵌套的 if 语句,if(条件表达式) 语句块; else if(条件表达式) 语句块; else if(条件表达式) 语句块; else 语句块;,其执行控制是从上到下,对条件进行检测。当某个条件为真时,就执行与此条件有关的语句,而且越过阶梯的其余部分,若无一条件为真,则执行最后一个else语句。 ,switch 语句 (一),switch语句的一般格式如下: switch(表达式) case判断值1:语句块1 /分支1 case判断值2:语句块2 /分支2 case判断值n:语句块n /分支n default: 语句块n+1 /分支n+1 ,switch 语句(二),switch语句在执行时,首先计算表达式的值,这个值必须是整形或字符型;同时应与各个case分支的判断值的类型相一致。 计算出表达式值后,依次与各case语句比较,相同则执行相应分支语句,若都不相同则执行default分支,若无default分支,则跳出整个switch语句。 switch语句中,可以若干个判断值共享同一个分支,就可以实现由多个不同的判断语句流入相同的分支。 ,2.7.2 循环语句,Java的循环语句共有三种: while语句 do_while语句 for语句。 它们的条件表达式的返回值都是布尔型,循环体可以是单个语句,也可以是复合语句。,while 语句,while语句的一般语法格式如下: while(条件表达式) 循环体 while语句先判断条件表达式的值,若为真,则执行循环体;若为假跳出循环,执行while语句后面的语句。,do-while 语句,do语句的一般语法格式如下: do

温馨提示

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

评论

0/150

提交评论