Java编程经典——2010新版Java教程.pdf

上传人:qwe****56 文档编号:69996729 上传时间:2023-01-13 格式:PDF 页数:966 大小:3.31MB
返回 下载 相关 举报
Java编程经典——2010新版Java教程.pdf_第1页
第1页 / 共966页
亲,该文档总共966页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Java编程经典——2010新版Java教程.pdf》由会员分享,可在线阅读,更多相关《Java编程经典——2010新版Java教程.pdf(966页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Java 实用教程 Java 编程经典编程经典 2010 新版新版 Java 教程教程JavaJavaJavaJavaJava 实用教程目 录目 录 第第1章章Java环境及配置环境及配置第第2章 章 Java基本语法基本语法 第第3章 类和接口章 类和接口 第第4章 章 Java Applet 第第5章 章 Java图形处理图形处理 第第6章 章 Java用户界面技术用户界面技术 第第7章 异常、事件和多线程机制章 异常、事件和多线程机制 第第8章 输入输出技术章 输入输出技术 第第9章 章 Java数据库技术数据库技术 第第10章 章 Java安全技术安全技术 第第11章 章 Java网络

2、技术网络技术(一一)第第12章 章 Java网络技术网络技术(二二)第第13章 章 Servlet技术 技术 第第14章 章 Java读写读写XML技术技术Java 实用教程第 1 章 Java 环境及配置 1.1 Java概述概述1.2 Java语言的特点语言的特点1.3 Java应用分类应用分类1.4 JDK包的下载与安装包的下载与安装1.5 Java环境配置环境配置1.6 例子程序例子程序习 题习 题 Java 实用教程1.1 Java 概 述 概 述 Java 是一种编程语言,它提供了一个同时用于程序开发、应用和部署的环境。Java 语言主要定位于网络编程,使得程序可以最大限度地利用网

3、络资源。Java 实用教程1.2 Java 语 言 的 特 点语 言 的 特 点 1.跨平台性跨平台性 所谓的跨平台性,是指软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行。这是软件发展的趋势和编程人员追求的目标。之所以这样说,是因为计算机硬件的种类繁多,操作系统也各不相同,不同的用户和公司有自己不同的计算机环境偏好,而软件为了能在这些不同的环境里正常运行,就需要独立于这些平台。Java 实用教程 而在 Java 语言中,Java 自带的虚拟机很好地实现了跨平台性。Java 源程序代码经过编译后生成二进制的字节码是与平台无关的,但是可被 Java 虚拟机识别的一种机器码指令。

4、Java 虚拟机提供了一个字节码到底层硬件平台及操作系统的屏障,使得 Java 语言具备跨平台性。Java 实用教程 2.面向对象面向对象 面向对象是指以对象为基本粒度,其下包含属性和方法。对象的说明用属性表达,而通过使用方法来操作这个对象。面向对象技术使得应用程序的开发变得简单易用,节省代码。Java 是一种面向对象的语言,也继承了面向对象的诸多好处,如代码扩展、代码复用等。Java 实用教程 3.安全性安全性 安全性可以分为四个层面,即语言级安全性、编译时安全性、运行时安全性、可执行代码安全性。语言级安全性指 Java 的数据结构是完整的对象,这些封装过的数据类型具有安全性。编译时要进行

5、Java 语言和语义的检查,保证每个变量对应一个相应的值,编译后生成 Java类。运行时 Java 类需要类加载器载入,并经由字节码校验器校验之后才可以运行。Java 类在网络上使用时,对它的权限进行了设置,保证了被访问用户的安全性。Java 实用教程 4.多线程多线程 多线程在操作系统中已得到了最成功的应用。多线程是指允许一个应用程序同时存在两个或两个以上的线程,用于支持事务并发和多任务处理。Java 除了内置的多线程技术之外,还定义了一些类、方法等来建立和管理用户定义的多线程。Java 实用教程 5.简单易用简单易用 Java 源代码的书写不拘泥于特定的环境,可以用记事本、文本编辑器等编辑

6、软件来实现,然后将源文件进行编译,编译通过后可直接运行,通过调试则可得到想要的结果。Java 实用教程1.3 Java 应 用 分 类应 用 分 类 1.应用程序应用程序 典型的通用程序可以在具备 Java 运行环境的设备中独立运行,它又分为:GUI 应用程序:即图形用户界面程序,可实现丰富的输入界面和输出显示。命令行程序:无需界面,只需在命令行下运行,运行结果只在后台发生变化,可以将输出存放到文件中。嵌入式应用程序:Java 语言的平台独立性决定了它可以嵌入到不同的设备中,且只需具备必要的运行环境即可。Java 实用教程 2.Servlets 服务器端应用程序服务器端应用程序 服务器端的应用

7、程序用来收集客户端的数据输入,对数据进行处理之后,返回相应的响应给客户。它主要用来实现与客户端的交互。Java 实用教程 3.Applets 小应用程序小应用程序 Applets 应用于网络上,嵌入在 HTML 网页中,支持 Java的浏览器都可以对它进行解释并运行。通常通过一个 HTML标签 来识别并运行 Applets。小应用程序的类在服务器端,当浏览器显示网页时,它随之下载到本地,由本地的浏览器载入运行。Java 实用教程1.4 JDK 包的下载与安装包的下载与安装 Java Develop Kit 简称为 JDK,是 Sun 公司免费发行的软件包,可以从 Sun 网站 http:/ 免

8、费下载,也可以从其它国内地址下载。JDK 版本从 1.02 开始,目前版本发展到1.4,其中高级版本对低级版本实现向下兼容。运用这个软件包,就可以对 Java 源程序进行编译和运行。本书中下载使用的JDK 包为 j2sdk-1_4_0_012-windows-i586.exe。下载后双击图标,即可进行安装,默认的安装目录为 C:j2sdk1.4.0_01。本书作者将安装目录改为 D:j2sdk1.4.0_01。Java 实用教程1.5 Java 环 境 配 置环 境 配 置 JDK 包安装完成后,需要设置环境变量。用鼠标右键单击桌面上的图标“我的电脑”,选择“属性”项,出现标题为“系统特性”的

9、对话框,点击“高级”标签,可以看见有一个“环境变量”按钮,如图 1.1 所示。Java 实用教程图 1.1 “系统特性”对话框Java 实用教程 单击“环境变量”按钮,可以看见本机环境变量,如图 1.2 所示。上面为用户变量,下面为系统变量,随着操作系统或用户环境的不同,变量名、值有所不同。这里需要修改三个用户变量:include、lib 和 path,分别将 JDK 包安装之后的相应路径包含到这三个用户变量中。Java 实用教程图 1.2 “环境变量”对话框Java 实用教程 选中 include 变量,单击“编辑”按钮,弹出标题为“编辑用户变量”的对话框,如图 1.3 所示。在变量值一栏的

10、最后添加“;D:j2sdk1.4.0_01include”,“;”表示与前面的各项隔开,后面的路径是 JDK 包的安装路径下的 include 目录。图 1.3 为作者修改 include 变量的情况,注意你的安装路径可能与作者的有所不同,要以你的安装路径为基准进行修改。Java 实用教程图 1.3 编辑 include 变量Java 实用教程 选中 lib 变量,单击“编辑”按钮,弹出标题为“编辑用户变量”的对话框,如图 1.4 所示。在变量值一栏的最后添加“;D:j2sdk1.4.0_01lib”,“;”表示与前面的各项隔开,后面的路径是 JDK 包的安装路径下的 lib 目录。图 1.4

11、 为作者修改 lib 变量的情况,注意你的安装路径可能与作者的有所不同,要以你的安装路径为基准进行修改。Java 实用教程图 1.4 编辑 lib 变量Java 实用教程 选中 path 变量,单击“编辑”按钮,弹出标题为“编辑用户变量”的对话框,如图 1.5 所示。在变量值一栏的最后添加“;D:j2sdk1.4.0_01bin”,“;”表示与前面的各项隔开,后面的路径是 JDK 包的安装路径下的 bin 目录。图 1.5 为作者修改 path 变量的情况,注意你的安装路径可能与作者的有所不同,同样要以你的安装路径为基准进行修改。Java 实用教程图 1.5 编辑 path 变量Java 实用

12、教程1.6 例 子 程 序例 子 程 序 【例 1.1】源程序名称为 HelloWorld.java,命令行提示符下输出字符串“Hello World”。源代码如下:/程序文件名称为 HelloWorld.javapublic class HelloWorldpublic static void main(String args)System.out.println(Hello World);Java 实用教程 用记事本或者专用的编辑工具如 EditPlus 等进行编辑,并将文件存为 HelloWorld.java。建议使用像 EditPlus 这样的编辑软件,可使得代码更加清晰且风格良好。运

13、行“开始”菜单程序附件命令提示符,载入命令行程序,在命令行状态下,进入源程序所在的目录,图 1.6所示的例子程序的目录在“E:_WorkJavasample”下,然后键入命令“javac HelloWorld.java”。若编译不通过,会产生错误提示。若编译通过,则没有任何提示,同时进入命令行等待状态,如图 1.6 所示。这时,命令行虽然没有提示,但在源程序的路径下生成一个新的文件为 HelloWorld.class。这个.class 文件就是编译后生成的类文件,运行此文件,需在命令行状态中键入命令“java HelloWorld”,然后按回车键,此时程序就会运行并输出“Hello World

14、”。输出完毕,立即退出程序,进入命令行等待状态,如图 1.7 所示。Java 实用教程图 1.6 编译源程序 HelloWorldJava 实用教程图 1.7 运行 HelloWorld 应用程序Java 实用教程 这里用到的命令 Javac 和 Java 都是 JDK 软件包自带的。从 JDK 安装路径的 bin 目录下可以看到 javac.exe,这是编译程序,源程序编译通过后就生成.class 文件;而 Java.exe 就是载入类的运行程序,运行时根据源程序的指令要求产生正确的输出或结果。如果没有进行环境配置,直接编译或者运行Java 源程序,系统会提示找不到这些命令,所以必须进行环境

15、配置后再使用。Java 实用教程 【例 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);Java 实用教程 小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的 HTML 网页

