1、整理课件1 Java 实用教程实用教程 JavaJavaNINI整理课件2目目 录录 第第1章章 Java环境及配置环境及配置第第2章章 Java基本语法基本语法 第第3章章 类和接口类和接口 第第4章章 Java Applet 第第5章章 Java图形处理图形处理 第第6章章 Java用户界面技术用户界面技术 第第7章章 异常、事件和多线程机制异常、事件和多线程机制 第第8章章 输入输出技术输入输出技术 第第9章章 Java数据库技术数据库技术 第第10章章 Java安全技术安全技术 第第11章章 Java网络技术网络技术(一一)第第12章章 Java网络技术网络技术(二二)第第13章章 S
2、ervlet技术技术 第第14章章 Java读写读写XML技术技术整理课件3第1章Java环境及配置 1.1 Java概述概述1.2 Java语言的特点语言的特点1.3 Java应用分类应用分类1.4 JDK包的下载与安装包的下载与安装1.5 Java环境配置环境配置1.6 例子程序例子程序习习 题题 整理课件41.1 Java 概概 述述 Java是一种编程语言,它提供了一个同时用于程序开发、应用和部署的环境。Java语言主要定位于网络编程,使得程序可以最大限度地利用网络资源。整理课件51.2 Java 语语 言言 的的 特特 点点 1.跨平台性跨平台性 所谓的跨平台性,是指软件可以不受计算
3、机硬件和操作系统的约束而在任意计算机环境下正常运行。这是软件发展的趋势和编程人员追求的目标。之所以这样说,是因为计算机硬件的种类繁多,操作系统也各不相同,不同的用户和公司有自己不同的计算机环境偏好,而软件为了能在这些不同的环境里正常运行,就需要独立于这些平台。整理课件6 而在Java语言中,Java自带的虚拟机很好地实现了跨平台性。Java源程序代码经过编译后生成二进制的字节码是与平台无关的,但是可被Java虚拟机识别的一种机器码指令。Java虚拟机提供了一个字节码到底层硬件平台及操作系统的屏障,使得Java语言具备跨平台性。整理课件7 2.面向对象面向对象 面向对象是指以对象为基本粒度,其下
4、包含属性和方法。对象的说明用属性表达,而通过使用方法来操作这个对象。面向对象技术使得应用程序的开发变得简单易用,节省代码。Java是一种面向对象的语言,也继承了面向对象的诸多好处,如代码扩展、代码复用等。整理课件8 3.安全性安全性 安全性可以分为四个层面,即语言级安全性、编译时安全性、运行时安全性、可执行代码安全性。语言级安全性指Java的数据结构是完整的对象,这些封装过的数据类型具有安全性。编译时要进行Java语言和语义的检查,保证每个变量对应一个相应的值,编译后生成Java类。运行时Java类需要类加载器载入,并经由字节码校验器校验之后才可以运行。Java类在网络上使用时,对它的权限进行
5、了设置,保证了被访问用户的安全性。整理课件9 4.多线程多线程 多线程在操作系统中已得到了最成功的应用。多线程是指允许一个应用程序同时存在两个或两个以上的线程,用于支持事务并发和多任务处理。Java除了内置的多线程技术之外,还定义了一些类、方法等来建立和管理用户定义的多线程。整理课件10 5.简单易用简单易用 Java源代码的书写不拘泥于特定的环境,可以用记事本、文本编辑器等编辑软件来实现,然后将源文件进行编译,编译通过后可直接运行,通过调试则可得到想要的结果。整理课件111.3 Java 应应 用用 分分 类类 1.应用程序应用程序 典型的通用程序可以在具备Java运行环境的设备中独立运行,
6、它又分为:GUI应用程序:即图形用户界面程序,可实现丰富的输入界面和输出显示。命令行程序:无需界面,只需在命令行下运行,运行结果只在后台发生变化,可以将输出存放到文件中。嵌入式应用程序:Java语言的平台独立性决定了它可以嵌入到不同的设备中,且只需具备必要的运行环境即可。整理课件12 2.Servlets服务器端应用程序服务器端应用程序 服务器端的应用程序用来收集客户端的数据输入,对数据进行处理之后,返回相应的响应给客户。它主要用来实现与客户端的交互。整理课件13 3.Applets小应用程序小应用程序 Applets应用于网络上,嵌入在HTML网页中,支持Java的浏览器都可以对它进行解释并
7、运行。通常通过一个HTML标签来识别并运行Applets。小应用程序的类在服务器端,当浏览器显示网页时,它随之下载到本地,由本地的浏览器载入运行。整理课件141.4 JDK包的下载与安装包的下载与安装 Java Develop Kit简称为JDK,是Sun公司免费发行的软件包,可以从Sun网站http:/免费下载,也可以从其它国内地址下载。JDK版本从1.02开始,目前版本发展到1.4,其中高级版本对低级版本实现向下兼容。运用这个软件包,就可以对Java源程序进行编译和运行。本书中下载使用的JDK包为j2sdk-1_4_0_012-windows-i586.exe。下载后双击图标,即可进行安装
8、,默认的安装目录为C:j2sdk1.4.0_01。本书作者将安装目录改为D:j2sdk1.4.0_01。整理课件151.5 Java 环环 境境 配配 置置 JDK包安装完成后,需要设置环境变量。用鼠标右键单击桌面上的图标“我的电脑”,选择“属性”项,出现标题为“系统特性”的对话框,点击“高级”标签,可以看见有一个“环境变量”按钮,如图1.1所示。整理课件16图1.1 “系统特性”对话框整理课件17 单击“环境变量”按钮,可以看见本机环境变量,如图1.2所示。上面为用户变量,下面为系统变量,随着操作系统或用户环境的不同,变量名、值有所不同。这里需要修改三个用户变量:include、lib和pa
9、th,分别将JDK包安装之后的相应路径包含到这三个用户变量中。整理课件18图1.2 “环境变量”对话框整理课件19 选中include变量,单击“编辑”按钮,弹出标题为“编辑用户变量”的对话框,如图1.3所示。在变量值一栏的最后添加“;D:j2sdk1.4.0_01include”,“;”表示与前面的各项隔开,后面的路径是JDK包的安装路径下的include目录。图1.3为作者修改include变量的情况,注意你的安装路径可能与作者的有所不同,要以你的安装路径为基准进行修改。整理课件20图1.3 编辑include变量整理课件21 选中lib变量,单击“编辑”按钮,弹出标题为“编辑用户变量”的
10、对话框,如图1.4所示。在变量值一栏的最后添加“;D:j2sdk1.4.0_01lib”,“;”表示与前面的各项隔开,后面的路径是JDK包的安装路径下的lib目录。图1.4为作者修改lib变量的情况,注意你的安装路径可能与作者的有所不同,要以你的安装路径为基准进行修改。整理课件22图1.4 编辑lib变量整理课件23 选中path变量,单击“编辑”按钮,弹出标题为“编辑用户变量”的对话框,如图1.5所示。在变量值一栏的最后添加“;D:j2sdk1.4.0_01bin”,“;”表示与前面的各项隔开,后面的路径是JDK包的安装路径下的bin目录。图1.5为作者修改path变量的情况,注意你的安装路
11、径可能与作者的有所不同,同样要以你的安装路径为基准进行修改。整理课件24图1.5 编辑path变量整理课件251.6 例例 子子 程程 序序 【例1.1】源程序名称为HelloWorld.java,命令行提示符下输出字符串“Hello World”。源代码如下:/程序文件名称为HelloWorld.javapublic class HelloWorldpublic static void main(String args)System.out.println(Hello World);整理课件26 用记事本或者专用的编辑工具如EditPlus等进行编辑,并将文件存为HelloWorld.jav
12、a。建议使用像EditPlus这样的编辑软件,可使得代码更加清晰且风格良好。运行“开始”菜单程序附件命令提示符,载入命令行程序,在命令行状态下,进入源程序所在的目录,图1.6所示的例子程序的目录在“E:_WorkJavasample”下,然后键入命令“javac HelloWorld.java”。若编译不通过,会产生错误提示。若编译通过,则没有任何提示,同时进入命令行等待状态,如图1.6所示。这时,命令行虽然没有提示,但在源程序的路径下生成一个新的文件为HelloWorld.class。这个.class文件就是编译后生成的类文件,运行此文件,需在命令行状态中键入命令“java HelloWor
13、ld”,然后按回车键,此时程序就会运行并输出“Hello World”。输出完毕,立即退出程序,进入命令行等待状态,如图1.7所示。整理课件27图1.6 编译源程序HelloWorld整理课件28图1.7 运行HelloWorld应用程序整理课件29 这里用到的命令Javac和Java都是JDK软件包自带的。从JDK安装路径的bin目录下可以看到javac.exe,这是编译程序,源程序编译通过后就生成.class文件;而Java.exe就是载入类的运行程序,运行时根据源程序的指令要求产生正确的输出或结果。如果没有进行环境配置,直接编译或者运行Java源程序,系统会提示找不到这些命令,所以必须进
14、行环境配置后再使用。整理课件30 【例1.2】小应用程序的例子。输出“Hello World!”,如图1.8所示。源程序代码如下:/程序文件名称为HelloApplet.javaimport java.awt.Graphics;import java.applet.Applet;public class HelloApplet extends Appletpublic void paint(Graphics g)g.drawString(Hello World!,50,25);整理课件31 小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的HTML网页代码就是小应用程序
15、载入的容器。HTML Test Page整理课件32HelloApplet will appear below in a Java enabled browser.整理课件33图1.8 Applet显示“Hello World!”整理课件34习习 题题1.简述Java的特点。2.简述Java的分类情况。3.进行Java环境的安装和配置。4.编写应用程序,屏幕上输出“欢迎来到Java世界!”。5.编写Applet,输出“欢迎来到Java世界!”。整理课件35第2章 Java基本语法 2.1 Java程序的构成程序的构成 2.2 数据类型、变量和常量数据类型、变量和常量 2.3 运算符和表达式运算
16、符和表达式 2.4 流程控制流程控制 2.5 数组的使用数组的使用 习习 题题 整理课件362.1 Java程序的构成程序的构成2.1.1 逻辑构成逻辑构成 Java源程序逻辑构成分为两大部分:程序头包的引用和类的定义。1.程序头包的引用程序头包的引用 主要是指引用JDK软件包自带的包,也可以是自己定义的类。引用之后程序体中就可以自由应用包中的类的方法和属性等。整理课件37 2.类的定义类的定义 Java源程序中可以有多个类的定义,但必须有一个主类,这个主类是Java程序运行的入口点。在应用程序中,主类为包含main方法的类;在Applet中,主类为用户自定义的系统Applet类的扩展类。在J
17、ava源程序中,主类的名字同文件名一致。类的定义又包括类头声明和类体定义。类体中包括属性声明和方法描述。下面来看一个例子,其中斜体表示的语句行为主类类头,主类类头下面从大括号“”开始到“”结束的部分称为主类类体。整理课件38 【例2.1】下面是一个应用程序,也是一个Applet,既可以在命令行下运行,也可以嵌入到HTML网页中用appletviewer命令运行。运行时在界面上的第一个文本框中输入你的名字,按回车键后,在第二个文本框中会显示“XXX,欢迎你来到Java世界!”,运行结果如图2.1所示。/程序文件名称为WelcomeApplet.java 注释语句 vent.*;java.awt.
18、eimport;java.awt.*import t.*;java.appleimport 引入包 public class WelcomeApplet extends Applet implements ActionListener 主类类头 整理课件39 txtDisp;TextField txtName;TextFieldlblName;Label属 性 r(this);ionListeneame.addAct txtNp);add(txtDis e);add(txtNam e);add(lblNam 20);TextField(new isp txtD8);TextField(new
19、ame txtN);new Label(lblName init()voidpublic请输入您的名字init方法 整理课件40);Java getText()t(txtName.isp.setTex txtDe)onEvent ormed(ActiactionPerf voidpublic世界欢迎你来到actionPerformed方法 整理课件41 a.start();f.show();400,300);f.setSize(a);,Centerf.add(a.init();let();WelcomeAppnew a let WelcomeApp ;t(0);System.exi evt)w
20、Event sing(Windo windowClo voidpublic ter()WindowAdapnew wListener(f.addWindo );new Frame(f ame Frargs)gmain(Strin voidstatic public欢迎main主方法 整理课件42图2.1 程序界面 整理课件432.1.2 物理构成物理构成 Java源程序物理上由三部分构成,分别为语句、块和空白。(1)语句指一行以分号“;”结束的语句。(2)块指用括号对界定的语句序列,块可以嵌套使用。(3)空白指语句之间、块内部或者块之间的空白行。空白不影响Java源程序的编译和运行,适当地运用
21、空白,可以形成良好的代码风格。整理课件44在例1.1中,Label lblName;TextField txtName;TextField txtDisp;都是语句,而lblName=new Label(请输入您的名字:);txtName=new TextField(8);txtDisp=new TextField(20);add(lblName);add(txtName);add(txtDisp);txtName.addActionListener(this);是块,语句之间、块之间或块内部的空行都为空白。整理课件452.1.3 注释语句注释语句 注释语句主要用来进行一些说明,或者标记一些无
22、用的程序语句。有两种注释方法,行注释为以/开始的行;块注释以/*开始和*/结束,Java编译器忽略注释后的程序语句或说明。例如,下面的语句就是注释语句用来说明程序文件名称的。/程序文件名称为WelcomeApplet.java上述的语句注释可以更改为:/*程序文件名称为WelcomeApplet.java*/或/*程序文件名称为WelcomeApplet.java*/整理课件462.1.4 标识符、关键字和转义符标识符、关键字和转义符 在Java语言中,标识符是赋予变量、类和方法等的名称。标识符由编程者自己指定,但需要遵循一定的语法规范:(1)标识符由字母、数字、下划线(_)、美元符号($)组
23、成,但美元符号用得较少。(2)标识符从一个字母、下划线或美元符号开始。(3)Java语言中,标识符大小写敏感,必须区别对待。(4)标识符没有最大长度的限制,但最好表达特定的意思。(5)标识符定义不能是关键字。整理课件47 关键字又称保留字,是指Java语言中自带的用于标志数据类型名或者程序构造名等的标识符,如public、double等。转义符是指一些有特殊含义的、很难用一般方式表达的字符,如回车、换行等。所有的转义符以反斜线()开头,后面跟着一个字符来表示某个特定的转义符,如表2.1所示。整理课件48表表2.1 转转 义义 符符引 用 方 法 含 义 b 退格 t 水平制表符 Tab n 换
24、行 f 表格符 r 回车 单引号 双引号 反斜线 整理课件492.2 数据类型、变量和常量数据类型、变量和常量2.2.1 数据类型数据类型 Java编程语言定义了八种基本的数据类型(见表2.2),共分为四类:整数类(byte、short、int、long)、文本类(char)、浮点类(double、float)和逻辑类(boolean)。整理课件50表表2.2 Java的数据类型的数据类型分 类 数据类型 关键字 占字节数 缺省数值 取 值 范 围 字节型 byte 8 0-2 72 7-1 短整型 short 16 0-2 152 15-1 整型 int 32 0-2 312 31-1 整数
25、类 长整型 long 64 0-2 632 63-1 文本类 字符型 char 16 u 0000 u 0000 u FFFF 浮点型 float 32 0.0F 浮点类 双精度型 double 64 0.0D 逻辑类 逻辑型 boolean 8 False True、False 整理课件511.整数类整数类(1)采用三种进制十进制、八进制和十六进制。2 十进制值是2;077 首位的0表示这是一个八进制的数值;0 xBAAC 首位的0 x表示这是一个十六进制的数值。(2)具有缺省int。(3)用字母“L”和“l”定义long。(4)所有Java编程语言中的整数类型都是带符号的数字。整理课件52
26、 2.文本类文本类(1)代表一个16 bit Unicode字符。(2)必须包含用单引号()引用的文字。(3)使用下列符号:a一个字符。t-一个制表符。u?-一个特殊的Unicode字符,?应严格使用四个十六进制数进行替换。整理课件53 3.浮点类浮点类 默认为double类型,如果一个数字包括小数点或指数部分,或者在数字后带有字母F或f(float)、D或d(double),则该数字为浮点数。整理课件544.逻辑类逻辑类boolean数据类型有两种值:true和false。例如:boolean flag=true;上述语句声明变量flag为boolean 类型,它被赋予的值为true。整理课
27、件552.2.2 变量与常量变量与常量 常量是指整个运行过程中不再发生变化的量,例如数学中的=3.1415,在程序中需要设置成常量。而变量是指程序的运行过程中发生变化的量,通常用来存储中间结果,或者输出临时值。变量的声明也指变量的创建。执行变量声明语句时,系统根据变量的数据类型在内存中开辟相应的存储空间并赋予初始值。变量有一个作用范围,超出它声明语句所在的块就无效。整理课件56 下面看一个使用各种类型变量声明并改变的示例。程序中pi为常量,s1、i1、l1、ch1、f1、d1、b1为全局变量,可以在方法change中发生改变,然后在方法main中输出。而s2、i2、l2、ch2、f2、d2、b
28、2是方法main的局部变量,它们的作用范围只局限于方法main中。【例2.2】测试不同数据类型的变量,程序输出如图2.2所示。源程序代码如下:/程序文件名称为SetVariable.javapublic class SetVariable/全局变量整理课件57static double pi=3.141592654;/数学常量static short s1;static int i1;static long l1;static char ch1;static float f1;static double d1;static boolean b1;public static void main(
29、String args)整理课件58/局部变量short s2=35;int i2=-32;long l2=34555L;char ch2=A;float f2=897.89F;double d2=34.345;boolean b2=false;/输出常量System.out.println(数学常量pi=+pi);/输出局部变量整理课件59System.out.println(*局部变量*);System.out.println(短整型变量s2=+s2);System.out.println(整型变量i2=+i2);System.out.println(长整型变量l2=+l2);System
30、.out.println(字符变量ch2=+ch2);System.out.println(浮点数类型f2=+f2);System.out.println(双精度型变量d2=+d2);System.out.println(布尔型变量b2=+b2);/调用方法修改全局变量的值整理课件60change();/输出全局变量的值System.out.println(*全局变量*);System.out.println(短整型变量s1=+s1);System.out.println(整型变量i1=+i1);System.out.println(长整型变量l1=+l1);System.out.printl
31、n(字符变量ch1=+ch1);System.out.println(浮点数类型f1=+f1);System.out.println(双精度型变量d1=+d1);System.out.println(布尔型变量b1=+b1);整理课件61 /方法:修改全局变量的值 public static void change()s1=125;i1=88;l1=987654321L;ch1=B;f1=3.2590F;d1=-1.04E-5;b1=true;整理课件62图2.2 变量输出结果整理课件632.3 运算符和表达式运算符和表达式 Java常用的运算符分为五类:算术运算符、赋值运算符、关系运算符、布
32、尔逻辑运算符、位运算符。位运算符除了简单的按位操作外,还有移位操作。按位操作返回布尔值。表达式是由常量、变量、对象、方法调用和操作符组成的式子。表达式必须符合一定的规范,才可被系统理解、编译和运行。表达式的值就是对表达式自身运算后得到的结果。根据运算符的不同,表达式相应地分为以下几类:算术表达式、关系表达式、逻辑表达式、赋值表达式,这些都属于数值表达式。整理课件642.3.1 算术运算符及算术表达式算术运算符及算术表达式Java中常用的算术运算符如下:+加运算符-减运算符*乘运算符/除运算符%取模运算(除运算的余数)+增量运算符 -减量运算符 整理课件65 【例例2.3】测试运算符及表达式,程
33、序输出如图2.3所示。源程序代码如下:/程序文件名称为NumberOper.javapublic class NumberOperpublic static void main(String args)/变量初始化int a=30;int b=20;/定义结果变量int r1,r2,r3,r4,r5,r6,r7,r8,r9;/计算结果r1=a+b;整理课件66r2=a-b;r3=a*b;r4=a/b;r5=a%b;r6=a+;r7=b-;r8=+a;r9=-b;/输出结果System.out.println(a=+a+b=+b);/a,b的值System.out.println(a+b=+r1
34、);System.out.println(a-b=+r2);整理课件67System.out.println(a*b=+r3);System.out.println(a/b=+r4);System.out.println(a%b=+r5);System.out.println(a+=+r6);System.out.println(b-=+r7);System.out.println(+a=+r8);System.out.println(-b=+r9);整理课件68图2.3 程序输出结果整理课件692.3.2 关系运算符关系运算符 关系运算符用于比较两个数据之间的大小关系,关系运算表达式返回布尔
35、值,即“真”或“假”。Java中的常用关系运算符如下:=等于!=不等于大于=大于等于 b;r4=a=b;r6=a b=+r3);System.out.println(a=b=+r5);System.out.println(a=b=+r6);整理课件72图2.4 程序输出结果整理课件732.3.3 布尔逻辑运算符布尔逻辑运算符表表2.3 布尔运算符及规则布尔运算符及规则运算符 含 义 示 例 规 则!取反!a a 为真时,结果为假;a 为假时,结果为真&非简洁与 a&b a、b 都为真时,结果为真;a、b 有一个为假时,结果为假|非简洁或 a|b a、b 有一个为真时,结果为真;a、b 都为假时
36、,结果为假 异或 a b a、b 不同真假时结果为真;a、b 同真或同假时,结果为假&简洁与 a&b a、b 都为真时,结果为真;a、b 有一个为假时,结果为假|简洁或 a|b a、b 有一个为真时,结果为真;a、b 都为假时,结果为假 整理课件74 图2.3为布尔逻辑运算符及其规则示例等。其中简洁与和简洁或的执行结果分别与非简洁与和非简洁或的执行结果是一致的,不同在于简洁与检测出符号左端的值为假时,不再判断符号右端的值,直接将运算结果置为假;而简洁或与非简洁或的不同在于简洁或检测出符号左端为真时,不再判断符号右端的值,直接将运算结果置为真。例如:Boolean a=false;Boolean
37、 b=true;a&b检测到a为假,则无需判断b的值,直接将值置为假;而b|a时检测到b为真,则无需判断a的值,直接将值置为真。整理课件75 【例2.5】测试布尔表达式,程序输出结果如图2.5所示。源程序代码如下:/程序文件名称为TestLogic.javapublic class TestLogicpublic static void main(String args)/变量初始化boolean a=false;boolean b=true;/定义结果变量boolean r1,r2,r3,r4,r5,r6;/计算结果整理课件76r1=!a;r2=a&b;r3=a|b;r4=a b;r5=a&
38、b;r6=a|b;/输出结果System.out.println(a=+a+b=+b);System.out.println(!a=+r1);System.out.println(a&b=+r2);System.out.println(a|b=+r3);System.out.println(ab=+r4);System.out.println(a&b=+r5);System.out.println(a|b=+r6);整理课件77图2.5 程序输出结果整理课件782.3.4 位运算符位运算符Java中的常用位运算符如下:位求反&按位与|按位或按位异或右移不带符号右移 右移运算符对应的表达式为xa
39、,运算的结果是操作数x被2的a次方来除,左移运算符对应的表达式为xa,运算的结果是操作数x乘以2的a次方。整理课件79 【例2.6】测试位运算符,程序输出结果如图2.6所示。源程序代码如下:/程序文件名称为TestBit.javapublic class TestBitpublic static void main(String args)/变量初始化int a=36;int b=2;/定义结果变量int r1,r2;整理课件80/计算结果r1=a b;r2=a b=+r1);System.out.println(ab=+r2);整理课件81图2.6 程序输出结果整理课件822.3.5 赋值运
40、算符赋值运算符 赋值运算符分为简单运算符和复杂运算符。简单运算符指“=”,而复杂运算符是指算术运算符、逻辑运算符、位运算符中的双目运算符后面再加上“=”。表2.4列出Java常用的赋值运算符及其等价表达式。整理课件83表表2.4 赋值运算符及其等价表达式赋值运算符及其等价表达式运算符 含 义 示 例 等价表达式+=加并赋值运算符 a+=b a=a+b-=减并赋值运算符 a=b a=a-b*=乘并赋值运算符 a*=b a=a*b/=除并赋值运算符 a/=b a=a/b%=取模并赋值运算符 a%=b a=a%b&=与并赋值运算符 a&=b a=a&b|=或并赋值运算符 a|=b a=a|b=或并赋
41、值运算符 a=b a=a b=左移并赋值运算符 a=b a=a=右移并赋值运算符 a=b a=a b=右移并赋值运算符 a=b a=a b 整理课件842.3.6 其它操作符及其表达式其它操作符及其表达式 三目运算符(?:)相当于条件判断,表达式x?y:z用于判断x是否为真,如果为真,表达式的值为y,否则表达式的值为z。例如:int x=5;int a=(x3)?5:3;则a的值为5。如果x=2,则a的值为3。整理课件85 对象运算符(instanceof)用来判断一个对象是否属于某个指定的类或其子类的实例,如果是,返回真(true),否则返回假(false)。例如:boolean b=use
42、rObject instanceof Applet用来判断userObject类是否是Applet类的实例。整理课件862.3.7 优先级优先级表表2.5 运算符优先级运算符优先级优先级 含义描述 运 算 符 结合性 1 分隔符 ();,2 单目运算、字符串运算+-+-!(类型转换符)*右到左 3 算术乘除运算*/%左到右 4 算术加减运算+-左到右 5 移位运算 左到右 6 大小关系运算、类运算 =instanceof 左到右 7 相等关系运算=!=左到右 8 按位与,非简洁与&左到右 9 按位异或运算 左到右 10 按位或,非简洁或|左到右 11 简洁与&左到右 12 简洁或|左到右 13
43、 三目条件运算?:*右到左 14 简单、复杂赋值运算=*=/=%=+=&=|=*右到左 整理课件872.4 流流 程程 控控 制制 流程控制分为三种基本结构:顺序结构、分支结构和循环结构。顺序结构是指命令行顺序执行,这是最常见的一个格式;分支结构是一种选择结构,根据条件的值选择不同的执行流程,可以得到不同的结果。分支结构包括单分支语句(if-else语句)和多分支语句(switch语句);循环结构是指对于一些重复执行的语句,用户指定条件或次数,由机器自动识别执行。循环结构包括次数循环语句(for语句)和条件循环语句(while语句)。整理课件882.4.1 分支语句分支语句分支语句分为两类:单
44、分支语句和多选语句。1.if-else语句语句if-else语句的基本格式为:if(布尔表达式)语句或块1;else语句或块2;整理课件89 其中:(1)布尔表达式返回值为true或false。(2)如果为true,则执行语句或块1,执行完毕跳出if-else语句。(3)如果为false,则跳过语句或块1,然后执行else下的语句或块2。整理课件90 【例2.7】测试if-else语句,如果x10,则输出x的值,并提示结果正确,否则输出x=10,提示结果不正确。程序输出结果如图2.7所示。源程序代码如下:/程序文件名称为TestIf.javapublic class TestIf/声明全局变量
45、xstatic int x;public static void main(String args)x=12;if(x10)整理课件91 System.out.println(x=+x+结果正确);else System.out.println(x=10+结果不正确);change();System.out.println(修改x的值之后);if(x10)System.out.println(x=+x+结果正确);elseSystem.out.println(x=10+结果不正确);整理课件92/change方法:修改x的值public static void change()x=5;整理课件
46、93图2.7 程序输出结果整理课件942.switch语句switch语句的基本格式为:switch(表达式1)case 表达式2:语句或块2;break;case表达式3:语句或块3;break;case 表达式4:语句或块4;break;default:语句或块5;break;整理课件95其中:(1)表达式1的值必须与整型兼容。(2)case分支要执行的程序语句。(3)表达式2、3、4是可能出现的值。(4)不同的case分支对应着不同的语句或块序列。(5)break表示跳出这一分支。整理课件96 【例2.8】测试switch语句,当x=1、2、3时,分别打印1、2、3,x不为这三个值时,打
47、印x的值。程序输出结果如图2.8所示。源程序代码如下:/程序文件名称为TestSwitch.javapublic class TestSwitchpublic static void main(String args)/声明变量xint x;x=12;整理课件97System.out.println(x=12时打印的值);choose(x);x=3;System.out.println(x=3时打印的值);choose(x);/choose方法:switch语句结构public static void choose(int x)switch(x)整理课件98case 1:System.out.
48、println(1);break;case 2:System.out.println(2);break;case 3:System.out.println(3);break;default:System.out.println(x);整理课件99图2.8 程序输出结果 整理课件1002.4.2 for循环语句循环语句for循环语句实现已知次数的循环,其基本格式为:for(初始化表达式;测试表达式;步长)语句或块;整理课件101 其执行顺序如下:(1)首先运行初始化表达式。(2)然后计算测试表达式,如果表达式为true,执行语句或块;如果表达式为false,退出for循环。(3)最后执行步长。整
49、理课件102 【例2.9】用for循环统计1100(包括100)之间数的总和。程序输出结果如图2.9所示。源程序代码如下:/程序文件名称为TestFor.javapublic class TestForpublic static void main(String args)int sum=0;for(int i=1;i=100;i+)sum+=i;System.out.println(1到100(包括100)的数的总和为:+sum);整理课件103图2.9 程序输出结果整理课件1042.4.3 while循环语句循环语句 while循环语句实现受条件控制的循环,其基本格式为:while(布尔表
50、达式)语句或块;当布尔表达式为true时,执行语句或块,否则跳出while循环。整理课件105上面for循环语句的例子改为while语句后如下所示:int sum=0;int i=1;while(i=100)sum+=i;i+;System.out.println(1到100(包括100)的数的总和为:+sum);整理课件1062.4.4 do语句语句do语句实现受条件控制的循环,其基本格式为:do语句或块;while(布尔表达式)整理课件107 先执行语句或块,然后再判断布尔表达式。与while语句不同,当布尔表达式一次都不为true时,while语句一开始判断就跳出循环,不执行语句或块,而