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