16、代码就是小应用程序载入的容器。HTML Test PageJava 实用教程HelloApplet will appear below in a Java enabled browser.Java 实用教程图 1.8 Applet 显示“Hello World!”Java 实用教程习 题习 题1.简述 Java 的特点。2.简述 Java 的分类情况。3.进行 Java 环境的安装和配置。4.编写应用程序,屏幕上输出“欢迎来到 Java 世界!”。5.编写 Applet,输出“欢迎来到 Java 世界!”。Java 实用教程第 2 章 Java 基本语法 2.1 Java程序的构成 程序的构成

17、 2.2 数据类型、变量和常量 数据类型、变量和常量 2.3 运算符和表达式 运算符和表达式 2.4 流程控制 流程控制 2.5 数组的使用 数组的使用 习 题习 题 Java 实用教程2.1 Java 程序的构成程序的构成2.1.1 逻辑构成逻辑构成 Java 源程序逻辑构成分为两大部分:程序头包的引用和类的定义。1.程序头包的引用程序头包的引用 主要是指引用 JDK 软件包自带的包,也可以是自己定义的类。引用之后程序体中就可以自由应用包中的类的方法和属性等。Java 实用教程 2.类的定义类的定义 Java 源程序中可以有多个类的定义,但必须有一个主类,这个主类是 Java 程序运行的入口

