书签 分享 收藏 举报 版权申诉 / 674
上传文档赚钱

类型配套课件-Java基础教程-(第3版)1.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3224352
  • 上传时间:2022-08-07
  • 格式:PPT
  • 页数:674
  • 大小:5.87MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《配套课件-Java基础教程-(第3版)1.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    配套 课件 Java 基础教程
    资源描述:

    1、Java程序设计成绩考核 最终成绩=30%平时成绩+70%期末考试成绩 平时成绩=考勤成绩+平时作业成绩 期末考试:开卷笔试国外的外包公司使得基础的计算机编程技术越来越廉价,如今它甚至成为了世界贫困人口的致富驱动力,而不再代表着高端技术。引自:大数据时代,维克托迈尔-舍恩伯格,肯尼思库克耶 在这10年的发展中,Java平台吸引了数百万的开发者,在网络计算遍及全球的今天,Java已广泛应用于移动电话、桌面计算机、蓝光光碟播放器、机顶盒甚至车载,更是有30多亿台设备使用了Java技术。第1章 Java语言概述 本章的主要内容:1.1 java 的特点及有关概念 1.2 Java程序开发 1.3 综

    2、合应用1.1 Java语言的特点及相关概念 1.1.1 Java语言的发展里程 1.1.2 Java 的特点 1.1.3 Java虚拟机1.1.1 Java语言的发展里程 Java语言前身是Oak语言,于1991年推出,但仅限于Sun Microsystems公司内部使用。1995年Oak语言改名为“Java”,并正式向公众推出,主要贡献者是James Gosling。1.2版本的Java是Java语言发展过程中一个关键阶段,从此,Sun公司将Java更名为Java2。经过十年的发展,Java语言已经发展到1.6版本。版本号名称中文名发布日期JDK1.01996-1-23JDK1.1.4Spa

    3、rkler宝石1997-09-12JDK1.1.5Pumpkin南瓜1997-12-13JDK1.1.6Abigail阿比盖尔-女子名1998-04-24JDK1.1.7Brutus布鲁图-古罗马政治家和将军1998-09-28JDK1.1.8Chelsea切尔西-城市名1999-04-08J2SE1.2Playground运动场1998-12-04J2SE1.2.1none无1999-03-30J2SE1.2.2Cricket蟋蟀1999-07-08J2SE1.3Kestrel美洲红隼2000-05-08J2SE1.3.1Ladybird瓢虫2001-05-17J2SE1.4.0Merlin

    4、灰背隼2002-02-13J2SE1.4.1grasshopper蚱蜢2002-09-16J2SE1.4.2Mantis螳螂2003-06-26J2SE5.0(1.5.0)Tiger老虎2004-9-30J2SE6.0(Beta)Mustang野马2006-41.1.2 Java 的特点(1/4)1语法简单(1)Java的风格类似于C+(2)Java摒弃了C+中容易引发程序错误的地方,如指针和内存管理;(3)Java提供了丰富的类库。2面向对象 面向对象编程是一种先进的编程思想,更加容易解决复杂的问题。面向对象可以说是Java最重要的特性。Java语言的设计完全是面向对象的,1.1.2 Jav

    5、a 的特点(2/4)3分布式 JAVA从诞生就起就与网络联系在一起,它强调网络特性,内置TCP/IP,HTTP,FTP协议类库,便于开发网上应用系统。4安全性(1)在Java语言里,象指针和释放内存等C+功能被删除,避免了非法内存操作。(2)当Java用来创建浏览器时,语言功能和一些浏览器本身提供的功能结合起来,使它更安全。Java语言在机器上执行前,要经过很多次的测试。其三级安全检验机制可以有效防止非法代码侵入,阻止对内存的越权访问。1.1.2 Java 的特点(3/4)5健壮性 Java致力于检查程序在编译和运行时的错误。异常检查可尽早的发现可能存在的错误。类型检查帮助检查出许多开发早期出

    6、现的错误。6解释运行,高效率 Java解释器(运行系统)能直接运行目标代码指令。Java程序经编译器编译,生成的字节码经过精心设计,并进行了优化,因此运行速度较快,客服了以往解释性语言运行效率低的缺点。1.1.2 Java 的特点(4/4)7与平台无关 JAVA编译器将JAVA程序编译成二进制代码,即字节码。字节码有统一的格式,不依赖于具体的硬件环境。8多线程 Java提供的多线程功能使得在一个程序里可同时执行多个小任务。9动态性 Java的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类。平台无关性(1/2)平台无关类型包括源代码级和目标代码级两种类型。C和C+属

    7、于源代码级平台无关,意味着用其写的应用程序不用修改只需重新编译就可以在不同平台上运行。Java属于目标代码级平台无关,主要靠Java虚拟机JVM来实现。对高级语言的翻译方式有解释和编译两种 解释方式就是一边翻译一边运行 而编译方式则是一次性翻译好,生成目标程序。平台无关性(2/2)解决移植性的方法有以下两种方式:方式1:到一台机器上将源程序重新编译成适合该台机器的机器代码。方式2:将高级语言源程序编译成一种与机器无关的中间代码(如Java语言的字节码),该中间代码程序不能被操作系统直接执行,需要由解释其来解释和执行。Java语言采用方式2,将由解释程序扩展了的指令系统的机器称为Java虚拟机,

    8、简称JVM。1.1.3 Java虚拟机JVM 虚拟机是一种对计算机物理硬件计算环境的软件实现。虚拟机是一种抽象机器,内部包含一个解释器(Interpreter),可以将其它高级语言编译为虚拟机的解释器可以执行的代码(称这种代码为中间语言 Intermediate Language),实现高级语言程序的可移植性平台无关性(System Independence),无论是运行在嵌入式设备还是多个处理器的服务器上,虚拟机都执行相同的指令,所使用的支持库也具有标准的API和完全相同或相似的行为。1.1.3 Java虚拟机JVM Java虚拟机(Java Virtual Machine,简称JVM)是一

    9、种抽象机器,它附着在具体操作系统上,本身具有一套虚拟机器指令,并有自己的栈,寄存器等,运行JAVA程序不可少的机制。编译后的JAVA程序指令并不直接在硬件系统CPU上执行,而是在JVM执行。在JVM上有一个Java解释器用来解释Java编译器编译后的程序。任何一台机器只要配备了解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。图1-1 计算机硬件、操作系统、JVM与各种可执行程序之间的关系机器代码机器代码硬件硬件操作系统操作系统JVM本地可执行文件本地可执行文件(.exe,.com文件)文件)Java字节码文件字节码文件(.class文件)文件)Java虚拟机JVMJVM体系结

    10、构图类装载器字节码解释器安全管理器垃圾收集器线程管理图形Java虚拟机虚拟机操作系统操作系统字节码*.class 文件文件图1-2 Java虚拟机体系结构示意图Java 与C/C+之关系 相近之处 Java中许多基本语句的语法和C+一样,像常用的循环语句、控制语句等和C+几乎一样 Java和C+是两种完全不同的语言 不同之处(见下页)不同之处 Java去掉了C+语言的许多功能,Java中没有#include 和#define 等预处理功能,用import语来句包含其它类和包;Java中没有structure,union及typedef;Java中没有不属于类成员的函数,没有指针和多重继承,Ja

    11、va只支持单重继承;Java中禁用goto,但goto还是保留的关键字;Java中没有操作符重载;Java中没有全局变量,可以在类中定义公用、静态的数据成员实现相同功能。1.2 Java运行平台 1.2.1 Java运行平台 1.2.2 Java开发过程 1.2.3 Java开发工具箱(JDK)简介1.2.1 Java运行平台 1三种平台简介 J2SE:Java标准版或Java 标准平台。J2SE 提供了标准的SDK开发平台(以前称做JDK开发平台)。J2EE:Java企业版或Java企业平台。J2ME:Java微型版或Java小型平台。2环境变量 JAVA_HOME为那些需要使用Java命令

    12、和JVM的程序提供了通用的路径信息,其值应设置为JDK的安装目录的路径,JAVA_HOME=C:jdk1.6 CLASSPATH用于指明字节码文件的位置。CLASSPATH=c:jdk1.6jrelibrt.jar;.PATH是操作系统使用的变量,用于搜索在Shell中输入的希望执行的命令。在Windows 2000和Windows XP中设置JAVA_HOME的步骤如下。(1)鼠标右键单击“我的电脑”。(2)选择“属性”菜单项。(3)在出现的窗口中,选择“高级”选项。(4)在出现的窗口中,选择“环境变量”选项。在Windows 7中设置环境变量的步骤如下。(1)鼠标右键单击“计算机”。(2)

    13、选择“属性”菜单项。(3)在出现的窗口中,单击“高级系统设置”。(4)在出现的窗口中,单击“环境变量”选项。(5)进行环境变量设置。set PATH=%PATH%;c:javajdk1.7bin;set JAVA_HOME=c:javajdk1.7 set CLASSPATH=c:javajdk1.7jrelibrt.jar;.;e:wulib;e:java;3JDK1.7版本安装 从http:/网站下载,然后安装该程序。Java编译器编译器源文件源文件编辑器编辑器字节码字节码文件文件由由Web浏览器浏览器执行执行文件名文件名.java产生产生对于对于Java小小应用程序应用程序对于对于Jav

    14、a应用程序应用程序由由Java解释器执行解释器执行图1-1 Java程序开发过程示意图1.2.2 Java程序开发过程 1Java应用程序的开发 编写源文件Editplus等文本编辑器生成Hello.java 编译源文件生成字节码 javac Hello.java 加载运行字节码 java Hello Application程序的命名特点:(1)区分大小写;(2)如果程序中有public类,则程序名称必须和public类的名称一致;(3)如果程序没有public类,则程序名称可以任取。但建议以包含main()方法的类的名称作为程序名称。因为,无论程序名称如何,使用Java命令运行时,其后的字节

    15、码文件一定是main()方法所在类对应的字节码文件。通常将与源文件名相同的类定义为主类,换句话说Java程序文件名必须和主类的名称一致,且扩展名是java。主类按如下确定:(1)若源文件中存在public类,则该类为主类;(2)若源文件没有public类,则可定义任何类为主类。对Application程序而言,必须有一个类含有public static void main(String args)方法,args是main方法的一个参数,是一个字符串类型的数组(注意String的第一个字母是大写的)通常以包含main方法的类作主类。也可以将其他类定义为public类,并以此作为源程序名称,当在j

    16、ava命令后跟随的类参数名应该为包含main方法的类名/Hello.javapublic class Hello public static void main(String args)System.out.println(你好,很高兴学习Java);C:javac Hello.javaC:java Hello 2Java Applet程序的开发(1)编写源文件 Editplus等文本编辑器Boy.java(2)编译源文件生成字节码 javac Boy.java(3)通过浏览器加载运行字节码 Html文件myBoy.html 或 appletviewer myboy.html/Boy.java

    17、import java.applet.*;import java.awt.*;public class Boy extends Applet public void paint(Graphics g)g.setColor(Color.blue);g.drawString(Java是一门很优秀的语言是一门很优秀的语言,12,30);g.setColor(Color.red);g.drawString(我一定认真学习我一定认真学习Java,22,56);/myBoy.html C:javac Boy.javaC:appletviewer myboy.html Java中Applet程序命名具有如下

    18、特点:(1)区分大小写;(2)以Applet为父类的子类应为public类,程序名称与该类的名称一致。1.2.3 Java 开发工具箱 Java 开发工具箱(JDK-Java Development Kit)是Sun公司为用户提供的集成和执行applets和应用程序的工具 javac 编译器:可以用任何文字编辑器创建Java程序 java 翻译器;用于执行编译过的 Java应用程序。appletviewer:可运行applets而不必运行 Web浏览器。javap反汇编程序:从字节码文件恢复java原代码。javadoc工具:可以为所编写的源文件生成HTML文档1.3 综合应用【实例1-3】【

    19、实例1-4】第2章 Java语言基础 2.1 Java程序概况 2.2 基本数据类型 2.3 运算符和表达式 2.4 Java语句2.1 Java程序概况 2.1.1 Java程序结构 2.1.2 Java注释 2.1.3 Java关键字 2.1.4 Java标识符 2.1.5 变量与常量2.1.1 Java程序结构 Java源程序一般由一个或多个编译单元组成,每个编译单元只能包含以下内容(空格和注释除外):package包语句 import导入语句 类的声明 接口声明图2-1 Java程序中各元素及其关系注释注释0.npackage0.1import0.n成员变量成员变量0.n方法方法0.n

    20、局部变量局部变量0.n执行语句执行语句0.n类类1.nJava程序程序1./*这是一个简单的Java程序示例程序*/2.package mypack;3.import java.util.*;4.public class Example 5.public static void main(String args)6.System.out.println(Java欢迎您!);7.8./*这是一个简单的这是一个简单的Java程序示例程序示例*/package mypack;import java.util.*;public class Example public static void main

    21、(String args)String s=Java欢迎您!欢迎您!;System.out.println(s);注释注释package语句语句import语句语句类类方法方法变量定义变量定义语句语句2.1.2 Java注释 方式1:/注释一行 例如:num=2;/num是计算器,用于累计选课人数 方式2:/*一行或多行注释*/例如:/*本方法用于计算阶乘*/方式3:/*文档注释*/文档注释一般放在一个变量或函数定义说明之前,表示该段注释应包含在自动生成的任何文档中(即由javadoc生成的HTML文件)。这种注释都是声明条目的描述。2.1.3 Java关键字abstractconstfina

    22、llyinterfacereturnthrowbooleancontinuefloatlongsafetransientbreakdefaultfornativeshorttruebydogotonewstatictrybytedoubleifnullsupervaluecaseelseimplementspackageswitchvoidcatchextendsimportprivatesynchronizedvolatilecharfalseinstanceofprotectedthiswhileclassfinalintpublicthread2.1.4 Java标识符 所谓标识符就是用

    23、来标识包名、类名、接口名、变量名、方法名、文件名等的有效字符序列。由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字。标识符中的字母是区分大小写的例子:判断正误 (1)3max (2)class (3)room#(4)userName (5)User_name 一般标识符按照以下规则命名:(1)标识符尽量采用有意义的字符序列,便于从标识符识别出所代表的基本含义。(2)包名:包名是全小写的名词,中间可以由点分隔开,例如:java.awt.event。(3)类名:首字母大写,通常由多个单词合成一个类名,要求每个单词的首字母也要大写,例如class HelloWorldApp。(4)接口名

    24、:命名规则与类名相同,例如interface Collection。(5)方法名:往往由多个单词合成,第一个单词通常为动词,首字母小写,中间的每个单词的首字母都要大写,例如:balanceAccount,isButtonPressed。(6)变量名:全小写,一般为名词,例如使用area表示面积变量,length表示程度变量,等等。(7)常量名:基本数据类型的常量名为全大写,如果是由多个单词构成,可以用下划线隔开,例如:int YEAR,int MAX_VALUE;如果是对象类型的常量,则是大小写混合,由大写字母把单词隔开。(8)对变量和方法,其名称不宜以_和$为第一个字符,因为这两个字符对于内

    25、部有特殊含义。2.1.5 变量与常量 Java变量是一个由标识符命名的项。变量具有一定类型,例如 int 型或class型,也具有作用域,其值可被改变。变量声明的语法形式如下:varType varName=value,varName=value;double area,r;在变量声明格式前加上final修饰符,就声明了一个常量。常量一旦被初始化以后就不可改变。常量声明的语法形式如下:final varType varName=value,varName=value;2.2 基本数据类型 2.2.1 基本数据类型概况 2.2.2 基本数据类型转换2.2.1 基本数据类型概况 基本数据类型也称作

    26、简单数据类型,Java语言有8种简单数据类型,分别是:boolean、byte、short、int、long、float、double、char。复合数据类型包括数组、类和接口等。图2-2 Java语言数据类型数值类型数值类型整数类整数类 int,byte,short,long 浮点类浮点类 double,float逻辑类逻辑类 boolean字符类字符类 char数组数组 type类类 class接口接口 interface数据类型数据类型基本基本数据数据类型类型复合复合数据数据类型类型2.2.1 基本数据类型概况 1逻辑类型 常量:true,false。变量的定义:使用关键字boolean

    27、来定义逻辑变量,定义时也可以赋给初值。例如:boolean x;/定义逻辑型变量x boolean x=false;/定义逻辑型变量x,并赋值为false2.2.1 基本数据类型概况 2整数类型 常量:123,6000(十进制),077(八进制),0 x3ABC(十六进制)。整型变量的定义分为4种类型类型举例举例字节长度字节长度bytebyte x,y=1;1shortshort x,y=2;2intint x,y=3;4longlong x,y=4;82.2.1 基本数据类型概况 3字符类型 常量:unicode字符表中的字符就是一个字符常量例如A,?,9,好,等。Java还使用转意字符常量

    28、,如:n为换行转意字符常量。变量的定义:使用关键字char来定义字符变量例如:char x=A,漂亮=假,jiafei;特别提示:一个unicode字符占2个字节char型变量,内存分配给2个字节,占16位,最高位不是符号位,没有负数的char。char型变量的取值范围是0-65536。运行结果为:字符中在unicode表的位置为20013字符#在unicode表的位置为35在unicode表中序号为 97 的字符为a在unicode表中序号为 21556 的字符为吴 说明:将line 10所在行的语句“ch1=(char)i”;变为“ch1=97;”可以得到同样结果,可是将该语句变为“ch1

    29、=i;”则将出错。详细原因请见随后的类型转换部分。2.2.1 基本数据类型概况 4浮点类型 浮点类型包括float 型和double型。浮点型数值缺省为double型,float型在数值之后加f或F 例如,float 型常量:453.5439f,21379.987F,2e40f,double型常量:21389.5439d(d可以省略),6e-140。float 型变量的定义:float x,y=22.76f;double型变量的定义:double x,y=12.762.2.2 基本数据类型转换 所谓类型转换就是将一种数据类型变量转变成另一种类型所谓类型转换就是将一种数据类型变量转变成另一种类型

    30、变量。变量。JavaJava语言是一种强类型语言语言是一种强类型语言(类似于类似于C+C+,而不是,而不是C C语言语言)。当表达式中的数据类型不一致时,就需要进行数据类型转当表达式中的数据类型不一致时,就需要进行数据类型转换。换。JavaJava语言类型转换方式可分为语言类型转换方式可分为:隐式类型转换隐式类型转换:编译程序在编译时可以自动执行类型转换;编译程序在编译时可以自动执行类型转换;显式类型转换显式类型转换:则必须在程序中显式地执行强制转换,强则必须在程序中显式地执行强制转换,强制转换的格式为:制转换的格式为:(类型类型)表达式表达式 JavaJava语言中基本数据类型之间,语言中基

    31、本数据类型之间,低精度值可以直接赋给高精度变量,进行隐式类型转换;低精度值可以直接赋给高精度变量,进行隐式类型转换;高精度值则需要使用强制类型转换后赋给低精度变量,此高精度值则需要使用强制类型转换后赋给低精度变量,此时可能会导致数据精度的损失,也有可能导致结果出现较时可能会导致数据精度的损失,也有可能导致结果出现较大错误。大错误。2.2.2 基本数据类型转换 数据精度从“低”到“高”排序:byteshort(char)intlongfloatdouble 规则1:当把精度低的变量的值赋给精度高的变量时,系统自动完成数据类型的转换,如int型转换成long型 规则2:当把精度高的变量的值赋给精度

    32、低的变量时,必须使用显示类型转换运算。(类型名)要转换的值;int x=(int)34.89;规则3:char与byte或short之间的赋值必须实行强制转换。2.2.2 基本数据类型转换1.byte b1=18,b2;2.short sint1,sint2;3.char ch1,ch2=A;4.ch1=char(b1);5.b2=(byte)ch2;6.s int2=(short)ch2;注意事项:强制转换运算可能导致精度的损失。当把一个整数赋值给一个byte、short、int或long型变量时,不可以超出这些变量的取值范围,否则必须进行类型转换运算。1.public class Exam

    33、020204 2.public static void main(String args)3.byte a=120;4.short b=255;5.int c=2200;6.long d=8000;7.float f;8.double g=0.1234567812345678;9.b=a;10.c=(int)d;11.f=(float)g;12.System.out.println(a=+a);13.System.out.println(b=+b);14.System.out.println(c=+c);15.System.out.println(d=+d);16.System.out.pri

    34、ntln(e=+e);17.System.out.println(f=+f);18.System.out.println(g=+g);19.20.【实例2-3】运行结果为:a=120b=120c=8000d=8000f=0.12345678g=0.12345678123456782.3 运算符和表达式 2.3.1 算术运算符和算术表达式 2.3.2 关系运算符与关系表达式 2.3.3 逻辑运算符与逻辑表达式 2.3.4 赋值运算符与赋值表达式 2.3.5 位运算符 2.3.6 条件运算符 2.3.7 instanceof 运算符 2.3.8 一般表达式2.3.1 算术运算符和算术表达式 Jav

    35、a算术运算符主要包括一元运算符(如+,-,+,-)和二元运算符(如,+,-,*,/,%),与C/C+基本相同 算术表达式是用算术符号和操作元连接起来的符合Java语法规则的式子。例如:(f*b)+(i/c)-(d*s)2.3.1 算术运算符和算术表达式 java将按运算符两边操作元的最高精度保留结果。操作元的精度从低到高排列顺序是:byteshortintlongfloatdouble。执行任何算术运算或按位运算,“比int小”的数据(char、byte、short)在正式执行运算之前,那些值会自动转换成int 整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进

    36、行运算,转换从低级到高级。例如:若将一个float值与一个double值相乘,结果就是double;如将一个int值和一个long值相加,则结果为long。操作数1操作数2结果类型byte,short,charintintbyte,short,char,intlonglongbyte,short,char,int,longfloatfloatbyte,short,char,int,long,floatdoubledouble 举例说明 5/2 的结果为2,因为运算符“/”左右操作数均为int型,因此结果也为int型;5.2/2的结果为2.5,因为运算符“/”左操作数为double型,右操作数为

    37、int型,因此运算时首先统一为double型,显然结果也为double型。1.class autoPromoteExample 2.public static void main(String args)3.byte b=1;4.char c=b;5.short s=10;6.int i=100;7.float f=1.23f;8.double d=6.78,result;9.result=(f*b)+(i/c)-(d*s);10.System.out.println(result=+result);11.12.以下说明表达式(f*b)+(i/c)-(d*s)计算过程中数据类型转换过程:首先,

    38、在第一个子表达式f*b 中,变量b被提升为float 类型,该子表达式的结果(称为中间值1)是float 类型。在子表达式i/c中,变量c被提升为int 类型,该子表达式的结果(称为中间值2)是int 类型。在子表达式d*s 中,变量s被提升为double 类型,该子表达式的结果(称为中间值3)是double 类型。其次,float 类型中间值1和int 类型中间值2的结果(称为中间值4)是float 类型。最后,float 类型中间值4和double 类型中间值3相减的结果是double 类型。因此,该表达式的最后结果是double 类型。2.3.2 关系运算符与关系表达式运算符运算符表达式

    39、表达式返回返回true的情况的情况op1op2op1大于大于op2=op1=op2op1大于或等于大于或等于op2op1op2op1小于小于op2=op1=op2op1小于或等于小于或等于op2=op1=op2op1与与op2相等相等!=op1!=op2op1与与op2不等不等2.3.3 逻辑运算符与逻辑表达式操作数取值操作数取值表达式运算结果表达式运算结果op1op2op1&op2op1|op2!op1falsefalsefalsefalsetruefalsetruefalsetruetruetruefalsefalsetruefalsetruetruetruetruefalse2.3.4

    40、赋值运算符与赋值表达式 赋值运算符“=”是双目运算符,左面的操作元必须是变量。级别是14级,结合性从右到左。2.3.5 位运算符 Java位运算符主要面对基本数据类型,包括byte、short、int、long和char。位运算符包括“按位与”&、“按位或”|、“按位非”、“按位异或”、左移。此外,Java引入一个专门用于逻辑右移运算符,它采用了所谓的零扩展技术,不论原值是正或负,一律在高位补0。例如:int a=-2,b;b=a30;2.3.6 条件运算符 条件运算符是一个3目运算符,符号是:“?:”。用法如下:op1?op2:op3 要求第一个操作元op1的值必须是boolean型数据。运

    41、算法则是:当op1的值是true时,运算的结果是op2的值;当op1的值是false时,运算的结果是op3的值。Java要求:op2与op3必须同类型。例如,128?100:200的结果是100;12y&x0?(x+1):y)的值是 int型数据,结果为17。2.4 Java语句 2.4.1 Java语句概述 2.4.2 分支语句 2.4.3 循环语句 2.4.4 跳转语句 2.4.5 输入输出语句2.4.1 Java语句概述 Java语言中的语句可分为以下5类:(1)方法调用语句:例如 reader.nextInt();(2)表达式语句:x=23;(3)复合语句:“”+代码块+“”,例如,z

    42、=23+x;System.out.println(hello);(4)控制语句:条件分支语句、循环语句和跳转语句。(5)package 语句和 import语句2.4.2 分支语句 1条件分支语句if-else语句.if(表达式)若干语句else 若干语句多条件if-else if-else语句if(表达式1)若干语句 else if(表达式2)若干语句 else if(表达式n)若干语句 else 若干语句 if(表达式)的表达式的值必须是boolean型 1.public class multelseExample 2.public static void main(String args

    43、)3.int score=88;4.String str=不及格;5.if(score=90&score=80&score=70&score=60&score=69)12.str=及格;13.System.out.println(成绩为+str);14.15.2.4.2 分支语句switch(表达式表达式)case 常量值常量值1:若干个语句若干个语句 break;case 常量值常量值n:若干个语句若干个语句 break;default:若干语句若干语句图2-6 switch语句执行过程示意图case 值值1语句块语句块1break;truefalsecase 值值2语句块语句块2break

    44、;truefalsecase 值值n语句块语句块nbreak;truefalsedefault:语句块:语句块(n+1)1.public class switchExample 2.public static void main(String args)3.int month=1;4.String str=;5.switch(month)6.case 1:7.case 2:8.case 3:9.str=春季;10.break;11.case 4:12.case 5:13.case 6:14.str=夏季;15.break;16.case 7:17.case 8:18.case 9:19.str

    45、=秋季;20.break;21.default:22.str=冬季;23.24.System.out.println(月份+month+属于+str);25.26.2.4.3 循环语句1while循环循环 while(表达式表达式)若干语句若干语句 2do while循环循环do while 若干语句若干语句(表达式表达式)3for循环循环for(表达式表达式1;表达式;表达式2;表达式;表达式3)若干语句若干语句 “表达式表达式2”必须是一个求值为必须是一个求值为boolean型数据的表达式型数据的表达式(b)do while循环循环体True表达式False循环体True表达式False表

    46、达式1True表达式2False循环体表达式3(a)while循环(c)for循环图2-3 while、do while循环和for循环示意图2.4.4 跳转语句 1.break语句 2.continue语句 3.return语句1.Break语句 break语句的作用为:(1)在switch语中,break语句用来终止switch语句的执行。使程序从switch语句后的第一个语句开始执行。(2)跳出它所指定的块,并从紧跟该块的第一条语句处执行。说明:一个代码块通常是用大括号括起来的一段代码。加标号的格式如下:BlockLabel:代码块 break语句的使用形式:break;/不带标签 br

    47、eak Label;/带标签 说明 不带标签的break语句使程序跳出它所在的那一层循环结构。带标签的break语句使程序跳出标签所指示的循环结构。【实例2-9】break命令应用举例1.public class breakExample2.public static void main(String args)3.int i,j=0;4.outer:5.for(i=0;i5;i+)6.for(j=0;j5;j+)7.System.out.println(i+j);8.if(j=1)9.break outer;10.11.System.out.println(最终值:+i+j);12.13.c

    48、ontinue语句 continue语句的作用:用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。对于for语句,对for循环,就是忽略循环体中后面的语句,跳到表达式3执行。对while或do while循环就是直接转去求解逻辑表达式。continue语句的使用格式为:continue;/不带标签 continue Lable;/带标签 说明:不带标签的continue语句的作用是终止当前循环结构的本轮循环而直接开始下一轮循环。带标签的continue语句的作用就是把程序直接转到标签所指的循环结构的下一次循环,而不管被它嵌套的以及continue语句

    49、所在的循环结构运行到了哪一轮。【实例2-10】continue命令应用举例1.public class continueExample2.3.public static void main(String args)4.5.int sum=0,i,j;6.for(i=1;i60)y=10;6.z=y-x;7.System.out.print(z=+z);8.9.10.public class localVarExample11.public static void main(String args)12.A a=new A();13.a.f();14.15.n 说明:在本实例中,表面上通过执行语

    50、句“if(x60)y=10;”对y进行了赋值,实际上由于x是Math.random()产生的随机数,有可能大于60,也有可能小于60,若x小于60,则在使用y(即执行语句z=y-x)之前,y没有被显式赋值,故会出现以上错误提示。为避免这类错误,必须确保y在使用之前被显式赋值。一个简单的办法就是在申明y之时,可y赋值。如:int y=0,z;/line2 当然这种解决办法要看具体功能而定。引用赋值举例1.class Point 2.int x,y;3.Point()4.x=67;y=10;5.6.Point(int x,int y)7.this.x=x;this.y=y;8.9.void sho

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:配套课件-Java基础教程-(第3版)1.ppt
    链接地址:https://www.163wenku.com/p-3224352.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库