18、点。在应用程序中,主类为包含 main 方法的类;在 Applet 中,主类为用户自定义的系统Applet 类的扩展类。在 Java 源程序中,主类的名字同文件名一致。类的定义又包括类头声明和类体定义。类体中包括属性声明和方法描述。下面来看一个例子,其中斜体表示的语句行为主类类头,主类类头下面从大括号“”开始到“”结束的部分称为主类类体。Java 实用教程 【例 2.1】下面是一个应用程序,也是一个 Applet,既可以在命令行下运行,也可以嵌入到 HTML 网页中用appletviewer 命令运行。运行时在界面上的第一个文本框中输入你的名字,按回车键后,在第二个文本框中会显示“XXX,欢迎

19、你来到 Java 世界!”,运行结果如图 2.1 所示。/程序文件名称为 WelcomeApplet.java 注释语句 vent.*;java.awt.eimport;java.awt.*import t.*;java.appleimport 引入包 public class WelcomeApplet extends Applet implements ActionListener 主类类头 Java 实用教程 txtDisp;TextField txtName;TextFieldlblName;Label属 性=r(this);ionListeneame.addAct txtNp);ad

20、d(txtDis e);add(txtNam e);add(lblNam 20);TextField(new isp txtD8);TextField(new ame txtN);new Label(lblName init()voidpublic请输入您的名字init 方法 Java 实用教程+);Java getText()t(txtName.isp.setTex txtDe)onEvent ormed(ActiactionPerf voidpublic世界欢迎你来到actionPerformed方法 Java 实用教程=a.start();f.show();400,300);f.setS

21、ize(a);,Centerf.add(a.init();let();WelcomeAppnew a let WelcomeApp ;t(0);System.exi evt)wEvent sing(Windo windowClo voidpublic ter()WindowAdapnew wListener(f.addWindo );new Frame(f ame Frargs)gmain(Strin voidstatic public欢迎main 主方法 Java 实用教程图 2.1 程序界面 Java 实用教程2.1.2 物理构成物理构成 Java 源程序物理上由三部分构成,分别为语句、块

22、和空白。(1)语句指一行以分号“;”结束的语句。(2)块指用括号对 界定的语句序列,块可以嵌套使用。(3)空白指语句之间、块内部或者块之间的空白行。空白不影响 Java 源程序的编译和运行,适当地运用空白,可以形成良好的代码风格。Java 实用教程在例 1.1 中,Label lblName;TextField txtName;TextField txtDisp;都是语句,而lblName=new Label(请输入您的名字:);txtName=new TextField(8);txtDisp=new TextField(20);add(lblName);add(txtName);add(tx

23、tDisp);txtName.addActionListener(this);是块,语句之间、块之间或块内部的空行都为空白。Java 实用教程2.1.3 注释语句注释语句 注释语句主要用来进行一些说明,或者标记一些无用的程序语句。有两种注释方法,行注释为以/开始的行;块注释以/*开始和*/结束,Java 编译器忽略注释后的程序语句或说明。例如,下面的语句就是注释语句用来说明程序文件名称的。/程序文件名称为 WelcomeApplet.java上述的语句注释可以更改为:/*程序文件名称为 WelcomeApplet.java*/或/*程序文件名称为WelcomeApplet.java*/Java

24、 实用教程2.1.4 标识符、关键字和转义符标识符、关键字和转义符 在 Java 语言中,标识符是赋予变量、类和方法等的名称。标识符由编程者自己指定,但需要遵循一定的语法规范:(1)标识符由字母、数字、下划线(_)、美元符号($)组成,但美元符号用得较少。(2)标识符从一个字母、下划线或美元符号开始。(3)Java 语言中,标识符大小写敏感,必须区别对待。(4)标识符没有最大长度的限制,但最好表达特定的意思。(5)标识符定义不能是关键字。Java 实用教程 关键字又称保留字,是指 Java 语言中自带的用于标志数据类型名或者程序构造名等的标识符,如 public、double等。转义符是指一些

25、有特殊含义的、很难用一般方式表达的字符,如回车、换行等。所有的转义符以反斜线()开头,后面跟着一个字符来表示某个特定的转义符,如表 2.1 所示。Java 实用教程表表 2.1 转 义 符转 义 符引 用 方 法 含 义 b 退格 t 水平制表符Tab n 换行 f 表格符 r 回车 单引号 双引号 反斜线 Java 实用教程2.2 数据类型、变量和常量数据类型、变量和常量2.2.1 数据类型数据类型 Java 编程语言定义了八种基本的数据类型(见表 2.2),共分为四类:整数类(byte、short、int、long)、文本类(char)、浮点类(double、float)和逻辑类(bool

26、ean)。Java 实用教程表表 2.2 Java 的数据类型的数据类型分 类 数据类型 关键字 占字节数 缺省数值 取 值 范 围 字节型 byte 8 0-2 72 7-1 短整型 short 16 0-2 152 15-1 整型 int 32 0-2 312 31-1 整数类 长整型 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 Java 实用教程1.整数类整数类(1

27、)采用三种进制十进制、八进制和十六进制。2 十进制值是 2;077 首位的 0 表示这是一个八进制的数值;0 xBAAC 首位的 0 x 表示这是一个十六进制的数值。(2)具有缺省 int。(3)用字母“L”和“l”定义 long。(4)所有 Java 编程语言中的整数类型都是带符号的数字。Java 实用教程 2.文本类文本类(1)代表一个 16 bit Unicode 字符。(2)必须包含用单引号()引用的文字。(3)使用下列符号:a 一个字符。t-一个制表符。u?-一个特殊的 Unicode 字符,?应严格使用四个十六进制数进行替换。Java 实用教程 3.浮点类浮点类 默认为 doubl

28、e 类型,如果一个数字包括小数点或指数部分,或者在数字后带有字母 F 或 f(float)、D 或d(double),则该数字为浮点数。Java 实用教程4.逻辑类逻辑类boolean 数据类型有两种值:true 和 false。例如:boolean flag=true;上述语句声明变量 flag 为 boolean 类型,它被赋予的值为true。Java 实用教程2.2.2 变量与常量变量与常量 常量是指整个运行过程中不再发生变化的量,例如数学中的=3.1415,在程序中需要设置成常量。而变量是指程序的运行过程中发生变化的量,通常用来存储中间结果,或者输出临时值。变量的声明也指变量的创建。执

29、行变量声明语句时,系统根据变量的数据类型在内存中开辟相应的存储空间并赋予初始值。变量有一个作用范围,超出它声明语句所在的块就无效。Java 实用教程 下面看一个使用各种类型变量声明并改变的示例。程序中 pi 为常量,s1、i1、l1、ch1、f1、d1、b1 为全局变量,可以在方法 change 中发生改变,然后在方法 main 中输出。而 s2、i2、l2、ch2、f2、d2、b2 是方法 main 的局部变量,它们的作用范围只局限于方法 main 中。【例 2.2】测试不同数据类型的变量,程序输出如图 2.2所示。源程序代码如下:/程序文件名称为 SetVariable.javapubli

30、c class SetVariable/全局变量Java 实用教程static 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(String args)Java 实用教程/局部变量short s2=35;int i2=-32;long l2=34555L;char ch2=A;float f2=897.89F;doub

31、le d2=34.345;boolean b2=false;/输出常量System.out.println(数学常量 pi=+pi);/输出局部变量Java 实用教程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(双精度型变量

32、 d2=+d2);System.out.println(布尔型变量 b2=+b2);/调用方法修改全局变量的值Java 实用教程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.println(双精度型变量

33、d1=+d1);System.out.println(布尔型变量 b1=+b1);Java 实用教程 /方法:修改全局变量的值 public static void change()s1=125;i1=88;l1=987654321L;ch1=B;f1=3.2590F;d1=-1.04E-5;b1=true;Java 实用教程图 2.2 变量输出结果Java 实用教程2.3 运算符和表达式运算符和表达式 Java 常用的运算符分为五类:算术运算符、赋值运算符、关系运算符、布尔逻辑运算符、位运算符。位运算符除了简单的按位操作外,还有移位操作。按位操作返回布尔值。表达式是由常量、变量、对象、方法调

34、用和操作符组成的式子。表达式必须符合一定的规范,才可被系统理解、编译和运行。表达式的值就是对表达式自身运算后得到的结果。根据运算符的不同,表达式相应地分为以下几类:算术表达式、关系表达式、逻辑表达式、赋值表达式,这些都属于数值表达式。Java 实用教程2.3.1 算术运算符及算术表达式算术运算符及算术表达式Java 中常用的算术运算符如下:+加运算符-减运算符*乘运算符/除运算符%取模运算(除运算的余数)+增量运算符 -减量运算符 Java 实用教程 【例【例 2.3】测试运算符及表达式,程序输出如图 2.3 所示。源程序代码如下:/程序文件名称为 NumberOper.javapublic

35、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;Java 实用教程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 的值System.out.println(a+b=+r1);System.out.println(a-b=+r2);Java 实用教程System

36、.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);Java 实用教程图 2.3 程序输出结果Java 实用教程2.3.2 关系运算符关系运算符 关系运算符用于比较两个数据之间的大小关系,关系运算表达式返回布尔值,即“真”或“假”。Java 中的常用关系运算符如下:=等于!=不等

37、于大于=大于等于 b;r4=a=b;r6=a b=+r3);System.out.println(a=b=+r5);System.out.println(a=b=+r6);Java 实用教程图 2.4 程序输出结果Java 实用教程2.3.3 布尔逻辑运算符布尔逻辑运算符表表 2.3 布尔运算符及规则布尔运算符及规则运算符 含 义 示 例 规 则!取反!a a为真时,结果为假;a为假时,结果为真&非简洁与 a&b a、b都为真时,结果为真;a、b有一个为假时,结果为假|非简洁或 a|b a、b有一个为真时,结果为真;a、b都为假时,结果为假 异或 a b a、b不同真假时结果为真;a、b同真或

38、同假时,结果为假&简洁与 a&b a、b都为真时,结果为真;a、b有一个为假时,结果为假|简洁或 a|b a、b有一个为真时,结果为真;a、b都为假时,结果为假 Java 实用教程 图 2.3 为布尔逻辑运算符及其规则示例等。其中简洁与和简洁或的执行结果分别与非简洁与和非简洁或的执行结果是一致的,不同在于简洁与检测出符号左端的值为假时,不再判断符号右端的值,直接将运算结果置为假;而简洁或与非简洁或的不同在于简洁或检测出符号左端为真时,不再判断符号右端的值,直接将运算结果置为真。例如:Boolean a=false;Boolean b=true;a&b 检测到 a 为假,则无需判断 b 的值,直

39、接将值置为假;而 b|a 时检测到 b 为真,则无需判断 a 的值,直接将值置为真。Java 实用教程 【例 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;/计算结果Java 实用教程r1=!a;r2=a&b;r3=a|b;r4=a b;r5=a&b;r6=a|b;/输出

40、结果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);Java 实用教程图 2.5 程序输出结果Java 实用教程2.3.4 位运算符位运算符Java 中的常用位运算符如下:位求反&按位与|按位或按位异或右移不带符号右移 右移运算符对应的表达式为 xa,运算

41、的结果是操作数 x 被 2 的 a 次方来除,左移运算符对应的表达式为 xa,运算的结果是操作数 x 乘以 2 的 a 次方。Java 实用教程 【例 2.6】测试位运算符 ,程序输出结果如图 2.6 所示。源程序代码如下:/程序文件名称为 TestBit.javapublic class TestBitpublic static void main(String args)/变量初始化int a=36;int b=2;/定义结果变量int r1,r2;Java 实用教程/计算结果r1=a b;r2=a b=+r1);System.out.println(ab=+r2);Java 实用教程图

42、2.6 程序输出结果Java 实用教程2.3.5 赋值运算符赋值运算符 赋值运算符分为简单运算符和复杂运算符。简单运算符指“=”,而复杂运算符是指算术运算符、逻辑运算符、位运算符中的双目运算符后面再加上“=”。表 2.4 列出 Java常用的赋值运算符及其等价表达式。Java 实用教程表表 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&=与并赋值运算符

43、 a&=b a=a&b|=或并赋值运算符 a|=b a=a|b=或并赋值运算符 a=b a=a b=左移并赋值运算符 a=b a=a=右移并赋值运算符 a=b a=a b=右移并赋值运算符 a=b a=a b Java 实用教程2.3.6 其它操作符及其表达式其它操作符及其表达式 三目运算符(?:)相当于条件判断,表达式 x?y:z 用于判断 x 是否为真,如果为真,表达式的值为 y,否则表达式的值为 z。例如:int x=5;int a=(x3)?5:3;则 a 的值为 5。如果 x=2,则 a 的值为 3。Java 实用教程 对象运算符(instanceof)用来判断一个对象是否属于某个指

44、定的类或其子类的实例,如果是,返回真(true),否则返回假(false)。例如:boolean b=userObject instanceof Applet用来判断 userObject 类是否是 Applet 类的实例。Java 实用教程2.3.7 优先级优先级表表 2.5 运算符优先级运算符优先级优先级 含义描述 运 算 符 结合性 1 分隔符 ();,2 单目运算、字符串运算+-+-!(类型转换符)*右到左 3 算术乘除运算*/%左到右 4 算术加减运算+-左到右 5 移位运算 左到右 6 大小关系运算、类运算 =instanceof 左到右 7 相等关系运算=!=左到右 8 按位与,

45、非简洁与&左到右 9 按位异或运算 左到右 10 按位或,非简洁或|左到右 11 简洁与&左到右 12 简洁或|左到右 13 三目条件运算?:*右到左 14 简单、复杂赋值运算=*=/=%=+=&=|=*右到左 Java 实用教程2.4 流 程 控 制流 程 控 制 流程控制分为三种基本结构:顺序结构、分支结构和循环结构。顺序结构是指命令行顺序执行,这是最常见的一个格式;分支结构是一种选择结构,根据条件的值选择不同的执行流程,可以得到不同的结果。分支结构包括单分支语句(if-else 语句)和多分支语句(switch 语句);循环结构是指对于一些重复执行的语句,用户指定条件或次数,由机器自动识

46、别执行。循环结构包括次数循环语句(for 语句)和条件循环语句(while 语句)。Java 实用教程2.4.1 分支语句分支语句分支语句分为两类:单分支语句和多选语句。1.if-else 语句语句if-else 语句的基本格式为:if(布尔表达式)语句或块 1;else语句或块 2;Java 实用教程 其中:(1)布尔表达式返回值为 true 或 false。(2)如果为 true,则执行语句或块 1,执行完毕跳出 if-else语句。(3)如果为 false,则跳过语句或块 1,然后执行 else 下的语句或块 2。Java 实用教程 【例 2.7】测试 if-else 语句,如果 x10

47、,则输出 x 的值,并提示结果正确,否则输出 x=10,提示结果不正确。程序输出结果如图 2.7 所示。源程序代码如下:/程序文件名称为 TestIf.javapublic class TestIf/声明全局变量 xstatic int x;public static void main(String args)x=12;if(x10)Java 实用教程 System.out.println(x=+x+结果正确);else System.out.println(x=10+结果不正确);change();System.out.println(修改 x 的值之后);if(x10)System.ou

48、t.println(x=+x+结果正确);elseSystem.out.println(x=10+结果不正确);Java 实用教程/change 方法:修改 x 的值public static void change()x=5;Java 实用教程图 2.7 程序输出结果Java 实用教程2.switch 语句switch 语句的基本格式为:switch(表达式 1)case 表达式 2:语句或块 2;break;case 表达式 3:语句或块 3;break;case 表达式 4:语句或块 4;break;default:语句或块 5;break;Java 实用教程其中:(1)表达式 1 的值

49、必须与整型兼容。(2)case分支要执行的程序语句。(3)表达式 2、3、4 是可能出现的值。(4)不同的 case 分支对应着不同的语句或块序列。(5)break表示跳出这一分支。Java 实用教程 【例 2.8】测试 switch 语句,当 x=1、2、3 时,分别打印 1、2、3,x 不为这三个值时,打印 x 的值。程序输出结果如图 2.8 所示。源程序代码如下:/程序文件名称为 TestSwitch.javapublic class TestSwitchpublic static void main(String args)/声明变量 xint x;x=12;Java 实用教程Syst

50、em.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)Java 实用教程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);Java 实用教程图 2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com